mirror of
https://github.com/github/codeql.git
synced 2025-12-16 16:53:25 +01:00
Merge branch 'main' into redsun82/rust-cli-flags
This commit is contained in:
@@ -7,26 +7,21 @@ export RUST_BACKTRACE=full
|
||||
QLTEST_LOG="$CODEQL_EXTRACTOR_RUST_LOG_DIR"/qltest.log
|
||||
|
||||
EXTRACTOR="$CODEQL_EXTRACTOR_RUST_ROOT/tools/$CODEQL_PLATFORM/extractor"
|
||||
echo > lib.rs
|
||||
for src in *.rs; do
|
||||
echo -e "[workspace]\n\n[package]\nname = \"test\"\nversion=\"0.0.1\"\n[lib]\npath=\"$src\"\n" > Cargo.toml
|
||||
env=()
|
||||
opts=("$src")
|
||||
opts+=($(sed -n '1 s=//codeql-extractor-options:==p' $src))
|
||||
expected_status=$(sed -n 's=//codeql-extractor-expected-status:[[:space:]]*==p' $src)
|
||||
expected_status=${expected_status:-0}
|
||||
env+=($(sed -n '1 s=//codeql-extractor-env:==p' $src))
|
||||
echo >> $QLTEST_LOG
|
||||
echo "env ${env[@]} $EXTRACTOR ${opts[@]}" >> "$QLTEST_LOG"
|
||||
env "${env[@]}" "$EXTRACTOR" "${opts[@]}" >> $QLTEST_LOG 2>&1
|
||||
actual_status=$?
|
||||
if [[ $actual_status != $expected_status ]]; then
|
||||
FAILED=1
|
||||
fi
|
||||
echo "mod ${src%.rs};" >> lib.rs
|
||||
done
|
||||
|
||||
rm -rf Cargo.*
|
||||
|
||||
if [ -n "$FAILED" ]; then
|
||||
cat > Cargo.toml << EOF
|
||||
[workspace]
|
||||
[package]
|
||||
name = "test"
|
||||
version="0.0.1"
|
||||
edition="2021"
|
||||
[lib]
|
||||
path="lib.rs"
|
||||
EOF
|
||||
"$EXTRACTOR" *.rs >> "$QLTEST_LOG"
|
||||
if [[ "$?" != 0 ]]; then
|
||||
cat "$QLTEST_LOG" # Show compiler errors on extraction failure
|
||||
exit 1
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user