State of the art
Warning: these page describes features that are not yet implemented.
At the moment of this writing, the code can only be found in the trunk branch, in STK/Unit Launchpad project. diagnostix is scheduled for 1.1, and it will not be included in the official 1.0 tree. However, it should be possible to download diagnostix from trunk and run it.
None of this feature is tested with Oracle MySQL at this point, but it should mostly work.
Here is the development state of the art:
- test_checkup: in progress
- test_lint: some tests done
Current code is developed on MariaDB 5.5 and 10.0. test_checkup TC contains references to variables that don't exists in oldest versions and in Oracle MySQL, so its installation is expected to fail.
About diagnostix
Diagnostix is a family of tests for STK/Unit. Diagnostix includes the following Test Cases:
- test_checkup - Reports problems which can occur during the server's lifetime
- test_lint - Reports possible problems in tables structures
- test_security - Reports inefficient users and rights management.
A Test Suite called diagnostix can be used to run all these Test Cases.
Running diagnostix can be useful, because it finds potential problems. However, only simple general rules are used to identify possible problems. The Real World is much more complex than any manual, and those general rules often don't apply. So, when analyzing the problems reported by diagnostix, users should answer to a question for each fail: "Does this rule make sense for my database?".
But diagnostix also serves as a set of examples. It shows how non-conventional unit tests can be created in relational databases.