incr/test_crate.sh
2022-11-05 00:35:55 +01:00

34 lines
No EOL
763 B
Bash
Executable file

#!/usr/bin/env bash
set -euo pipefail
CRATE="${1:-hyper}"
TOOLCHAIN="${TOOLCHAIN:-dev}"
echo "Testing $CRATE +$TOOLCHAIN"
cd $CRATE
function build() {
(cd "$CRATE" && perf record cargo "+$TOOLCHAIN" rustc --features=full --verbose -- -Zincremental-verify-ich -Zquery-dep-graph -Zdump-dep-graph --emit=metadata)
}
for patch in ./patches/* ; do
echo "Running fresh build..."
build
echo "Applying $patch..."
(cd "$CRATE" && git apply "../$patch")
export RUST_DEP_GRAPH="../dep_graph1"
export RUSTC_RED_NODES_PATH="../red1"
build
(cd "$CRATE" && git checkout HEAD .)
echo "Reverting $patch..."
export RUSTC_RED_NODES_PATH="../red2"
export RUST_DEP_GRAPH="../dep_graph2"
build
done