def test10_equivalence(): p1 = fs.path('../my_directory') assert fs.create_directory(p1) p2 = fs.path('././../././my_directory') assert not p1 == p2 assert fs.equivalent(p1, p2) assert fs.remove(p1)
def test04_navigation(): assert fs.path("dir 1" + sep + "dir 2") / path2 == \ fs.path("dir 1" + sep + "dir 2" + sep + "dir 3") assert (path1 / path2).parent_path() == path1 assert path1.parent_path().parent_path() == path_here # Parent of the single-element (e.g. ./) paths should be the empty path assert path_here_relative.parent_path().empty() assert path2.parent_path().empty()
def test09_system_specific_tests(): if platform_system == 'Windows': drive_letter_regexp = re.compile('^[A-Z]:') assert drive_letter_regexp.match(str(path_here)) assert drive_letter_regexp.match(str(fs.absolute(path_here_relative))) assert fs.path('C:\\hello').is_absolute() assert fs.path('..\\hello').is_relative() # Both kinds of separators should be accepted assert fs.path('../hello/world').native() == '..\\hello\\world' else: assert str(path_here)[0] == '/' assert str(fs.absolute(path_here_relative))[0] == '/' assert fs.path('/hello').is_absolute() assert fs.path('./hello').is_relative()
def test01_path_status(): assert not fs.exists(fs.path("some random" + sep + "path")) assert fs.is_directory(path_here_relative) assert fs.is_directory(path_here_relative) assert not fs.is_regular_file(path_here_relative) assert fs.is_directory(path_here) assert fs.is_directory(path_here) assert not fs.is_regular_file(path_here)
def test06_filename(): assert fs.path("weird 'file'.ext").filename() == "weird 'file'.ext" assert fs.path("dir" + sep + "file.ext").filename() == "file.ext" assert fs.path("dir" + sep).filename() == "dir" assert (path_here / fs.path("file")).filename() == "file" assert empty_path.filename() == "" assert fs.path(".").filename() == "." assert fs.path("..").filename() == ".." assert fs.path("foo" + sep + ".").filename() == "." assert fs.path("foo" + sep + "..").filename() == ".."
def test03_create_and_remove_directory(): new_dir = path_here / fs.path("my_shiny_new_directory") assert fs.create_directory(new_dir) assert fs.exists(new_dir) assert fs.is_directory(new_dir) # Asking to create a directory that already exists should not be treated # as an error, and return true. assert fs.create_directory(new_dir) assert fs.remove(new_dir) assert not fs.exists(new_dir)
def test07_extension(): assert fs.path("dir" + sep + "file.ext").extension() == ".ext" assert fs.path("dir" + sep).extension() == "" assert (path_here / fs.path(".hidden")).extension() == ".hidden" assert empty_path.extension() == "" assert fs.path(".").extension() == "" assert fs.path("..").extension() == "" assert fs.path("foo" + sep + ".").extension() == "" assert fs.path("foo" + sep + "..").extension() == "" # Replace extension assert empty_path.replace_extension(".ext") == empty_path assert fs.path(".").replace_extension(".ext") == fs.path(".") assert fs.path("..").replace_extension(".ext") == fs.path("..") assert fs.path("foo.bar").replace_extension(".ext") == fs.path("foo.ext") assert fs.path("foo.bar").replace_extension(fs.path(".ext")) == \ fs.path("foo.ext") assert fs.path("foo").replace_extension(".ext") == fs.path("foo.ext") assert fs.path("foo.bar").replace_extension("none") == fs.path("foo.none") assert fs.path(sep + "foo" + sep + "bar.foo").replace_extension(".jpg") == \ fs.path(sep + "foo" + sep + "bar.jpg")
def test05_comparison(): assert fs.path("file1.ext") == fs.path("file1.ext") assert not (fs.path("file1.ext") == fs.path("another.ext"))
def test00_empty_path(): assert empty_path.empty() assert empty_path.is_relative() assert empty_path.parent_path() == fs.path("..") assert not path_here_relative.empty()
import platform import re import enoki as ek import pytest import mitsuba mitsuba.set_variant('scalar_rgb') from mitsuba.core import filesystem as fs from mitsuba.core.filesystem import preferred_separator as sep path_here_relative = fs.path("." + sep) path_here = fs.current_path() path1 = path_here / fs.path("dir 1" + sep + "dir 2" + sep) path2 = fs.path("dir 3") platform_system = platform.system() empty_path = fs.path() empty_path.clear() def test00_empty_path(): assert empty_path.empty() assert empty_path.is_relative() assert empty_path.parent_path() == fs.path("..") assert not path_here_relative.empty() def test01_path_status(): assert not fs.exists(fs.path("some random" + sep + "path"))