示例#1
0
文件: upgrade.php 项目: kitware/cdash
 AddTableField('buildgroup', 'type', 'varchar(20)', 'character varying(20)', 'Daily');
 AddTableField('build2grouprule', 'parentgroupid', 'int(11)', 'bigint', '0');
 // Support for pull request notifications.
 AddTableField('build', 'notified', 'tinyint(1)', 'smallint', '0');
 // Better caching of buildfailures.
 UpgradeBuildFailureTable('buildfailure', 'buildfailuredetails');
 AddTableIndex('buildfailure', 'detailsid');
 // Add key to label2test.
 // This speeds up viewTest API for builds with lots of tests & labels.
 AddTableIndex('label2test', 'testid');
 // Better caching of build & test time, particularly for parent builds.
 $query = 'SELECT configureduration FROM build LIMIT 1';
 $dbTest = pdo_query($query);
 if ($dbTest === false) {
     AddTableField('build', 'configureduration', 'float(7,2)', 'numeric(7,2)', '0.00');
     UpgradeConfigureDuration();
     UpgradeTestDuration();
 }
 // Distinguish build step duration from (end time - start time).
 $query = 'SELECT buildduration FROM build LIMIT 1';
 $dbTest = pdo_query($query);
 if ($dbTest === false) {
     AddTableField('build', 'buildduration', 'int(11)', 'integer', '0');
     UpgradeBuildDuration();
 }
 // Support for marking a build as "done".
 AddTableField('build', 'done', 'tinyint(1)', 'smallint', '0');
 // Add a unique uuid field to the build table.
 $uuid_check = pdo_query('SELECT uuid FROM build LIMIT 1');
 if ($uuid_check === false) {
     AddTableField('build', 'uuid', 'varchar(36)', 'character varying(36)', false);
示例#2
0
 public function testUpgradeDurations()
 {
     require_once dirname(__FILE__) . '/cdash_test_case.php';
     require_once 'include/common.php';
     require_once 'include/pdo.php';
     $retval = 0;
     // Get the ID of the parent Trilinos build that we will use to verify
     // that this upgrade was successful.
     $query = "SELECT id FROM build\n            WHERE name = 'Windows_NT-MSVC10-SERIAL_DEBUG_DEV' AND parentid=-1";
     $row = pdo_single_row_query($query);
     $id = qnum($row['id']);
     // Set build.configureduration to 0 for all builds.
     // This will force the upgrade function to recompute these values
     // based on configure start & end time.
     pdo_query('UPDATE build SET configureduration = 0');
     // Run the configure duration upgrade function.
     UpgradeConfigureDuration();
     // Make sure that our exemplar build has the value that we expect.
     $query = "SELECT configureduration FROM build WHERE id = {$id}";
     $row = pdo_single_row_query($query);
     if ($row['configureduration'] != 309.0) {
         $this->fail('Expected configure duration to be 309.00, found ' . $row['configureduration']);
         $retval = 1;
     }
     // Similarly test our buildduration upgrade function.
     $query = "SELECT buildduration FROM build WHERE id = {$id}";
     $row = pdo_single_row_query($query);
     $saved_build_duration = $row['buildduration'];
     pdo_query("UPDATE build SET buildduration = 0 WHERE id = {$id}");
     UpgradeBuildDuration($id);
     $row = pdo_single_row_query($query);
     if ($row['buildduration'] != 1383) {
         $this->fail('Expected build duration to be 1383, found ' . $row['buildduration']);
         $retval = 1;
     }
     pdo_query("UPDATE build SET buildduration = {$saved_build_duration}\n                WHERE id = {$id}");
     // Remove the buildtesttime entry for our parent build.
     pdo_query("DELETE FROM buildtesttime WHERE buildid = {$id}");
     // Run the test duration upgrade function.
     UpgradeTestDuration();
     // Verify that it worked as expected.
     $query = "SELECT time FROM buildtesttime WHERE buildid = {$id}";
     $row = pdo_single_row_query($query);
     if ($row['time'] != 48.0) {
         $this->fail('Expected test duration to be 48.00, found ' . $row['time']);
         $retval = 1;
     }
     if ($retval == 0) {
         $this->pass('Passed');
     }
     return $retval;
 }