This is an old revision of the document!


Integrating TET

[http://tetworks.opengroup.org/ TET] is a test execution framework from the Open Group.

  • Support for local, remote and distributed testing. Briefly,
    • In local testing, the test controller and the test cases run on the same system.
    • In remote testing, the test controller runs on a central system while the test cases run on a remote system, possibly one with a different OS version or CPU architecture than the one the test controller is running on.
    • In distributed testing, a given test case can execute on multiple systems simultaneously, in a synchronized way.
  • C, C++, Java, Perl, Python and Shell (KSH) APIs for writing test cases. These APIs are easy to use. (We'd probably only care about the C & C++ APIs.)
  • Excellent documentation.
  • Commercial support available in case someone building a product around FreeBSD wants to upgrade their test framework.
  • Finally, a BSD compatible open-source license.

We are missing a capable test framework in our source tree.

We currently keep a few unit tests and regression test cases under /usr/src/tools/regression/. These tests use ad-hoc ways to build and execute test cases. Test case reporting is also not standardized.

TET makes a set of assumptions about directory layout that do not fit well in the BSD world.

  • $TET_ROOT is assumed to contain binaries and control files for a TET run. We would probably want to keep TET and test suite binaries separate from the sources. For example, we might want to keep TET sources under /usr/src/contrib/ and have TET built in the way contributed code is usually built in FreeBSD – controlled by Makefiles under /usr/bin/ or /usr/sbin/.
  • We need to investigate whether test suites can be made to create their binaries under /usr/obj/${ARCH} as part of a make world.
  • Where would we 'install' test suites, under /usr/test/?

[To be filled in]

  • tetintegration.1149697404.txt.gz
  • Last modified: 2006/06/07 16:23
  • by JosephKoshy