Open nickbianco opened 9 months ago
List created with hacky script:
import os
import itertools
srcdir = 'C:\\Users\\adamk\\Desktop\\opensim-core\\OpenSim'
all = []
for root, subdirs, files in os.walk(srcdir):
for file in files:
if file.lower().startswith('test') and file.lower().endswith('cpp'):
p = os.path.relpath(os.path.join(root, file), srcdir)
all.append(p)
for k, g in itertools.groupby(all, lambda el: el.split(os.path.sep)[0]):
print(f'- [ ] {k}{os.path.sep}')
for el in g:
rest = os.path.sep.join(el.split(os.path.sep)[1:])
print(f' - [ ] {rest}')
@adamkewley I added some tests under /Vendors
that your script missed.
Current testing in OpenSim uses a variety of implementations and code styles. Most of the tests for Moco use
Catch2
, and since the Moco merge, we've been sporadically converting OpenSim tests to this new framework. This epic proposes that we convert all the OpenSim tests toCatch2
to unify the testing suite, speed up development (i.e., isolating and re-running only failed tests), and make adding new tests easy. This should be a "many hands make light work" approach, where we divide up the tests to be converted across several individual issues that separate members of the dev team can tackle.Tasks
Phase 1: Convert existing code to minimally use Catch
For each
.cpp
file in the list below:#include <catch2/catch_all.hpp>
TEST_CASE("test name")
main
function (catch
automates calling each case)Phase 2: Update any build/contribution guides to mention the change
CMake
macros (if needed)CONTRIBUTING.MD
with guidelines for writingCatch2
tests (and links toCatch2
docs)Phase 3: Improve assertions and test framework usage
For each
cpp
file in the list below:Auxiliary
orCommon
(i.e., removeOpenSim/Moco/Test/Testing.h
Phase 1 CPP todo List