Skip to content

Please add automated tests or more complete instructions for manual tests #6

@rouson

Description

@rouson

I believe some confusion might have been introduced by another reviewer specifically citing a lack of unit tests, whereas the JOSS [Review checklist] simply has a checkbox that reads "Automated tests: Are there automated tests or manual steps described so that the function of the software can be verified?" The tests do not necessary need to be unit tests. Even short integration tests would be useful, but I strongly recommend automating the test exectution. FEST-3D builds with cmake, which automatically includes ctest. I generally expect that building and testing a cmake project requires nothing more than

cmake ..
make -j 4
ctest

If you don't have automated tests, then I believe you need more explicit instructions for your manual tests. My attempt to run the lid-driven cavity test failed because I don't have numpy installed. Again, I'm not a Python programmer so I would appreciate having instructions similar to those you have for installing other prerequisites (sudo apt install numpy didn't work). Even better would be to have use cmake's capabilities for finding and/or downloading prerequisite packages.

Additional feedback that does not have to be addressed to close this issue:

Also, for any project of the size of FEST-3D, not only should it be possible to run the tests automatically at the command line, each new push of commits to the repository cause an automatic build and launch of the tests on each supported operating system. The [Travis-CI] continuous integration tool, for example, provides free cycles for running automated tests for open-source projects.

Finally, your reply to the other reviewer indicated that "it is rather difficult to write unit tests for FEST-3D code," but you gave no reason why. It's hard to imagine such a blanket statement being reasonable. I understand that it can be hard to develop new unit tests for pre-existing software, but this is release 1.0 and the commit history suggests that the original authors of the software are all still. I assume they know the software well enough to at least write some unit tests even, for example, for some of the simple utility procedures in the src/aux subdirectory. Having zero unit tests in software tackling something as complicated as compressible turbulent flow seems extreme. Moreover, a lack of unit tests makes it much harder for new contributors to know that they haven't broken anything with new contributions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions