summaryrefslogtreecommitdiffstats
path: root/pts-core/functions/pts-functions_tests.php
diff options
context:
space:
mode:
authorMichael Larabel <michael@phx-laptop.(none)>2008-10-16 14:01:54 -0400
committerMichael Larabel <michael@phx-laptop.(none)>2008-10-16 14:01:54 -0400
commit4ed5e3fd1e850956a2a8210253d1d70091f6135f (patch)
tree05261ca2db67deb3f21fac42b231f2bf930ba0a4 /pts-core/functions/pts-functions_tests.php
parent0e0ff3d00bdb3f466af9b8183b2927fd9f5109f6 (diff)
downloadphoronix-test-suite-upstream-4ed5e3fd1e850956a2a8210253d1d70091f6135f.tar.gz
phoronix-test-suite-upstream-4ed5e3fd1e850956a2a8210253d1d70091f6135f.tar.xz
phoronix-test-suite-upstream-4ed5e3fd1e850956a2a8210253d1d70091f6135f.zip
pts-core: Track motherboard, processor, OS, and compiler version when a
test is installed, and if any one ends up getting changed, force re-install of that test
Diffstat (limited to 'pts-core/functions/pts-functions_tests.php')
-rw-r--r--pts-core/functions/pts-functions_tests.php17
1 files changed, 16 insertions, 1 deletions
diff --git a/pts-core/functions/pts-functions_tests.php b/pts-core/functions/pts-functions_tests.php
index 6f038d3..08b82b4 100644
--- a/pts-core/functions/pts-functions_tests.php
+++ b/pts-core/functions/pts-functions_tests.php
@@ -25,7 +25,7 @@
function pts_test_needs_updated_install($identifier)
{
// Checks if test needs updating
- return !is_file(TEST_ENV_DIR . $identifier . "/pts-install.xml") || !pts_version_comparable(pts_test_profile_version($identifier), pts_test_installed_profile_version($identifier)) || pts_test_checksum_installer($identifier) != pts_test_installed_checksum_installer($identifier);
+ return !is_file(TEST_ENV_DIR . $identifier . "/pts-install.xml") || !pts_version_comparable(pts_test_profile_version($identifier), pts_test_installed_profile_version($identifier)) || pts_test_checksum_installer($identifier) != pts_test_installed_checksum_installer($identifier) || pts_test_installed_system_identifier($identifier) != pts_system_identifier_string();
}
function pts_test_checksum_installer($identifier)
{
@@ -56,6 +56,19 @@ function pts_test_installed_checksum_installer($identifier)
return $version;
}
+function pts_test_installed_system_identifier($identifier)
+{
+ // Read installer checksum of installed tests
+ $value = "";
+
+ if(is_file(TEST_ENV_DIR . $identifier . "/pts-install.xml"))
+ {
+ $xml_parser = new tandem_XmlReader(TEST_ENV_DIR . $identifier . "/pts-install.xml", false);
+ $value = $xml_parser->getXMLValue(P_INSTALL_TEST_SYSIDENTIFY);
+ }
+
+ return $value;
+}
function pts_test_profile_version($identifier)
{
// Checks PTS profile version
@@ -90,6 +103,7 @@ function pts_test_generate_install_xml($identifier)
$xml_writer->addXmlObject(P_INSTALL_TEST_NAME, 1, $identifier);
$xml_writer->addXmlObject(P_INSTALL_TEST_VERSION, 1, pts_test_profile_version($identifier));
$xml_writer->addXmlObject(P_INSTALL_TEST_CHECKSUM, 1, pts_test_checksum_installer($identifier));
+ $xml_writer->addXmlObject(P_INSTALL_TEST_SYSIDENTIFY, 1, pts_system_identifier_string());
$xml_writer->addXmlObject(P_INSTALL_TEST_INSTALLTIME, 2, date("Y-m-d H:i:s"));
$xml_writer->addXmlObject(P_INSTALL_TEST_LASTRUNTIME, 2, "0000-00-00 00:00:00");
$xml_writer->addXmlObject(P_INSTALL_TEST_TIMESRUN, 2, "0");
@@ -117,6 +131,7 @@ function pts_test_refresh_install_xml($identifier, $this_test_duration = 0)
$xml_writer->addXmlObject(P_INSTALL_TEST_NAME, 1, $xml_parser->getXMLValue(P_INSTALL_TEST_NAME));
$xml_writer->addXmlObject(P_INSTALL_TEST_VERSION, 1, $xml_parser->getXMLValue(P_INSTALL_TEST_VERSION));
$xml_writer->addXmlObject(P_INSTALL_TEST_CHECKSUM, 1, $xml_parser->getXMLValue(P_INSTALL_TEST_CHECKSUM));
+ $xml_writer->addXmlObject(P_INSTALL_TEST_SYSIDENTIFY, 1, $xml_parser->getXMLValue(P_INSTALL_TEST_SYSIDENTIFY));
$xml_writer->addXmlObject(P_INSTALL_TEST_INSTALLTIME, 2, $xml_parser->getXMLValue(P_INSTALL_TEST_INSTALLTIME));
$xml_writer->addXmlObject(P_INSTALL_TEST_LASTRUNTIME, 2, date("Y-m-d H:i:s"));
$xml_writer->addXmlObject(P_INSTALL_TEST_TIMESRUN, 2, ($xml_parser->getXMLValue(P_INSTALL_TEST_TIMESRUN) + 1));