The program is modeled after the OSCAR Wizard where you have a few main steps that get you to an end result.
For OSCAR Bench there are 5 distinct steps:
- Selection
- [script] pre_configure
- Configuration
- Review
- [script] post_configure
- Execution
- [script] post_execute
- Results
- pre_configure
- Prepare any default configuration
- post_configure
- Take the user input and do any final processing on it before the benchmark is executed.
- post_execute
- Prepare the results
The code is being written in 3 distinct layers
- Top level Modules
- OSCARBench
- OSCARBench::Benchmark
- Interfaces
- OSCARBench::Benchmark::Detect
- OSCARBench::Benchmark::Configuration
- OSCARBench::Benchmark::Results
- Lower Level Tools
- XMLParser, XML Validator, Database Connectivity, Utilities
Well that stuff is boring and very academic, so onto the cool stuff...... pictures!

The selector page showing the HPCC benchmark, and HPL. I have not entered the descriptions so they just show as blank ><. I will likely remove the 'Help' Tab as that was from a pre-Wizard GUI.

I need to determine good classifications for each benchmark. I also need to figure out how to get Qt to launch a webrowser instead of trying to parse HTML links itself. It is not visible now, but On The Web contains a collection of links to more information. My view is: There are many very smart people that have written information on these tools, rather than try and compete with them, I would rather direct the user to those resources.


The configuration and results pages both appear empty since I am still working with the Config panel. Anyone know how to break a Qt Layout and add elements via a loop? For some reason I get no error yet they do not show -- very likely I am forgeting a key setting, but it will show up sooner or later!

The Execution panel is designed to be informative. 1st there is a progress bar, benchmarks can take on the order of hours to complete so signs that the system is not crashed are nice. 2nd the output of whatever the execute command executes is displayed in the window. This seperates OSCAR Bench output from Benchmark output. Like OSCAR the program spits out quite a bit of output to the command line depending on DEBUG settings. Also the Execute mechanism is designed to allow for a kill switch. The kill button kills the execution without killing the window. This may prove usefull to people who only want to see a few bits of a benchmark without letting it run its full course. Of course killing it will prevent any results from being displayed, but I think it makes the program a little more user friendly since its easy to tell what is going on.
Here you can see the output from an rpmbuild command. The ExecuteFrame is designed to be independent of OSCAR Bench it can execute anything, the only draw back is determining the steps/progress of the progress bar is nearly impossibly without having to write additional code. -- Anyone know a good way to solve this? Pass an arbitrary command to something and somehow determine how long it will take! I feel that is impossible, but ExecuteFrame has several public methods that allow you to control it from outside.
Well thats all for now, tomorrow should finish the Configuration panel. Then I need to work with the flow of execution more. Also I need to disable / enable the back/next buttons appropriately.
Well thats all for now, tomorrow should finish the Configuration panel. Then I need to work with the flow of execution more. Also I need to disable / enable the back/next buttons appropriately.
