trixi-framework / HOHQMesh

High Order Hex-Quad Mesh (HOHQMesh) package to automatically generate all-quadrilateral meshes with high order boundary information.
https://trixi-framework.github.io/HOHQMesh
Other
45 stars 8 forks source link

Propagate failed tests to exit code #3

Closed sloede closed 3 years ago

sloede commented 3 years ago

That is, if a test fails, now HOHQMesh fails with a non-zero exit code, making it easier to detect errors during CI testing.

Also amends -version flag to actually terminate.

codecov[bot] commented 3 years ago

Codecov Report

Merging #3 (7f473f3) into master (961f903) will decrease coverage by 0.00%. The diff coverage is 66.66%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master       #3      +/-   ##
==========================================
- Coverage   57.10%   57.09%   -0.01%     
==========================================
  Files          65       65              
  Lines        9462     9465       +3     
==========================================
+ Hits         5403     5404       +1     
- Misses       4059     4061       +2     
Flag Coverage Δ
unittests 57.09% <66.66%> (-0.01%) :arrow_down:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files Coverage Δ
Source/HOHQMeshMain.f90 45.61% <50.00%> (-0.69%) :arrow_down:
Source/Testing/MeshingTests.f90 93.58% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 961f903...7f473f3. Read the comment docs.

sloede commented 3 years ago

This the error output on Windows:

    -------------------------------------------------------------
    Summary of failed tests for test suite: ControlFile: Benchmarks/ControlFiles/AllFeatures.control
    11 failures out of    12 assertions.
    -------------------------------------------------------------
    Integer equality failed:
       number of elements
       Expected [1690], Got [1647]
    Integer equality failed:
       number of Nodes
       Expected [1835], Got [1792]
    Integer equality failed:
       number of Edges
       Expected [3525], Got [3439]
    Integer equality failed:
       number of bad elements
       Expected [2], Got [3]
    Double Precision equality failed:
       signed area
       Expected [0.30783800000000000], Got [0.31587506899605999]
    Double Precision equality failed:
       aspect ratio
       Expected [1.2250500000000000], Got [1.2334162486319105]
    Double Precision equality failed:
       condition number
       Expected [1.1475800000000000], Got [1.1524380540117851]
    Double Precision equality failed:
       edge ratio
       Expected [1.4420200000000001], Got [1.4572046460075048]
    Double Precision equality failed:
       jacobian
       Expected [0.23957600000000001], Got [0.24601121471317100]
    Double Precision equality failed:
       minimum angle
       Expected [74.632999999999996], Got [74.148890457032337]
    Double Precision equality failed:
       maximum angle
       Expected [107.65800000000000], Got [108.21491240771348]

@DavidAKopriva Any idea what might be causing this and why only on Windows?

DavidAKopriva commented 3 years ago

The windows version is generating a different mesh than the other versions. Is it on the same version of fortran? I did have an issue once where between different versions different branches were followed, leading to different sections of code being executed. Interesting that it is the new control file. I'll see if I can reproduce it with my old machine.

sloede commented 3 years ago

The windows version is generating a different mesh than the other versions. Is it on the same version of fortran?

Yes, on Windows we get gfortran 10.3 (https://github.com/trixi-framework/HOHQMesh/runs/2765558496?check_suite_focus=true#step:5:7), while on Ubuntu we have 10.2 (https://github.com/trixi-framework/HOHQMesh/runs/2765558411?check_suite_focus=true#step:5:4) and on macOS 10.3 again (https://github.com/trixi-framework/HOHQMesh/runs/2765558446?check_suite_focus=true#step:5:4).

DavidAKopriva commented 3 years ago

Then this will be hard to track down.

sloede commented 3 years ago

These changes are fine, the logic makes sense. The new optional argument doesn't need to be optional, i don't think. RunTests is a one-time only subroutine used in HOHQMesh only, so there are no, will there be no other calls to it.

OK, fixed in 7f473f3.

sloede commented 3 years ago

Let's continue the discussion about what might be broken in #4. I will merge this now such that at least we will see new tests failures for Ubuntu and macOS show up properly.