mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
36 lines
1.4 KiB
Bash
Executable File
36 lines
1.4 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -Eeuo pipefail # see https://vaneyckt.io/posts/safer_bash_scripts_with_set_euxo_pipefail/
|
|
|
|
set -x
|
|
|
|
CODEQL=${CODEQL:-codeql}
|
|
|
|
SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )"
|
|
cd "$SCRIPTDIR"
|
|
|
|
rm -rf dbs
|
|
rm -f *.actual
|
|
|
|
mkdir dbs
|
|
|
|
# NB: on our Linux CI infrastructure, `python` is aliased to `python3`.
|
|
WITHOUT_PYTHON2=$(pwd)/without-python2
|
|
WITHOUT_PYTHON3=$(pwd)/without-python3
|
|
|
|
echo "Test 1: Only Python 2 is available. Should fail."
|
|
# Note the negation at the start of the command.
|
|
! PATH="$WITHOUT_PYTHON3:$PATH" $CODEQL database create dbs/only-python2-no-flag --language python --source-root repo_dir/
|
|
|
|
echo "Test 2: Only Python 3 is available. Should extract using Python 3 and use the Python 3 standard library."
|
|
PATH="$WITHOUT_PYTHON2:$PATH" $CODEQL database create dbs/without-python2 --language python --source-root repo_dir/
|
|
$CODEQL query run --database dbs/without-python2 query.ql > query.without-python2.actual
|
|
diff query.without-python2.expected query.without-python2.actual
|
|
|
|
echo "Test 3: Python 2 and 3 are both available. Should extract using Python 3, but use the Python 2 standard library."
|
|
$CODEQL database create dbs/python2-using-python3 --language python --source-root repo_dir/
|
|
$CODEQL query run --database dbs/python2-using-python3 query.ql > query.python2-using-python3.actual
|
|
diff query.python2-using-python3.expected query.python2-using-python3.actual
|
|
|
|
rm -f *.actual
|