-
-
Notifications
You must be signed in to change notification settings - Fork 36
/
build-output.sh
53 lines (47 loc) · 2.35 KB
/
build-output.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
#!/bin/bash
set -ex
# Set a few environment variables that are not set due to
# https://github.com/conda/conda-build/issues/3993
export PIP_NO_BUILD_ISOLATION=True
export PIP_NO_DEPENDENCIES=True
export PIP_IGNORE_INSTALLED=True
export PIP_NO_INDEX=True
export PYTHONDONTWRITEBYTECODE=True
# need to use force to reinstall the tests the second time
# (otherwise pip thinks the package is installed already)
pip install dist/scipy*.whl --force-reinstall
# delete tests from baseline output "scipy"
if [[ "$PKG_NAME" == "scipy" ]]; then
# verify $RECIPE_DIR/test_folders_to_delete.txt is up to date;
# it's enough to do this on one platform
if [[ "${target_platform}" == "linux-64" ]]; then
# validating this is important because windows does not have
# a good dynamic command like 'find ... -name tests -type d',
# and we're using this file to do the deletions on windows.
find ${SP_DIR}/scipy -name tests -type d -printf '%p\n' \
| sort -k1 | sed "s:${SP_DIR}/scipy/::g" > testfolders
echo "Test folders to be deleted:"
cat testfolders
# diff returns error code if there are differences
diff $RECIPE_DIR/test_folders_to_delete.txt testfolders
# same procedure for extra test DLLs/SOs; as above, but additionally, replace
# ABI tag with a marker (here it's helpful this branch is only for linux-64)
find ${SP_DIR}/scipy -regex ".*_c?y?test.*\.so" -printf '%p\n' \
| sort -k1 | sed "s:${SP_DIR}/scipy/::g" \
| sed "s:.cpython-${PY_VER//./}-x86_64-linux-gnu.so:SUFFIX_MARKER:g" \
> testlibs
echo "Test libraries to be deleted:"
cat testlibs
if [[ $python_impl == "cpython" ]] ; then
# don't try on pypy; has different tag so the above sed doesn't apply
diff $RECIPE_DIR/test_libraries_to_delete.txt testlibs
fi
fi
# do the actual deletion
find ${SP_DIR}/scipy -name tests -type d | xargs rm -r
# different syntax for regex on osx ('\x2d\x45'=='-E'; else echo insists it's a flag)
OSX_EXTRA="$([[ ${target_platform} == osx-* ]] && echo -e '\x2d\x45' || echo '')"
find ${OSX_EXTRA} ${SP_DIR}/scipy -regex ".*_c?y?test.*\.so" | xargs rm
# copy "test" with informative error message into installation
cp $RECIPE_DIR/test_conda_forge_packaging.py $SP_DIR/scipy/_lib
fi