sst-macro
sst-macro copied to clipboard
Unit testing overhaul
Here is a list of topics we can cover. The LLVM project has a lot of tools for these.
- Sanitizers
- Consensus seems to be Valgrind < Clang in terms of coverage and speed
- More complete unit tests
- Make a set of different TPLs/compiler versions/PDES types/OSes that should be tested
- Formatting standard
- Clang format tool suggested by Drew
- Fuzzing
- LLVM has libFuzzer
- Experts recommend running it continuously, not just when new code is added. This would fit in well with nightly testing.
- Code coverage
- Clang has a tool called 'Clang Coverage'
@jjwilke
@sknigh Before we do any of the things above (which are all great ideas), we need to figure out the platform issue. At this point, I don't think sst-core is going to do testing the way we want nor are they going to stand up a Jenkins solution we like. We really need to figure out how to run something like Jenkins ourselves on Simon.
Now that development has moved from macro to elements, this is unlikely to happen. Elements is still missing sanitizers, fuzzing, and code coverage, but those are eventually going to happen.