From 4278dc68a36829c06102b5d0bef3ab68fd682c93 Mon Sep 17 00:00:00 2001 From: Oliver Sander <oliver.sander@tu-dresden.de> Date: Sat, 7 May 2016 07:56:20 +0200 Subject: [PATCH] Make output logging work in the Python testsuite By using the same mechanism as in the shell script: piping everything through the 'tee' program. This may not be the most elegant way from a Python standpoint, but it seems to work. Since now my Python testsuite seems to do everything the shell version did, this commit also removes the shell version. --- .../testsuite.py | 23 ++++-- .../testsuite.sh | 76 ------------------- 2 files changed, 16 insertions(+), 83 deletions(-) delete mode 100755 harmonicmaps-skyrmions-eoc-testsuite/testsuite.sh diff --git a/harmonicmaps-skyrmions-eoc-testsuite/testsuite.py b/harmonicmaps-skyrmions-eoc-testsuite/testsuite.py index 0b186e6e..53ec99d6 100644 --- a/harmonicmaps-skyrmions-eoc-testsuite/testsuite.py +++ b/harmonicmaps-skyrmions-eoc-testsuite/testsuite.py @@ -14,9 +14,11 @@ for order in range(1,4): ## run the actual simulation executable = "./harmonicmaps-" + str(order) - p = subprocess.Popen([executable, "harmonicmaps-skyrmions-hexagon.parset", "-numLevels", str(numLevels)]) + #p = subprocess.Popen([executable, "harmonicmaps-skyrmions-hexagon.parset", "-numLevels", str(numLevels)]) + p = subprocess.Popen(executable + " harmonicmaps-skyrmions-hexagon.parset -numLevels " + str(numLevels) + " | tee " + LOGFILE, shell=True) processList.append(p) + # Wait for all simulation subprocesses before proceeding to the error measurement step exit_codes = [p.wait() for p in processList] subprocess.call(["echo", "Now measuring errors"]) @@ -26,11 +28,18 @@ for order in range(1,4): # Measure the discretization errors against the solution on the finest grid LOGFILE = "./compute-disc-error_" + str(order) + "_" + str(numLevels) + ".log" - subprocess.Popen(["../build-cmake/src/compute-disc-error", "compute-disc-error-skyrmions-hexagon.parset", - "-order", str(order), - "-numLevels", str(numLevels), - "-numReferenceLevels", str(maxLevel), - "-simulationData", "harmonicmaps-result-" + str(order) + "-" + str(numLevels) + ".data", - "-referenceData", "harmonicmaps-result-" + str(order) + "-" + str(maxLevel) + ".data"]) + #subprocess.Popen(["../build-cmake/src/compute-disc-error", "compute-disc-error-skyrmions-hexagon.parset", + #"-order", str(order), + #"-numLevels", str(numLevels), + #"-numReferenceLevels", str(maxLevel), + #"-simulationData", "harmonicmaps-result-" + str(order) + "-" + str(numLevels) + ".data", + #"-referenceData", "harmonicmaps-result-" + str(order) + "-" + str(maxLevel) + ".data"]) + subprocess.Popen("../build-cmake/src/compute-disc-error compute-disc-error-skyrmions-hexagon.parset" + + " -order " + str(order) + + " -numLevels " + str(numLevels) + + " -numReferenceLevels " + str(maxLevel) + + " -simulationData harmonicmaps-result-" + str(order) + "-" + str(numLevels) + ".data" + + " -referenceData harmonicmaps-result-" + str(order) + "-" + str(maxLevel) + ".data" + + " | tee " + LOGFILE, shell=True) diff --git a/harmonicmaps-skyrmions-eoc-testsuite/testsuite.sh b/harmonicmaps-skyrmions-eoc-testsuite/testsuite.sh deleted file mode 100755 index dbef4aed..00000000 --- a/harmonicmaps-skyrmions-eoc-testsuite/testsuite.sh +++ /dev/null @@ -1,76 +0,0 @@ -#!/bin/bash - -set -e - -runComputation(){ - -numLevels=$1 -order=$2 - -LOGFILE="./harmonicmaps_${order}_${numLevels}.log" - -# run the actual simulation -./harmonicmaps-${order} harmonicmaps-skyrmions-hexagon.parset -numLevels ${numLevels} | tee ${LOGFILE} - -} - - -MAXPROCS=1 - -order=1 -numReferenceLevels=10 - -for numLevels in $(seq 5 ${numReferenceLevels}); do - - # Do one simulation run - runComputation $numLevels ${order} - - # Measure the discretization errors against the solution on the finest grid - LOGFILE="./compute-disc-error_${order}_${numLevels}.log" - - ../build-cmake/src/compute-disc-error compute-disc-error-skyrmions-hexagon.parset \ - -order ${order} \ - -numLevels ${numLevels} \ - -numReferenceLevels ${numReferenceLevels} \ - -simulationData harmonicmaps-result-${order}-${numLevels}.data \ - -referenceData harmonicmaps-result-${order}-${numReferenceLevels}.data | tee ${LOGFILE} -done - -order=2 -numReferenceLevels=9 - -for numLevels in $(seq 4 ${numReferenceLevels}); do - - # Do one simulation run - runComputation $numLevels $order - - # Measure the discretization errors against the solution on the finest grid - LOGFILE="./compute-disc-error_${order}_${numLevels}.log" - - ../build-cmake/src/compute-disc-error compute-disc-error-skyrmions-hexagon.parset \ - -order ${order} \ - -numLevels ${numLevels} \ - -numReferenceLevels ${numReferenceLevels} \ - -simulationData harmonicmaps-result-${order}-${numLevels}.data \ - -referenceData harmonicmaps-result-${order}-${numReferenceLevels}.data | tee ${LOGFILE} -done - -order=3 -numReferenceLevels=8 - -for numLevels in $(seq 3 $numReferenceLevels); do - - # Do one simulation run - runComputation $numLevels $order - - # Measure the discretization errors against the solution on the finest grid - LOGFILE="./compute-disc-error_${order}_${numLevels}.log" - - ../build-cmake/src/compute-disc-error compute-disc-error-skyrmions-hexagon.parset \ - -order ${order} \ - -numLevels ${numLevels} \ - -numReferenceLevels ${numReferenceLevels} \ - -simulationData harmonicmaps-result-${order}-${numLevels}.data \ - -referenceData harmonicmaps-result-${order}-${numReferenceLevels}.data | tee ${LOGFILE} -done - -- GitLab