• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# ignore-cross-compile
2# needs-unwind
3include ../tools.mk
4
5# Test expected libtest's JSON output
6
7OUTPUT_FILE_DEFAULT := $(TMPDIR)/libtest-json-output-default.json
8OUTPUT_FILE_STDOUT_SUCCESS := $(TMPDIR)/libtest-json-output-stdout-success.json
9
10all: f.rs validate_json.py output-default.json output-stdout-success.json
11	$(RUSTC) --test f.rs
12	RUST_BACKTRACE=0 $(call RUN,f) -Z unstable-options --test-threads=1 --format=json > $(OUTPUT_FILE_DEFAULT) || true
13	RUST_BACKTRACE=0 $(call RUN,f) -Z unstable-options --test-threads=1 --format=json --show-output > $(OUTPUT_FILE_STDOUT_SUCCESS) || true
14
15	cat $(OUTPUT_FILE_DEFAULT) | "$(PYTHON)" validate_json.py
16	cat $(OUTPUT_FILE_STDOUT_SUCCESS) | "$(PYTHON)" validate_json.py
17
18	# Normalize the actual output and compare to expected output file
19	cat $(OUTPUT_FILE_DEFAULT) | sed 's/"exec_time": [0-9.]*/"exec_time": $$TIME/' | diff output-default.json -
20	cat $(OUTPUT_FILE_STDOUT_SUCCESS) | sed 's/"exec_time": [0-9.]*/"exec_time": $$TIME/' | diff output-stdout-success.json -
21