C2SM-RCM / testsuite

COSMO Technical Testsuite
MIT License
0 stars 1 forks source link

Error message ending in a crash #16

Closed PallasKat closed 4 years ago

PallasKat commented 6 years ago

When using a Compare object to compare YUPRTEST files it relies on a Yuprtest object. But when in use this object trigger a crash (and not an exception) if a specific case regarding the YUPRTEST occurs:

     Traceback (most recent call last):
       File "./src/./tools/../checkers/tolerance_check.py", line 81, in check
         c = Compare(yufile1, yufile2, thresh)
       File "./src/./tools/../checkers/../tools/ts_yuprtest.py", line 194, in __init__
         self._yu2 = Yuprtest(filename2)
       File "./src/./tools/../checkers/../tools/ts_yuprtest.py", line 53, in __init__
         self.__read_data()
       File "./src/./tools/../checkers/../tools/ts_yuprtest.py", line 65, in __read_data
         data = self.__parse_line(line, lineno)
       File "./src/./tools/../checkers/../tools/ts_yuprtest.py", line 84, in __parse_line
         ' on line number ' + str(lineno))
     AttributeError: 'Yuprtest' object has no attribute 'filename_'
     tolerance_check.py: 'Yuprtest' object has no attribute 'filename_'

The issue is that then the testsuite relies on that in the report and it end up signaling a crash as:

  [  CRASH   ] tolerance_check.py
  [    OK    ] output_tolerance_check.py
[   CRASH    ] RESULT crCLIM_2km/test_1_gpu: crCLIM 2km

despite the simulation ended it's computation correctly:

 CLEAN UP
  GPUINFO: DEALLOCATING fields on accelerator
       CLEANUP of DYNAMICS
       HP2C DYCORE FORTRAN: CLEANUP

Moreover it may have the consequence of skipping test depending on the wrong-CRASH-ed one. Unless it's the expected behavior I think the message is misleading and the testsuite should be corrected.

ofuhrer commented 4 years ago

It seems that this has been addressed by #17.