diff --git a/lib/spack/spack/test/data/directory_search/c/libb.so b/lib/spack/spack/test/data/directory_search/c/libb.so deleted file mode 100644 index e69de29bb2d..00000000000 diff --git a/lib/spack/spack/test/data/directory_search/c/a.h b/lib/spack/spack/test/data/directory_search/include/a/a.h similarity index 100% rename from lib/spack/spack/test/data/directory_search/c/a.h rename to lib/spack/spack/test/data/directory_search/include/a/a.h diff --git a/lib/spack/spack/test/data/directory_search/b/d.h b/lib/spack/spack/test/data/directory_search/include/a/d.h similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/d.h rename to lib/spack/spack/test/data/directory_search/include/a/d.h diff --git a/lib/spack/spack/test/data/directory_search/a/c.h b/lib/spack/spack/test/data/directory_search/include/a/foo.txt similarity index 100% rename from lib/spack/spack/test/data/directory_search/a/c.h rename to lib/spack/spack/test/data/directory_search/include/a/foo.txt diff --git a/lib/spack/spack/test/data/directory_search/b/b.h b/lib/spack/spack/test/data/directory_search/include/b/b.h similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/b.h rename to lib/spack/spack/test/data/directory_search/include/b/b.h diff --git a/lib/spack/spack/test/data/directory_search/c/bar.txt b/lib/spack/spack/test/data/directory_search/include/b/bar.txt similarity index 100% rename from lib/spack/spack/test/data/directory_search/c/bar.txt rename to lib/spack/spack/test/data/directory_search/include/b/bar.txt diff --git a/lib/spack/spack/test/data/directory_search/a/foobar.txt b/lib/spack/spack/test/data/directory_search/include/c/baz.txt similarity index 100% rename from lib/spack/spack/test/data/directory_search/a/foobar.txt rename to lib/spack/spack/test/data/directory_search/include/c/baz.txt diff --git a/lib/spack/spack/test/data/directory_search/a/libc.a b/lib/spack/spack/test/data/directory_search/include/c/c.h similarity index 100% rename from lib/spack/spack/test/data/directory_search/a/libc.a rename to lib/spack/spack/test/data/directory_search/include/c/c.h diff --git a/lib/spack/spack/test/data/directory_search/a/libc.dll b/lib/spack/spack/test/data/directory_search/lib/a/foo.txt similarity index 100% rename from lib/spack/spack/test/data/directory_search/a/libc.dll rename to lib/spack/spack/test/data/directory_search/lib/a/foo.txt diff --git a/lib/spack/spack/test/data/directory_search/b/liba.a b/lib/spack/spack/test/data/directory_search/lib/a/liba.a similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/liba.a rename to lib/spack/spack/test/data/directory_search/lib/a/liba.a diff --git a/lib/spack/spack/test/data/directory_search/b/liba.dll b/lib/spack/spack/test/data/directory_search/lib/a/liba.dll similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/liba.dll rename to lib/spack/spack/test/data/directory_search/lib/a/liba.dll diff --git a/lib/spack/spack/test/data/directory_search/b/liba.dylib b/lib/spack/spack/test/data/directory_search/lib/a/liba.dylib similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/liba.dylib rename to lib/spack/spack/test/data/directory_search/lib/a/liba.dylib diff --git a/lib/spack/spack/test/data/directory_search/b/liba.lib b/lib/spack/spack/test/data/directory_search/lib/a/liba.lib similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/liba.lib rename to lib/spack/spack/test/data/directory_search/lib/a/liba.lib diff --git a/lib/spack/spack/test/data/directory_search/b/libd.a b/lib/spack/spack/test/data/directory_search/lib/a/libd.a similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/libd.a rename to lib/spack/spack/test/data/directory_search/lib/a/libd.a diff --git a/lib/spack/spack/test/data/directory_search/b/libd.dll b/lib/spack/spack/test/data/directory_search/lib/a/libd.dll similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/libd.dll rename to lib/spack/spack/test/data/directory_search/lib/a/libd.dll diff --git a/lib/spack/spack/test/data/directory_search/b/libd.dylib b/lib/spack/spack/test/data/directory_search/lib/a/libd.dylib similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/libd.dylib rename to lib/spack/spack/test/data/directory_search/lib/a/libd.dylib diff --git a/lib/spack/spack/test/data/directory_search/b/libd.lib b/lib/spack/spack/test/data/directory_search/lib/a/libd.lib similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/libd.lib rename to lib/spack/spack/test/data/directory_search/lib/a/libd.lib diff --git a/lib/spack/spack/test/data/directory_search/a/libc.dylib b/lib/spack/spack/test/data/directory_search/lib/b/bar.txt similarity index 100% rename from lib/spack/spack/test/data/directory_search/a/libc.dylib rename to lib/spack/spack/test/data/directory_search/lib/b/bar.txt diff --git a/lib/spack/spack/test/data/directory_search/c/libb.a b/lib/spack/spack/test/data/directory_search/lib/b/libb.a similarity index 100% rename from lib/spack/spack/test/data/directory_search/c/libb.a rename to lib/spack/spack/test/data/directory_search/lib/b/libb.a diff --git a/lib/spack/spack/test/data/directory_search/c/libb.dll b/lib/spack/spack/test/data/directory_search/lib/b/libb.dll similarity index 100% rename from lib/spack/spack/test/data/directory_search/c/libb.dll rename to lib/spack/spack/test/data/directory_search/lib/b/libb.dll diff --git a/lib/spack/spack/test/data/directory_search/c/libb.dylib b/lib/spack/spack/test/data/directory_search/lib/b/libb.dylib similarity index 100% rename from lib/spack/spack/test/data/directory_search/c/libb.dylib rename to lib/spack/spack/test/data/directory_search/lib/b/libb.dylib diff --git a/lib/spack/spack/test/data/directory_search/c/libb.lib b/lib/spack/spack/test/data/directory_search/lib/b/libb.lib similarity index 100% rename from lib/spack/spack/test/data/directory_search/c/libb.lib rename to lib/spack/spack/test/data/directory_search/lib/b/libb.lib diff --git a/lib/spack/spack/test/data/directory_search/a/libc.lib b/lib/spack/spack/test/data/directory_search/lib64/c/baz.txt similarity index 100% rename from lib/spack/spack/test/data/directory_search/a/libc.lib rename to lib/spack/spack/test/data/directory_search/lib64/c/baz.txt diff --git a/lib/spack/spack/test/data/directory_search/a/libc.so b/lib/spack/spack/test/data/directory_search/lib64/c/libc.a similarity index 100% rename from lib/spack/spack/test/data/directory_search/a/libc.so rename to lib/spack/spack/test/data/directory_search/lib64/c/libc.a diff --git a/lib/spack/spack/test/data/directory_search/b/bar.txp b/lib/spack/spack/test/data/directory_search/lib64/c/libc.dll similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/bar.txp rename to lib/spack/spack/test/data/directory_search/lib64/c/libc.dll diff --git a/lib/spack/spack/test/data/directory_search/b/liba.so b/lib/spack/spack/test/data/directory_search/lib64/c/libc.dylib similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/liba.so rename to lib/spack/spack/test/data/directory_search/lib64/c/libc.dylib diff --git a/lib/spack/spack/test/data/directory_search/b/libd.so b/lib/spack/spack/test/data/directory_search/lib64/c/libc.lib similarity index 100% rename from lib/spack/spack/test/data/directory_search/b/libd.so rename to lib/spack/spack/test/data/directory_search/lib64/c/libc.lib diff --git a/lib/spack/spack/test/llnl/util/file_list.py b/lib/spack/spack/test/llnl/util/file_list.py index e2ff5a82109..99044890980 100644 --- a/lib/spack/spack/test/llnl/util/file_list.py +++ b/lib/spack/spack/test/llnl/util/file_list.py @@ -4,7 +4,7 @@ # SPDX-License-Identifier: (Apache-2.0 OR MIT) import fnmatch -import os.path +import pathlib import sys import pytest @@ -242,7 +242,7 @@ def test_add(self, header_list): #: Directory where the data for the test below is stored -search_dir = os.path.join(spack.paths.test_path, "data", "directory_search") +search_dir = pathlib.Path(spack.paths.test_path) / "data" / "directory_search" @pytest.mark.parametrize( @@ -257,7 +257,7 @@ def test_add(self, header_list): ], ) def test_library_type_search(lib_list, kwargs): - results = find_libraries(lib_list, search_dir, **kwargs) + results = find_libraries(lib_list, str(search_dir), **kwargs) assert len(results) != 0 for result in results: lib_type_ext = plat_shared_ext @@ -293,13 +293,17 @@ def test_library_type_search(lib_list, kwargs): (find_headers, ["a", "c"], search_dir, {"recursive": True}), (find_headers, ["c", "b", "a"], search_dir, {"recursive": True}), (find_headers, ["a", "c"], search_dir, {"recursive": True}), - (find_libraries, ["liba", "libd"], os.path.join(search_dir, "b"), {"recursive": False}), - (find_headers, ["b", "d"], os.path.join(search_dir, "b"), {"recursive": False}), + (find_libraries, ["liba", "libd"], search_dir / "lib" / "a", {"recursive": False}), + (find_headers, ["a", "d"], search_dir / "include" / "a", {"recursive": False}), ], ) def test_searching_order(search_fn, search_list, root, kwargs): + """Tests whether when multiple libraries or headers are searched for, like [a, b], the found + file list adheres to the same ordering: [a matches..., b matches...], which could be relevant + of the the order in which the libraries are passed to the linker in case there are + dependencies across static libraries.""" # Test search - result = search_fn(search_list, root, **kwargs) + result = search_fn(search_list, str(root), **kwargs) # The tests are set-up so that something is always found assert len(result) != 0