def test_headers_directory_setter(): if sys.platform == "win32": root = r'C:\pfx\include\subdir' else: root = "/pfx/include/subdir" hl = fs.HeaderList([root + '/foo.h', root + '/bar.h']) # Set directories using a list hl.directories = [root] assert hl.directories == [root] # If it's a single directory it's fine to not wrap it into a list # when setting the property hl.directories = root assert hl.directories == [root] # Paths are normalized, so it doesn't matter how many backslashes etc. # are present in the original directory being used if sys.platform == "win32": # TODO: Test with \\'s hl.directories = "C:/pfx/include//subdir" else: hl.directories = '/pfx/include//subdir/' assert hl.directories == [root] # Setting an empty list is allowed and returns an empty list hl.directories = [] assert hl.directories == [] # Setting directories to None also returns an empty list hl.directories = None assert hl.directories == []
def test_headers_directory_setter(): hl = fs.HeaderList( ['/pfx/include/subdir/foo.h', '/pfx/include/subdir/bar.h']) # Set directories using a list hl.directories = ['/pfx/include/subdir'] assert hl.directories == ['/pfx/include/subdir'] # If it's a single directory it's fine to not wrap it into a list # when setting the property hl.directories = '/pfx/include/subdir' assert hl.directories == ['/pfx/include/subdir'] # Paths are normalized, so it doesn't matter how many backslashes etc. # are present in the original directory being used hl.directories = '/pfx/include//subdir/' assert hl.directories == ['/pfx/include/subdir'] # Setting an empty list is allowed and returns an empty list hl.directories = [] assert hl.directories == [] # Setting directories to None also returns an empty list hl.directories = None assert hl.directories == []
def test_computation_of_header_directories(list_of_headers, expected_directories): hl = fs.HeaderList(list_of_headers) assert hl.directories == expected_directories