blob: 97f2ae61155b5bd36dab6533d875de731d752bc5 [file] [log] [blame]
#!/bin/bash
set -e
set -x
# Bazel sets TEST_TMPDIR to a temporary directory for the test to use.
readonly GEN_DIR="$TEST_TMPDIR/generated_headers"
mkdir -p "$GEN_DIR"
# The script's working directory is the root of the runfiles tree.
# All data dependencies are available at their workspace-relative paths.
export PYTHONPATH=.
for emb_file in $(find testdata -maxdepth 1 -name "*.emb" -not -name "importer.emb" -not -name "importer2.emb" -not -name "imported_genfiles.emb"); do
base_name=$(basename "$emb_file")
ir_file="$TEST_TMPDIR/${base_name}.ir.json"
h_file="$GEN_DIR/${base_name}.h"
# Run the compiler.
python3 compiler/front_end/emboss_front_end.py --output-file "$ir_file" "$emb_file"
python3 compiler/back_end/cpp/emboss_codegen_cpp.py --input-file "$ir_file" --output-file "$h_file"
done
# Compare the generated files with the golden files.
echo "Comparing generated files to golden files..."
diff --brief --recursive --strip-trailing-cr --exclude="generate_golden_files.sh" "$GEN_DIR" "testdata/golden_cpp"