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.
This commit is contained in:
Jon Siwek 2012-01-27 11:01:50 -06:00
parent f6f9dd952f
commit 0065cf6148
3 changed files with 10 additions and 8 deletions

View file

@ -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.*

View file

@ -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*

View file

@ -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 $@