We are currently running various regular tests, both on emulators and real hardware. The results are generated in ATF (or maybe sometime later in Kuya) raw XML output format and then transformed via xslt into html. This is good enough to display single test run results, but does not provide any overview or comparison options across different test runs or architectures.
The target of this project is to provide a simple 'upload' utility, that takes the xml input and inserts it into a remote PostgresSQL database. Creating a suitable database schema and the xml loader/upload tool is the first half.
Second part is using the collected results to display some nice web pages showing statistics and allowing dedicated queries, comparable to the query pages of typical bug tracking systems.
This project has the following milestones, in this order:
- Create and test a database schema (suitable for multiple architectures, and later migration to Kuya)
- Create a tool to read the ATF xml data and insert it into a database. This will be the half term milestone.
- Create a web site providing basic browsing/search options for the database
- Enhance the upload tool (or create a second variant) for Kuya output. This part is optional
- Document the database schema, web site setup, and tool created.
A huge set of ATF xml data will be provided, we assume that the student creates the database environment for local testing themselves.
The result is planed to be deployed on TNF servers later, so it is of direct use for the community. This deployment is not part of the GSoC timeline.
Note that item (4) above needs proper evaluation before the database schema is created. Kuya already stores test results in a SQLite database, so the extract and upload utility likely will be simple, but the database schema is incompatible and a good migration plan is needed upfront.
During GSoC, this project will ignore deployment issues, which will need broader discussion and maybe changes to the tools - for example the finally deployed upload utility has to be part of the base installation, so may not be able to depend on PostgresSQL libraries. A pkgsrc based solution for milestone (2) is good enough for this project.