Following the developers meeting today I began to generate a set of functions for regression testing. This should increase the stability of Red-R on different OS configurations because we will be able to deploy and test all packages on each configuration, isolate problems, and report them to developers.
The core of the functionality is in a new module named redRRegressionTest in canvas. This has a central function at the moment, test. Test is called by two new buttons in the Under the hood section of the options dialog. Testers can either do the entire test or simply test available packages depending on the needs of the developers.
Complete testing involves downloading and installing all packages on the Red-R repository. Then each package is tested by loading test schemas in the CoreTestExamples directory. Errors are collected into the log and the log can be viewed to see where errors are being generated. This should allow the tester simply to start the test and then walk away as several series of tests are made for loading and processing at least the init statements in each widget. This is a good test for widget opening and qtWidget loading. It is presumed that signal conversion will work on all configurations as this relies on Python.
This is only one part of Red-R regression testing as it does not yet test template loading, widget and template searching, updating, or saving. We will continue to work on testing these functions in future releases of Red-R.
I also made some updates to the search functionality so that the searchbar will perform more like commercial browsers.