| @@ -1,194 +0,0 @@ | |||||
| #!/bin/bash | |||||
| #Remove test directory if present, then make a new one | |||||
| rm -r ../../OpenBLAS-buildtests | |||||
| mkdir ../../OpenBLAS-buildtests | |||||
| #Store path to current directory for later use | |||||
| startpath=$(pwd) | |||||
| #First do a build using the default settings | |||||
| mkdir ../../OpenBLAS-buildtests/default | |||||
| cp -r ../* ../../OpenBLAS-buildtests/default/ | |||||
| cd ../../OpenBLAS-buildtests/default/ | |||||
| make | |||||
| if [ $? -ne 0 ]; then | |||||
| echo "TEST ERROR: build failed" | |||||
| exit -127 | |||||
| fi | |||||
| default_hash=$(shasum libopenblas.so) | |||||
| cd "$startpath" | |||||
| #Manual target should yield the same binary as the default | |||||
| mkdir ../../OpenBLAS-buildtests/manual_target | |||||
| cp -r ../* ../../OpenBLAS-buildtests/manual_target/ | |||||
| cp Makefile.rule_manual_target ../../OpenBLAS-buildtests/manual_target/Makefile.rule | |||||
| cd ../../OpenBLAS-buildtests/manual_target/ | |||||
| make | |||||
| if [ $? -ne 0 ]; then | |||||
| echo "TEST ERROR: build failed" | |||||
| exit -127 | |||||
| fi | |||||
| manual_target_hash=$(shasum libopenblas.so) | |||||
| cd "$startpath" | |||||
| #DYNAMIC_ARCH = 0 should yield the same binary as the default | |||||
| mkdir ../../OpenBLAS-buildtests/dynarch_disabled | |||||
| cp -r ../* ../../OpenBLAS-buildtests/dynarch_disabled/ | |||||
| cp Makefile.rule_dynarch_disabled ../../OpenBLAS-buildtests/dynarch_disabled/Makefile.rule | |||||
| cd ../../OpenBLAS-buildtests/dynarch_disabled/ | |||||
| make | |||||
| if [ $? -ne 0 ]; then | |||||
| echo "TEST ERROR: build failed" | |||||
| exit -127 | |||||
| fi | |||||
| dynarch_disabled_hash=$(shasum libopenblas.so) | |||||
| cd "$startpath" | |||||
| #DYNAMIC_ARCH = 1 should yield a different binary | |||||
| mkdir ../../OpenBLAS-buildtests/dynarch_enabled | |||||
| cp -r ../* ../../OpenBLAS-buildtests/dynarch_enabled/ | |||||
| cp Makefile.rule_dynarch_enabled ../../OpenBLAS-buildtests/dynarch_enabled/Makefile.rule | |||||
| cd ../../OpenBLAS-buildtests/dynarch_enabled/ | |||||
| make | |||||
| if [ $? -ne 0 ]; then | |||||
| echo "TEST ERROR: build failed" | |||||
| exit -127 | |||||
| fi | |||||
| dynarch_enabled_hash=$(shasum libopenblas.so) | |||||
| cd "$startpath" | |||||
| #DYNAMIC_ARCH = 1 DYNAMIC_OLDER = 0 should be the same as DYNAMIC_ARCH = 1 | |||||
| mkdir ../../OpenBLAS-buildtests/dynarch_enabled_old_disabled | |||||
| cp -r ../* ../../OpenBLAS-buildtests/dynarch_enabled_old_disabled/ | |||||
| cp Makefile.rule_dynarch_enabled_old_disabled ../../OpenBLAS-buildtests/dynarch_enabled_old_disabled/Makefile.rule | |||||
| cd ../../OpenBLAS-buildtests/dynarch_enabled_old_disabled/ | |||||
| make | |||||
| if [ $? -ne 0 ]; then | |||||
| echo "TEST ERROR: build failed" | |||||
| exit -127 | |||||
| fi | |||||
| dynarch_enabled_old_disabled_hash=$(shasum libopenblas.so) | |||||
| cd "$startpath" | |||||
| #DYNAMIC_ARCH = 1 DYNAMIC_OLDER = 1 should be different | |||||
| mkdir ../../OpenBLAS-buildtests/dynarch_enabled_old_enabled | |||||
| cp -r ../* ../../OpenBLAS-buildtests/dynarch_enabled_old_enabled/ | |||||
| cp Makefile.rule_dynarch_enabled_old_enabled ../../OpenBLAS-buildtests/dynarch_enabled_old_enabled/Makefile.rule | |||||
| cd ../../OpenBLAS-buildtests/dynarch_enabled_old_enabled/ | |||||
| make | |||||
| if [ $? -ne 0 ]; then | |||||
| echo "TEST ERROR: build failed" | |||||
| exit -127 | |||||
| fi | |||||
| dynarch_enabled_old_enabled_hash=$(shasum libopenblas.so) | |||||
| cd "$startpath" | |||||
| #DYNAMIC_OLDER = 1 alone should be ignored | |||||
| mkdir ../../OpenBLAS-buildtests/old_enabled | |||||
| cp -r ../* ../../OpenBLAS-buildtests/old_enabled/ | |||||
| cp Makefile.rule_old_enabled ../../OpenBLAS-buildtests/old_enabled/Makefile.rule | |||||
| cd ../../OpenBLAS-buildtests/old_enabled/ | |||||
| make | |||||
| if [ $? -ne 0 ]; then | |||||
| echo "TEST ERROR: build failed" | |||||
| exit -127 | |||||
| fi | |||||
| old_enabled_hash=$(shasum libopenblas.so) | |||||
| cd "$startpath" | |||||
| #DYNAMIC_ARCH = 0 DYNAMIC_OLDER = 1 should be ignored | |||||
| mkdir ../../OpenBLAS-buildtests/dynarch_disabled_old_enabled | |||||
| cp -r ../* ../../OpenBLAS-buildtests/dynarch_disabled_old_enabled/ | |||||
| cp Makefile.rule_dynarch_disabled_old_enabled ../../OpenBLAS-buildtests/dynarch_disabled_old_enabled/Makefile.rule | |||||
| cd ../../OpenBLAS-buildtests/dynarch_disabled_old_enabled/ | |||||
| make | |||||
| if [ $? -ne 0 ]; then | |||||
| echo "TEST ERROR: build failed" | |||||
| exit -127 | |||||
| fi | |||||
| dynarch_disabled_old_enabled_hash=$(shasum libopenblas.so) | |||||
| cd "$startpath" | |||||
| #BINARY=64 should yield the same binary as the default | |||||
| mkdir ../../OpenBLAS-buildtests/bin64 | |||||
| cp -r ../* ../../OpenBLAS-buildtests/bin64/ | |||||
| cp Makefile.rule_bin64 ../../OpenBLAS-buildtests/bin64/Makefile.rule | |||||
| cd ../../OpenBLAS-buildtests/bin64/ | |||||
| make | |||||
| if [ $? -ne 0 ]; then | |||||
| echo "TEST ERROR: build failed" | |||||
| exit -127 | |||||
| fi | |||||
| bin64_hash=$(shasum libopenblas.so) | |||||
| cd "$startpath" | |||||
| #BINARY=32 should be different | |||||
| mkdir ../../OpenBLAS-buildtests/bin32 | |||||
| cp -r ../* ../../OpenBLAS-buildtests/bin32/ | |||||
| cp Makefile.rule_bin32 ../../OpenBLAS-buildtests/bin32/Makefile.rule | |||||
| cd ../../OpenBLAS-buildtests/bin32/ | |||||
| make | |||||
| if [ $? -ne 0 ]; then | |||||
| echo "TEST ERROR: build failed" | |||||
| exit -127 | |||||
| fi | |||||
| bin32_hash=$(shasum libopenblas.so) | |||||
| cd "$startpath" | |||||
| echo "$default_hash" | |||||
| echo "$manual_target_hash" | |||||
| echo "$dynarch_disabled_hash" | |||||
| echo "$dynarch_enabled_hash" | |||||
| echo "$dynarch_enabled_old_disabled_hash" | |||||
| echo "$dynarch_enabled_old_enabled_hash" | |||||
| echo "$old_enabled_hash" | |||||
| echo "$dynarch_disabled_old_enabled_hash" | |||||
| echo "$bin64_hash" | |||||
| echo "$bin32_hash" | |||||
| if [ "$default_hash" != "$manual_target_hash" ]; then | |||||
| echo "TEST ERROR: manual target changes binary" | |||||
| exit -1 | |||||
| fi | |||||
| if [ "$default_hash" != "$dynarch_disabled_hash" ]; then | |||||
| echo "TEST ERROR: DYNAMIC_ARCH = 0 changes binary" | |||||
| exit -2 | |||||
| fi | |||||
| if [ "$default_hash" = "$dynarch_enabled_hash" ]; then | |||||
| echo "TEST ERROR: DYNAMIC_ARCH = 1 does not change binary" | |||||
| exit -3 | |||||
| fi | |||||
| if [ "$dynarch_enabled_hash" != "$dynarch_enabled_old_disabled_hash" ]; then | |||||
| echo "TEST ERROR: DYNAMIC_ARCH = 1 is not the same as DYNAMIC_ARCH = 1 DYNAMIC_OLDER = 0" | |||||
| exit -4 | |||||
| fi | |||||
| if [ "$default_hash" = "$dynarch_enabled_old_enabled_hash" ]; then | |||||
| echo "TEST ERROR: DYNAMIC_ARCH = 1 DYNAMIC_OLDER = 1 does not change binary" | |||||
| exit -5 | |||||
| fi | |||||
| if [ "$dynarch_enabled_hash" = "$dynarch_enabled_old_enabled_hash" ]; then | |||||
| echo "TEST ERROR: DYNAMIC_ARCH = 1 is the same as DYNAMIC_ARCH = 1 DYNAMIC_OLDER = 1" | |||||
| exit -6 | |||||
| fi | |||||
| if [ "$default_hash" != "$old_enabled_hash" ]; then | |||||
| echo "TEST ERROR: DYNAMIC_OLDER = 1 alone changes binary" | |||||
| exit -7 | |||||
| fi | |||||
| if [ "$default_hash" != "$dynarch_disabled_old_enabled_hash" ]; then | |||||
| echo "TEST ERROR: DYNAMIC_ARCH = 0 DYNAMIC_OLDER = 1 changes binary" | |||||
| exit -8 | |||||
| fi | |||||
| if [ "$default_hash" != "$bin64_hash" ]; then | |||||
| echo "TEST ERROR: BINARY=64 changes binary" | |||||
| exit -9 | |||||
| fi | |||||
| if [ "$default_hash" = "$bin32_hash" ]; then | |||||
| echo "TEST ERROR: BINARY=32 does not change binary" | |||||
| exit -10 | |||||
| fi | |||||
| echo "All build tests passed. Yay!" | |||||
| exit 0 | |||||