Fix activated_path_skip on repeated running of emsdk_env.sh (#1250)

The first time around `node` was being correctly added to the PATH, but
the second time around this code was observing the emsdk copy of node
in the PATH and assuming it could be skipped.

Fixes: #1240
This commit is contained in:
Sam Clegg
2023-06-27 16:37:22 -07:00
committed by GitHub
parent 098a3ffa2c
commit c88612d6d3
3 changed files with 47 additions and 2 deletions

35
test/test_node_path.sh Executable file
View File

@@ -0,0 +1,35 @@
#!/usr/bin/env bash
echo "Test that node is added to that PATH if, and only if, it is not one already present".
if [ -n "$EMSDK" ]; then
echo "EMSDK is already defined in this shell. Run tests in a shell without sourcing emsdk_env.sh first"
exit 1
fi
DIR=$(dirname "$BASH_SOURCE")
cd $DIR/..
./emsdk install latest
./emsdk activate latest
if which node; then
echo "Test should be run without node in the path"
exit 1
fi
# Run emsdk_env.sh and confirm that node was added to the PATH
. emsdk_env.sh
if ! which node; then
echo "node not found in path after emsdk_env.sh"
exit 1
fi
# Run emsdk_env.sh again and confirm that node is still in the PATH
. emsdk_env.sh
if ! which node; then
echo "node not found in path after emsdk_env.sh"
exit 1
fi