From baf1bdf732506723438acabc5f9715508ec453c9 Mon Sep 17 00:00:00 2001 From: Eric Wasylishen Date: Sun, 3 Oct 2021 19:26:40 -0600 Subject: [PATCH] testmaps: also check hashes of .prt files. run vis processes in parallel. --- testmaps/automatated_tests.sh | 12 +++++++++--- testmaps/qbsp.sha256sum | 11 +++++++++++ 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/testmaps/automatated_tests.sh b/testmaps/automatated_tests.sh index 3181d3de..6d7df2bc 100755 --- a/testmaps/automatated_tests.sh +++ b/testmaps/automatated_tests.sh @@ -47,6 +47,8 @@ e1m1-bspxbrushes.bsp \ e1m1-bsp29-onlyents.bsp \ qbspfeatures.bsp" +HASH_CHECK_PRTS=${HASH_CHECK_BSPS//.bsp/.prt} + qbsp -noverbose qbsp_func_detail.map || exit 1 qbsp -noverbose quake_map_source/E1M1.map e1m1-bsp29.bsp || exit 1 @@ -69,18 +71,22 @@ qbsp -onlyents E1M1-edited-ents.map e1m1-bsp29-onlyents.bsp || exit 1 qbsp -noverbose qbspfeatures.map || exit 1 if [[ $UPDATE_HASHES -ne 0 ]]; then - sha256sum ${HASH_CHECK_BSPS} > qbsp.sha256sum || exit 1 + sha256sum ${HASH_CHECK_BSPS} ${HASH_CHECK_PRTS} > qbsp.sha256sum || exit 1 else sha256sum --strict --check qbsp.sha256sum || exit 1 fi # now run vis -# FIXME: vis output is nondeterministic when run with multiple threads! +# since vis is slower, launch all as background processes, and then wait for all of them to finish +# FIXME: vis output is nondeterministic when run with multiple threads, so force 1 thread per process for bsp in ${HASH_CHECK_BSPS}; do - vis -nostate -threads 1 ${bsp} || exit 1 + vis -nostate -threads 1 ${bsp} & done +# we don't get the exit status this way, but the hash check will test the resulting visdata +wait + if [[ $UPDATE_HASHES -ne 0 ]]; then sha256sum ${HASH_CHECK_BSPS} > qbsp-vis.sha256sum || exit 1 else diff --git a/testmaps/qbsp.sha256sum b/testmaps/qbsp.sha256sum index ffe23378..76e0c844 100644 --- a/testmaps/qbsp.sha256sum +++ b/testmaps/qbsp.sha256sum @@ -9,3 +9,14 @@ d289427e3c8a7046dce509a83401f6732a9c5f8194f8beb3eee431e33215656c *e1m1-bsp29.bsp 015c5fb3f350dfb10c031ed3ae44b3e094fbde38c48dec0897d0710fcbc7666c *e1m1-bspxbrushes.bsp af7bc468d76aa1b11d1881a3378877059c6fd33fb37bea555d332e17d0e1e23c *e1m1-bsp29-onlyents.bsp 9f6db65a0c8a3eaa369deb3bb3168b5da69f23eb80a12788ff50d3c30b8a469a *qbspfeatures.bsp +9c3627864390dee7b9649cd48aeed00c16f8f5d33c5a6f8e0ce67c8f73cd4135 *qbsp_func_detail.prt +f7f0653499cff3b38bf053a2ccabebe22f3937baab9c50202dfa345a0ff49eb0 *e1m1-bsp29.prt +f7f0653499cff3b38bf053a2ccabebe22f3937baab9c50202dfa345a0ff49eb0 *e1m1-bsp2.prt +f7f0653499cff3b38bf053a2ccabebe22f3937baab9c50202dfa345a0ff49eb0 *e1m1-2psb.prt +f7f0653499cff3b38bf053a2ccabebe22f3937baab9c50202dfa345a0ff49eb0 *e1m1-hexen2.prt +f7f0653499cff3b38bf053a2ccabebe22f3937baab9c50202dfa345a0ff49eb0 *e1m1-hexen2-bsp2.prt +f7f0653499cff3b38bf053a2ccabebe22f3937baab9c50202dfa345a0ff49eb0 *e1m1-hexen2-2psb.prt +f7f0653499cff3b38bf053a2ccabebe22f3937baab9c50202dfa345a0ff49eb0 *e1m1-hlbsp.prt +f7f0653499cff3b38bf053a2ccabebe22f3937baab9c50202dfa345a0ff49eb0 *e1m1-bspxbrushes.prt +f7f0653499cff3b38bf053a2ccabebe22f3937baab9c50202dfa345a0ff49eb0 *e1m1-bsp29-onlyents.prt +2d19e6aad96e6887640427ecd1bfeb484f078090e935b3cce789300a8eb5ee3c *qbspfeatures.prt