NAME
Smolder::DB::SmokeReport
DESCRIPTION
Class::DBI based model class for the 'smoke_report' table in the database.
METHODS
ACCESSSOR/MUTATORS
Each column in the borough table has a method with the same name that can be used as an accessor and mutator.
The following columns will return objects instead of the value contained in the table:
- added
-
A DateTime object representing the datetime stored.
- developer
-
The Smolder::DB::Developer object who added this report
- project
-
The Smolder::DB::Project object that this report is about
OBJECT METHODS
add_tag
This method will add a tag to a given smoke report
$report->add_tag('foo');
delete_tag
This method will remove a tag from a given smoke report
$report->delete_tag('foo');
tags
Returns a list of all of tags that have been added to this smoke report. (in the smoke_report_tag table).
# returns a simple list of scalars
my @tags = $report->tags();
data_dir
The directory in which the data files for this report reside. If it doesn't exist it will be created.
file
This returns the file name of where the full report file for this smoke report does (or will) reside. If the directory does not yet exist, it will be created.
html
A reference to the HTML text of this Test Report.
html_test_detail
This method will return the HTML for the details of an individual test file. This is useful when you only need the details for some of the test files (such as an AJAX request).
It receives one argument, which is the index of the test file to show.
tap_stream
This method will return the file name that holds the recorded TAP stream given the index of that stream.
delete_files
This method will delete all of the files that can be created and stored in association with a smoke test report (the 'data_dir' directory). It will croak
if the files can't be deleted for some reason. Returns true if all is good.
summary
Returns a text string summarizing the whole test run.
total_percentage
Returns the total percentage of passed tests.
CLASS METHODS
upload_report
This method will take the name of the uploaded file and the project it's being added, and various other details and process them. If everything is successful then the resulting Smolder::DB::SmokeReport object will be returned.
If the given file is compressed, it will be uncompressed before being processed. After all processing is done, the details file will also be compressed.
It takes the following named arguments
- file
-
The full path to the uploaded file. This is required.
- project
-
The Smolder::DB::Project object that this report is being associated with. This is required.
- developer
-
The Smolder::DB::Developer who is uploading this file. If none is given, then the anonymous guest account will be used. This is optional.
- architecture
-
The architecture this test was run on. This is optional.
- platform
-
The platform this test was run on. This is optional.
- comments
-
Any comments associated with this report. This is optional.
update_all_report_html
Look at all existing reports in the database and regenerate the HTML for each of these reports. This is useful for development and also upgrading when the report HTML template files have changed and you want that change to propagate.