#!/usr/bin/env bash echo "test the standard workflow (as close as possible to how a user would do it, in the shell)" echo "machine: $(uname -m)" echo "kernel: $(uname -s)" set -x set -e # Test that arbitrary (non-released) versions can be installed and # activated. # This test cannot run on linux-arm64 because only certain binaries # get uploaded for this architecture. if [[ !($(uname -s) == "Linux" && $(uname -m) == "aarch64") ]]; then ./emsdk install sdk-upstream-1b7f7bc6002a3ca73647f41fc10e1fac7f06f804 ./emsdk activate sdk-upstream-1b7f7bc6002a3ca73647f41fc10e1fac7f06f804 source ./emsdk_env.sh which emcc emcc -v fi # Install an older version of the SDK that requires EM_CACHE to be # set in the environment, so that we can test it is later removed # This test only runs on x64 because we didn't build arm binaries # when this older version of the SDK was built. if [[ $(uname -m) == "x86_64" ]]; then ./emsdk install sdk-1.39.15 ./emsdk activate sdk-1.39.15 source ./emsdk_env.sh which emcc emcc -v test -n "$EM_CACHE" fi # Install the latest version of the SDK which is the expected precondition # of test.py. ./emsdk install latest ./emsdk activate latest source ./emsdk_env.sh --build=Release # Test that EM_CACHE was unset test -z "$EM_CACHE" # On mac and windows python3 should be in the path and point to the # bundled version. which python3 which emcc emcc -v