... | @@ -27,6 +27,11 @@ _Output of the failed compilation_ |
... | @@ -27,6 +27,11 @@ _Output of the failed compilation_ |
|
|
|
|
|
## Failed tests
|
|
## Failed tests
|
|
|
|
|
|
|
|
As for the compilation, you can get more insight into the test results by clicking on the corresponding red cross.
|
|
|
|
|
|
|
|
![Capture_d_écran_de_2019-07-23_17-39-20](uploads/86fc414339aaee38f8d4672d3977bff9/Capture_d_écran_de_2019-07-23_17-39-20.png)
|
|
|
|
_Tests page_
|
|
|
|
|
|
There are two kinds of failed tests:
|
|
There are two kinds of failed tests:
|
|
|
|
|
|
### Hard Failure
|
|
### Hard Failure
|
... | @@ -38,42 +43,17 @@ It is shown by a red cross. it means that: |
... | @@ -38,42 +43,17 @@ It is shown by a red cross. it means that: |
|
* result files content do not match reference files,
|
|
* result files content do not match reference files,
|
|
* etc.
|
|
* etc.
|
|
|
|
|
|
In this case, click on the failed tests to get more details about the issue.
|
|
In this case, click on the failed tests until you get more details about the issue.
|
|
|
|
|
|
### Tolerance Issue
|
|
|
|
|
|
|
|
This problem is related to the results generated by the execution of Alya. Their value is different from the reference result file values enough to consider that the behavior of Alya is incorrect.
|
|
|
|
You have two options: tune the tolerance if you consider that it is too strict, or modify Alya such that the results are correct.
|
|
|
|
|
|
|
|
#### Tune the tolerance
|
|
|
|
|
|
|
|
This operation can be done modifying the `.json` associated with the test (tests are located in the tests directory of the svn directory).
|
|
|
|
In the section `comparisons` of the `.json` file, you will find a list of files that have to be compared.
|
|
|
|
For each file, there is a field "method" that is used to define how to compare the reference and the test result files.
|
|
|
|
|
|
|
|
##### "method": "absolute"
|
|
![Capture_d_écran_de_2019-07-23_17-42-38](uploads/a8d37c5e8d37639165e9ce3f5ad89320/Capture_d_écran_de_2019-07-23_17-42-38.png)
|
|
|
|
_This page shows the error type. You can investigate by looking to the corresponding alya, alya2pos and mpio2txt outputs._
|
|
|
|
|
|
This method compares the absolute difference between two values: `|base-test|`.
|
|
### Tolerance Issue
|
|
The field "diff": [float] contains the maximum-allowed difference between two values. If `|base-test| > diff`, the test fails.
|
|
|
|
|
|
|
|
##### "method": "relative"
|
|
|
|
|
|
|
|
This method compares the relative difference between two values: `|(test-base)/base|` or `|(test-base)/test|` if `base=0`. The field "diff": [float] contains the maximum-allowed difference.
|
|
|
|
|
|
|
|
##### "method": "rounding"
|
|
|
|
|
|
|
|
This method is a bit more tricky. It determines approximately the number of significant digits that are taken into account when doing the comparison. This number is defined by the field "tolerance" : [integer]. More exactly, the formula is the following: `diff=base*10^-tolerance` with diff used as for the method absolute, excepted if `tolerance=0`. In this case, no difference is allowed at all.
|
|
|
|
|
|
|
|
##### Choose the right values
|
|
|
|
|
|
|
|
The web page specific to each test file can help you tune the method parameters diff or tolerance:
|
|
It is shown by an orange cross.
|
|
|
|
|
|
* MaxAbsDiff corresponds to the maximum absolute difference detected
|
|
This problem is related to the results generated by the execution of Alya. Their value is different from the reference result file values enough to consider that the behavior of Alya is incorrect.
|
|
* MaxRelDiff corresponds to the maximum relative difference detected
|
|
You have two options: tune the tolerance if you consider that it is too strict, or modify Alya such that the results are correct. See the https://gitlab.bsc.es/alya/alya-testsuite/wikis/Manage-the-tolerances page to know how to manage the tolerances.
|
|
* MaxTol corresponds to the maximum tolerance detected
|
|
|
|
|
|
|
|
Generally speaking, we advise using the smallest possible value (biggest in the case of tolerance/rounding).
|
|
|
|
Start with the rounding method, which is more generic and fit with values of different ranges.
|
|
|
|
Correct tolerance is bigger than 6 (or 0 in the ideal case). If it's lower, you should use the absolute or the relative methods. If the differences remain significant, question yourself about the relevancy of your results.
|
|
|
|
|
|
|
|
|
|
|