Update bench.out and bench.out.old only upon completion

Write output from the currently running benchmark into a temporary
file and move files around only once the current run is complete.
That way we don't lose data from the last two runs due to an
incomplete run.
This commit is contained in:
Siddhesh Poyarekar 2013-04-03 14:20:56 +05:30
parent 73e0cd5d0d
commit 90d5d5bbd8
2 changed files with 8 additions and 5 deletions

View File

@ -1,5 +1,7 @@
2013-04-03 Siddhesh Poyarekar <siddhesh@redhat.com>
* Rules (bench): Move bench.out after the run is complete.
* Rules (bench): Echo currently running benchmark.
* benchtests/Makefile (bench): Add atan and slowatan.

11
Rules
View File

@ -197,13 +197,14 @@ run-bench = $(test-wrapper-env) \
$($*-ENV) $(run-via-rtld-prefix) $${run}
bench: $(binaries-bench)
if [ -f $(objpfx)bench.out ]; then \
mv -f $(objpfx)bench.out $(objpfx)bench.out.old; \
fi
for run in $^; do \
echo "Running $${run}"; \
eval $(run-bench) >> $(objpfx)bench.out; \
done
eval $(run-bench) >> $(objpfx)bench.out-tmp; \
done; \
if [ -f $(objpfx)bench.out ]; then \
mv -f $(objpfx)bench.out $(objpfx)bench.out.old; \
fi; \
mv -f $(objpfx)bench.out-tmp $(objpfx)bench.out
$(binaries-bench): %: %.o \
$(sort $(filter $(common-objpfx)lib%,$(link-libc))) \