@@ -357,46 +357,42 @@ EXPECTED_pi = 3.1415926535897932384626433832795028841971693993751058209749445923
357
357
358
358
LOG_FILTER =sed -E '/^[0-9]{2}:[0-9]{2}:[0-9]{2} /d'
359
359
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
-
366
360
# $(1): rv32emu's extra CLI parameter
367
361
# $(2): ELF executable
368
362
# $(3): ELF executable name
369
363
# $(4): extra command in the pipeline
370
364
# $(5): expected output
371
365
define 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 \
375
371
$(call notice, [OK]) ; \
376
372
else \
377
373
$(PRINTF ) "Failed.\n"; \
378
374
exit 1; \
379
375
fi; \
380
- $(RM ) $( OUTPUT_FILE )
376
+ $(RM ) "$$ OUTPUT_FILE"
381
377
endef
382
378
383
379
check-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 ) )
385
381
386
382
check : $(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 ) ) ) )
388
384
389
385
EXPECTED_aes_sha1 = 89169ec034bec1c6bb2c556b26728a736d350ca3 -
390
386
misalign : $(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 ) )
392
388
393
389
EXPECTED_misalign = MISALIGNED INSTRUCTION FETCH TEST PASSED!
394
390
misalign-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 ) )
396
392
397
393
EXPECTED_mmu = STORE PAGE FAULT TEST PASSED!
398
394
mmu-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 ) )
400
396
401
397
# Non-trivial demonstration programs
402
398
ifeq ($(call has, SDL) , 1)
0 commit comments