public function __construct($identifier = null) { $this->struct = array('external-dependencies' => array('name' => null, 'package_manager' => null, 'aliases' => array(), 'packages' => array())); if (PTS_IS_CLIENT) { $xml = PTS_EXDEP_PATH . 'xml/' . $identifier . '-packages.xml'; $xml_parser = new nye_XmlReader($xml); $this->struct['external-dependencies']['name'] = $xml_parser->getXMLValue('PhoronixTestSuite/ExternalDependencies/Information/Name'); $this->struct['external-dependencies']['package_manager'] = $xml_parser->getXMLValue('PhoronixTestSuite/ExternalDependencies/Information/PackageManager'); $generic_package = $xml_parser->getXMLArrayValues('PhoronixTestSuite/ExternalDependencies/Package/GenericName'); $distro_package = $xml_parser->getXMLArrayValues('PhoronixTestSuite/ExternalDependencies/Package/PackageName'); $file_check = $xml_parser->getXMLArrayValues('PhoronixTestSuite/ExternalDependencies/Package/FileCheck'); $arch_specific = $xml_parser->getXMLArrayValues('PhoronixTestSuite/ExternalDependencies/Package/ArchitectureSpecific'); $os_version_specific = $xml_parser->getXMLArrayValues('PhoronixTestSuite/ExternalDependencies/Package/VersionSpecific'); $os_version = phodevi::read_property('system', 'os-version'); foreach (array_keys($generic_package) as $i) { if (empty($generic_package[$i])) { continue; } $os_version_compliant = empty($os_version_specific[$i]) || in_array($os_version, pts_strings::comma_explode($os_version_specific[$i])); if ($os_version_compliant == false) { continue; } $this->struct['external-dependencies']['packages'][$generic_package[$i]] = $this->get_package_format($distro_package[$i], $file_check[$i], $arch_specific[$i]); } $aliases = $xml_parser->getXMLValue('PhoronixTestSuite/ExternalDependencies/Information/Aliases'); if ($aliases != null) { $aliases = pts_strings::trim_explode(',', $aliases); foreach ($aliases as $alias) { if ($alias != null) { $this->struct['external-dependencies']['aliases'][] = $alias; } } } } }
public function getXMLValue($xml_tag, $fallback_value = -1) { if ($this->do_caching && isset($this->c[$xml_tag])) { return $this->c[$xml_tag]; } $x = parent::getXMLValue($xml_tag, $fallback_value); if ($this->do_caching && $x != $fallback_value) { $this->c[$xml_tag] = $x; } return $x; }
public function getXMLValue($xml_tag, $fallback_value = false) { if ($this->override_values != false) { if (isset($this->override_values[$xml_tag])) { $this->times_fallback++; return $this->override_values[$xml_tag]; } else { if (isset($this->override_values[$bn = basename($xml_tag)])) { $this->times_fallback++; return $this->override_values[$bn]; } } } return parent::getXMLValue($xml_tag, $fallback_value); }
protected static function upload_unscheduled_test_results($save_identifier) { $composite_xml = file_get_contents(PTS_SAVE_RESULTS_PATH . $save_identifier . '/composite.xml'); $logs = self::capture_test_logs($save_identifier); $server_response = phoromatic::upload_to_remote_server(array('r' => 'upload_test_results_unscheduled', 'c' => $composite_xml, 'i' => 0, 'ti' => 'Unknown', 'sl' => $logs['system-logs'], 'tl' => $logs['test-logs'])); $xml_parser = new nye_XmlReader($server_response); switch ($xml_parser->getXMLValue(M_PHOROMATIC_GEN_RESPONSE)) { case M_PHOROMATIC_RESPONSE_TRUE: echo PHP_EOL . 'Uploaded To Phoromatic.' . PHP_EOL; break; case M_PHOROMATIC_RESPONSE_ERROR: echo PHP_EOL . 'An Error Occurred.' . PHP_EOL; break; case M_PHOROMATIC_RESPONSE_SETTING_DISABLED: echo PHP_EOL . 'You need to enable this support from your Phoromatic account web interface.' . PHP_EOL; break; } return $xml_parser->getXMLValue(M_PHOROMATIC_GEN_RESPONSE) == M_PHOROMATIC_RESPONSE_TRUE; }