mps icon indicating copy to clipboard operation
mps copied to clipboard

New developers don't always know the appropriate name and location for new tests

Open thejayps opened this issue 2 years ago • 1 comments

There are several non-straightforward conventions to do with writing and organising tests. Most of these conventions seem to be from the early pre-Ravenbrook years of the MPS:

  • There are different types of tests: "stress", "regression", "coverage", "MMQA" etc..
  • There's still a desire to maintain aspects of these conventions for consistency, e.g. to sort tests into "MMQA" vs other tests e.g. https://github.com/Ravenbrook/mps/pull/223/files#r1197848024
  • Some tests live with the core MPS in the same directory (eg stress tests, coverage tests etc). Some of these have suffixes ("ss" for stress test, "cv" for coverage, "test", although sometimes "test" denotes a library of utility for testing)
  • Some tests have numbers as filenames eg "1.c"
  • It's not clear where a test should live if it fulfills 2 functions - eg it's both MMQA and "normal" in its function. Where should it live? Should it exist at all, or be split in 2?

We need to either document the conventions clearly, (eg with a flowchart or decision tree), or reorganise the tests in a more intuitive way (expensive, but could be a good investment). Or both.

thejayps avatar Jun 12 '23 19:06 thejayps

Work to fix the documentation for developers is optional. Redesigning the test structure is probably nice

thejayps avatar Jun 26 '23 09:06 thejayps