diff --git a/tests/test-recipes/split-packages/copying_files/bld.bat b/tests/test-recipes/split-packages/copying_files/bld.bat index 669f40c37f..7f2662de04 100644 --- a/tests/test-recipes/split-packages/copying_files/bld.bat +++ b/tests/test-recipes/split-packages/copying_files/bld.bat @@ -4,3 +4,10 @@ echo "weee" > %PREFIX%\somedir\subpackage_file1 echo "weee" > %PREFIX%\subpackage_file1.ext echo "weee" > %PREFIX%\subpackage_file2.ext echo "weee" > %PREFIX%\subpackage_file3.ext + +echo "weee" > %PREFIX%\subpackage_include_exclude1 +mkdir %PREFIX%\somedir +echo "weee" > %PREFIX%\somedir\subpackage_include_exclude1 +echo "weee" > %PREFIX%\subpackage_include_exclude1.ext +echo "weee" > %PREFIX%\subpackage_include_exclude2.ext +echo "weee" > %PREFIX%\subpackage_include_exclude3.ext diff --git a/tests/test-recipes/split-packages/copying_files/build.sh b/tests/test-recipes/split-packages/copying_files/build.sh index 54e8406082..debae1f48e 100644 --- a/tests/test-recipes/split-packages/copying_files/build.sh +++ b/tests/test-recipes/split-packages/copying_files/build.sh @@ -7,3 +7,15 @@ echo "weee" > $PREFIX/somedir/subpackage_file1 echo "weee" > $PREFIX/subpackage_file1.ext echo "weee" > $PREFIX/subpackage_file2.ext echo "weee" > $PREFIX/subpackage_file3.ext + +# The files used to test the two subpackages must be disjoint because they are +# coinstalled +# test copying filename +echo "weee" > $PREFIX/subpackage_include_exclude1 +# test copying by folder name +mkdir $PREFIX/somedir +echo "weee" > $PREFIX/somedir/subpackage_include_exclude1 +# test glob patterns +echo "weee" > $PREFIX/subpackage_include_exclude1.ext +echo "weee" > $PREFIX/subpackage_include_exclude2.ext +echo "weee" > $PREFIX/subpackage_include_exclude3.ext diff --git a/tests/test-recipes/split-packages/copying_files/meta.yaml b/tests/test-recipes/split-packages/copying_files/meta.yaml index dbee9668e3..e0a640c65e 100644 --- a/tests/test-recipes/split-packages/copying_files/meta.yaml +++ b/tests/test-recipes/split-packages/copying_files/meta.yaml @@ -11,17 +11,17 @@ outputs: - name: my_script_subpackage_files build: ignore_run_exports_from: - - dav1d + - libpng requirements: host: - - dav1d=1.2.1 + - libpng=1.6.39 files: - subpackage_file1 - somedir - "*.ext" # Libs should match because they are in the prefix - - "lib/libdav1d*" # [unix] - - "Library/bin/dav1d*" # [win] + - "lib/libpng*" # [unix] + - "Library/bin/libpng*" # [win] test: script: subpackage_test.py script_interpreter: python @@ -34,7 +34,7 @@ outputs: - dav1d=1.2.1 files: include: - - subpackage_file1 + - subpackage_include_exclude1 - somedir - "*.ext" # Libs should not match because they come from a different package diff --git a/tests/test-recipes/split-packages/copying_files/subpackage_test.py b/tests/test-recipes/split-packages/copying_files/subpackage_test.py index 29f39fc22d..0fbb987c8f 100644 --- a/tests/test-recipes/split-packages/copying_files/subpackage_test.py +++ b/tests/test-recipes/split-packages/copying_files/subpackage_test.py @@ -1,7 +1,43 @@ import os +if os.getenv('PKG_NAME') == 'my_script_subpackage_files': + + file_basename = 'subpackage_file1' + + external_host_file = 'lib/libpng16.so' + if 'osx' in os.getenv('target_platform', ''): + external_host_file = 'lib/libpng16.dylib' + if 'win' in os.getenv('target_platform', ''): + external_host_file = 'Library/bin/libpng16.dll' + + filename = os.path.join(os.environ['PREFIX'], f'{file_basename}3.ext') + assert os.path.isfile(filename) + print('glob files OK') + + filename = os.path.join(os.environ['PREFIX'], external_host_file) + assert os.path.isfile(filename) + print('glob files prefix OK') + +if os.getenv('PKG_NAME') == 'my_script_subpackage_include_exclude': + + file_basename = 'subpackage_include_exclude1' + + external_host_file = 'lib/libdav1d.so.6' + if 'osx' in os.getenv('target_platform', ''): + external_host_file = 'lib/libdav1d.6.dylib' + if 'win' in os.getenv('target_platform', ''): + external_host_file = 'Library/bin/dav1d.dll' + + filename = os.path.join(os.environ['PREFIX'], f'{file_basename}3.ext') + assert not os.path.isfile(filename) + print('glob exclude OK') + + filename = os.path.join(os.environ['PREFIX'], external_host_file) + assert not os.path.isfile(filename) + print('glob exclude prefix OK') + print(os.getenv('PREFIX')) -filename = os.path.join(os.environ['PREFIX'], 'subpackage_file1') +filename = os.path.join(os.environ['PREFIX'], f'{file_basename}1') assert os.path.isfile(filename) contents = open(filename).read().rstrip() if hasattr(contents, 'decode'): @@ -9,7 +45,7 @@ assert 'weee' in contents, 'incorrect file contents: %s' % contents print('plain file OK') -filename = os.path.join(os.environ['PREFIX'], 'somedir', 'subpackage_file1') +filename = os.path.join(os.environ['PREFIX'], 'somedir', f'{file_basename}1') assert os.path.isfile(filename), filename + ' is missing' contents = open(filename).read().rstrip() if hasattr(contents, 'decode'): @@ -17,41 +53,17 @@ assert 'weee' in contents, 'incorrect file contents: %s' % contents print('subfolder file OK') -filename = os.path.join(os.environ['PREFIX'], 'subpackage_file1.ext') +filename = os.path.join(os.environ['PREFIX'], f'{file_basename}1.ext') assert os.path.isfile(filename) contents = open(filename).read().rstrip() if hasattr(contents, 'decode'): contents = contents.decode() assert 'weee' in contents, 'incorrect file contents: %s' % contents -filename = os.path.join(os.environ['PREFIX'], 'subpackage_file2.ext') +filename = os.path.join(os.environ['PREFIX'], f'{file_basename}2.ext') assert os.path.isfile(filename) contents = open(filename).read().rstrip() if hasattr(contents, 'decode'): contents = contents.decode() assert 'weee' in contents, 'incorrect file contents: %s' % contents print('glob OK') - -external_host_file = 'lib/libdav1d.so.6' -if 'osx' in os.getenv('target_platform', ''): - external_host_file = 'lib/libdav1d.6.dylib' -if 'win' in os.getenv('target_platform', ''): - external_host_file = 'Library/bin/dav1d.dll' - -if os.getenv('PKG_NAME') == 'my_script_subpackage_files': - filename = os.path.join(os.environ['PREFIX'], 'subpackage_file3.ext') - assert os.path.isfile(filename) - print('glob files OK') - - filename = os.path.join(os.environ['PREFIX'], external_host_file) - assert os.path.isfile(filename) - print('glob files prefix OK') - -if os.getenv('PKG_NAME') == 'my_script_subpackage_include_exclude': - filename = os.path.join(os.environ['PREFIX'], 'subpackage_file3.ext') - assert not os.path.isfile(filename) - print('glob exclude OK') - - filename = os.path.join(os.environ['PREFIX'], external_host_file) - assert not os.path.isfile(filename) - print('glob exclude prefix OK')