@@ -357,46 +357,42 @@ EXPECTED_pi = 3.1415926535897932384626433832795028841971693993751058209749445923
357357
358358LOG_FILTER =sed -E '/^[0-9]{2}:[0-9]{2}:[0-9]{2} /d'
359359
360- define exec
361- $(eval OUTPUT_FILE := $(shell mktemp) )
362- $(eval _ := $(shell LC_ALL=C $(BIN ) $(1 ) $(2 ) > $(OUTPUT_FILE ) ) )
363- $(eval RC := $(.SHELLSTATUS ) )
364- endef
365-
366360# $(1): rv32emu's extra CLI parameter
367361# $(2): ELF executable
368362# $(3): ELF executable name
369363# $(4): extra command in the pipeline
370364# $(5): expected output
371365define check-test
372- $(call exec, $(1 ) , $(2 ) )
373- $(Q )$(PRINTF ) "Running $(3 ) ... "; \
374- if [ 0 -eq $(RC ) ] && [ "$(strip $(shell cat $(OUTPUT_FILE ) | $(LOG_FILTER ) | $(4 ) ) ) " = "$(strip $(5 ) ) " ]; then \
366+ $(Q ) true; \
367+ $(PRINTF ) "Running $(3 ) ... "; \
368+ OUTPUT_FILE="$$(mktemp ) "; \
369+ if (LC_ALL=C $(BIN ) $(1 ) $(2 ) > "$$OUTPUT_FILE") && \
370+ [ "$$(cat "$$OUTPUT_FILE" | $(LOG_FILTER ) | $(4 ) ) " = "$(5 ) " ]; then \
375371 $(call notice, [OK]) ; \
376372else \
377373 $(PRINTF ) "Failed.\n"; \
378374 exit 1; \
379375fi; \
380- $(RM ) $( OUTPUT_FILE )
376+ $(RM ) "$$ OUTPUT_FILE"
381377endef
382378
383379check-hello : $(BIN )
384- $(call check-test, , $(OUT ) /hello.elf, hello.elf, uniq, $(EXPECTED_hello ) )
380+ $(call check-test, , $(OUT ) /hello.elf, hello.elf, uniq,$(EXPECTED_hello ) )
385381
386382check : $(BIN ) check-hello artifact
387- $(Q )$(foreach e, $(CHECK_ELF_FILES ) , $(call check-test, , $(OUT ) /riscv32/$(e ) , $(e ) , uniq, $(EXPECTED_$(e ) ) ) )
383+ $(Q )$(foreach e, $(CHECK_ELF_FILES ) , $(call check-test, , $(OUT ) /riscv32/$(e ) , $(e ) , uniq,$(EXPECTED_$(e ) ) ) )
388384
389385EXPECTED_aes_sha1 = 89169ec034bec1c6bb2c556b26728a736d350ca3 -
390386misalign : $(BIN ) artifact
391- $(call check-test, -m, $(OUT ) /riscv32/uaes, uaes.elf, $(SHA1SUM ) , $(EXPECTED_aes_sha1 ) )
387+ $(call check-test, -m, $(OUT ) /riscv32/uaes, uaes.elf, $(SHA1SUM ) ,$(EXPECTED_aes_sha1 ) )
392388
393389EXPECTED_misalign = MISALIGNED INSTRUCTION FETCH TEST PASSED!
394390misalign-in-blk-emu : $(BIN )
395- $(call check-test, , tests/system/alignment/misalign.elf, misalign.elf, tail -n 1, $(EXPECTED_misalign ) )
391+ $(call check-test, , tests/system/alignment/misalign.elf, misalign.elf, tail -n 1,$(EXPECTED_misalign ) )
396392
397393EXPECTED_mmu = STORE PAGE FAULT TEST PASSED!
398394mmu-test : $(BIN )
399- $(call check-test, , tests/system/mmu/vm.elf, vm.elf, tail -n 1, $(EXPECTED_mmu ) )
395+ $(call check-test, , tests/system/mmu/vm.elf, vm.elf, tail -n 1,$(EXPECTED_mmu ) )
400396
401397# Non-trivial demonstration programs
402398ifeq ($(call has, SDL) , 1)
0 commit comments