From 0065cf6148ab76ae9dceebba4dcdbe7e9b556e07 Mon Sep 17 00:00:00 2001 From: Jon Siwek Date: Fri, 27 Jan 2012 11:01:50 -0600 Subject: [PATCH] Fix mktemp portability issue affecting test coverage. (addresses #752) Also update Makefiles to behave better for brief targets and in absence of external test repos. --- testing/Makefile | 4 ++-- testing/btest/Makefile | 12 +++++++----- testing/scripts/btest-bg-run | 2 +- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/testing/Makefile b/testing/Makefile index 7a70748845..f65d5a1fef 100644 --- a/testing/Makefile +++ b/testing/Makefile @@ -12,8 +12,8 @@ make-brief: @for repo in $(DIRS); do (cd $$repo && make brief ); done coverage: - @cp btest/coverage.log `mktemp brocov.tmp.XXX` - @for f in external/*/coverage.log; do cp $$f `mktemp brocov.tmp.XXX`; done + @test -f btest/coverage.log && cp btest/coverage.log `mktemp brocov.tmp.XXX` || true + @for f in external/*/coverage.log; do test -f $$f && cp $$f `mktemp brocov.tmp.XXX` || true; done @echo "Complete test suite code coverage:" @./scripts/coverage-calc "brocov.tmp.*" coverage.log `pwd`/../scripts @rm -f brocov.tmp.* diff --git a/testing/btest/Makefile b/testing/btest/Makefile index e764dd2b15..a2ca30609a 100644 --- a/testing/btest/Makefile +++ b/testing/btest/Makefile @@ -2,14 +2,16 @@ DIAG=diag.log BTEST=../../aux/btest/btest -all: +all: cleanup # Showing all tests. - @rm -f $(DIAG) - @rm -f .tmp/script-coverage* @$(BTEST) -f $(DIAG) @../scripts/coverage-calc ".tmp/script-coverage*" coverage.log `pwd`/../../scripts -brief: +brief: cleanup # Brief output showing only failed tests. - @rm -f $(DIAG) @$(BTEST) -b -f $(DIAG) + @../scripts/coverage-calc ".tmp/script-coverage*" coverage.log `pwd`/../../scripts + +cleanup: + @rm -f $(DIAG) + @rm -f .tmp/script-coverage* diff --git a/testing/scripts/btest-bg-run b/testing/scripts/btest-bg-run index ec5497da7d..64a38b9759 100755 --- a/testing/scripts/btest-bg-run +++ b/testing/scripts/btest-bg-run @@ -4,4 +4,4 @@ # when collecting Bro script coverage statistics so that two independent # Bro processing don't try to write those usage statistics to the same file. -BRO_PROFILER_FILE=`mktemp -t script-coverage` $BTEST_PATH/btest-bg-run $@ +BRO_PROFILER_FILE=`mktemp $TMPDIR/script-coverage.XXXX` $BTEST_PATH/btest-bg-run $@