xbox_kernel_test_suite icon indicating copy to clipboard operation
xbox_kernel_test_suite copied to clipboard

Start using a unit testing framework

Open PatrickvL opened this issue 7 years ago • 1 comments

Unit testing offers:

  • Test suites
  • Fine-grained selection of tests to run
  • An optional GUI
  • Separation between setup, test and teardown
  • Ability to run multiple tests within a setup + teardown block
  • Progress information during, and statistics after a test run
  • Descriptive messages when a test encounters unexpected behaviour
  • Functions to test for expected results
  • Functions to test for exceptions
  • Functions to assert known breakage
  • Dynamic test generation (varying test conditions)
  • Saving test results
  • Comparing test results against others Etc.

By choosing the best testing framework right from the start, lots of frustration can be avoided, tests can be written much easier, and a costly switch can be avoided.

So: do some research for testing frameworks, experiment with a few of the most promising ones, and select one.

Then, supply enough samples to make it easier for others to join in, and document framework-specific rules.

PatrickvL avatar Jan 03 '18 23:01 PatrickvL

In earlier discussions between @Luca1991 and me, we came up with this list of related testing framework code:

  • https://github.com/wine-mirror/wine/blob/master/include/wine/test.h
  • https://github.com/wine-mirror/wine/tree/master/programs/winetest
  • https://github.com/wine-mirror/wine/tree/master/dlls/ntdll/tests
  • https://github.com/wine-mirror/wine/tree/master/dlls/kernel32/tests
  • https://github.com/mirror/reactos/tree/master/rostests/apitests/kernel32
  • https://github.com/mborgerson/xbtests?files=1

Those might help reaching this issue's goal

PatrickvL avatar Jan 04 '18 12:01 PatrickvL