Changes between Version 18 and Version 19 of GSoC/2014/TestingFrameworkForGRASS


Ignore:
Timestamp:
May 25, 2014, 9:17:56 PM (10 years ago)
Author:
wenzeslaus
Comment:

more on result directory structure

Legend:

Unmodified
Added
Removed
Modified
  • GSoC/2014/TestingFrameworkForGRASS

    v18 v19  
    204204There will be (at least one) top level summary page with percentages and links to subsections.
    205205
    206 It is not clear how to deal with libraries with subdirectories (such as `lib/vector/vedit/`) and groups of modules (such as `raster/simwe/`). Will each module have separate tests? Will the common library be tested (by programs/modules in case of C/C++, by standard tests in case of Python)? The rule of thumb would be to put all directories with `testsuite` directory on the same level. This is robust for any level of nesting and for directories having `testsuite` directory together with subdirectories having their own `testsuite` directories. In this system, a `testsuite` directory would be the only element and its attribute is the original directory in the code where it was discovered. Any higher level pages in report would have reconstruct the structure from these attributes. The advantage is that we can introduce different reconstructions with different simplifications, for example we can have `lib` (except for `lib/python`), `lib/python`, `vector`, etc. or we can have just everything on the same level, or just a selection (raster modules or everything useful for vectors from `lib`, `lib/python` and both raster and vector modules).
     206It is not clear how to deal with libraries with subdirectories (such as `lib/vector/vedit/`) and groups of modules (such as `raster/simwe/`). Will each module have separate tests? Will the common library be tested (by programs/modules in case of C/C++, by standard tests in case of Python)? The rule of thumb would be to put all directories with `testsuite` directory on the same level. This is robust for any level of nesting and for directories having `testsuite` directory together with subdirectories having their own `testsuite` directories. In this system, a `testsuite` directory would be the only element and its attribute is the original directory in the code where it was discovered. Any higher level pages in report would have reconstruct the structure from these attributes. The advantage is that we can introduce different reconstructions with different simplifications, for example we can have `lib` (except for `lib/python`), `lib/python`, `vector`, etc. or we can have just everything on the same level, or just a selection (raster modules or everything useful for vectors from `lib`, `lib/python` and both raster and vector modules). However, this does not mean that files for the report cannot be stored in the directory tree which will be a copy of directory tree where the test were found. This is quite straightforward way to store the path where the `testsuite` directory is from. The script preparing the report can then find all `testsuite` (or `testsuite-result` or `testresult`) directories in this new directory tree and handle the test results as described above.
     207
     208In the directory with the test result, there will be subdirectories for each test script/module with subdirectories for `TestCase` classes with subdirectories for their `test_` functions/methods. This most nested directory will contain all test details. The passed/failed test result can be stored here but it will be stored for sure stored on the more upper levels.
    207209
    208210We can introduce a rule that each test script/module can contain only one `TestCase` class which would simplify the tree. However, this is probably not needed because both the implementation and the representation can deal with this easily.