How to use pts_module_manager class

Best Phoronix-test-suite code snippet using pts_module_manager

pts_module_manager.php

Source:pts_module_manager.php Github

copy

Full Screen

...14 GNU General Public License for more details.15 You should have received a copy of the GNU General Public License16 along with this program. If not, see <http://www.gnu.org/licenses/>.17*/18class pts_module_manager19{20 private static $modules = array();21 private static $var_storage = array();22 private static $module_process = array();23 private static $current_module = null;24 //25 // Module Handling26 //27 public static function load_module($module)28 {29 // Load the actual file needed that contains the module30 return (is_file(PTS_MODULE_PATH . $module . '.php') && include_once(PTS_MODULE_PATH . $module . '.php')) || (is_file(PTS_MODULE_LOCAL_PATH . $module . '.php') && include_once(PTS_MODULE_LOCAL_PATH . $module . '.php'));31 }32 public static function modules_environmental_variables()33 {34 $module_env_vars = array();35 foreach(pts_module_manager::available_modules() as $module)36 {37 pts_module_manager::load_module($module);38 $vars = pts_module_manager::module_call($module, 'module_environmental_variables');39 if(is_array($vars))40 {41 foreach($vars as $var)42 {43 if(!isset($module_env_vars[$var]))44 {45 $module_env_vars[$var] = array($module);46 }47 else48 {49 $module_env_vars[$var][] = $module;50 }51 }52 }53 }54 return $module_env_vars;55 }56 public static function module_call($module, $process, &$object_pass = null)57 {58 if(!class_exists($module))59 {60 return false;61 }62 if(method_exists($module, $process))63 {64 $module_val = call_user_func(array($module, $process), $object_pass);65 }66 else67 {68 $class_vars = get_class_vars($module);69 $module_val = isset($class_vars[$process]) ? $class_vars[$process] : false;70 if($module_val == null && defined($module . '::' . $process))71 {72 eval('$module_val = ' . $module . '::' . $process . ';');73 }74 }75 return $module_val;76 }77 public static function module_process($process, &$object_pass = null, $select_modules = false)78 {79 // Run a module process on all registered modules80 foreach(pts_module_manager::attached_modules($process, $select_modules) as $module)81 {82 pts_module_manager::set_current_module($module);83 $module_response = pts_module_manager::module_call($module, $process, $object_pass);84 switch($module_response)85 {86 case pts_module::MODULE_UNLOAD:87 // Unload the PTS module88 pts_module_manager::detach_module($module);89 break;90 case pts_module::QUIT_PTS_CLIENT:91 // Stop the Phoronix Test Suite immediately92 pts_client::exit_client();93 break;94 }95 }96 pts_module_manager::set_current_module(null);97 }98 public static function process_environment_variables_string_to_set($env_var_string)99 {100 if(!empty($env_var_string))101 {102 foreach(explode(';', $env_var_string) as $ev)103 {104 if(strpos($ev, '=') != false)105 {106 list($var, $value) = pts_strings::trim_explode('=', $ev);107 pts_client::set_environment_variable($var, $value);108 pts_module_manager::var_store_add($var, $value);109 }110 }111 pts_module_manager::detect_modules_to_load();112 }113 }114 public static function run_command($module, $command, $arguments = null)115 {116 $all_options = pts_module_manager::module_call($module, 'user_commands');117 if(isset($all_options[$command]) && method_exists($module, $all_options[$command]))118 {119 pts_module_manager::module_call($module, $all_options[$command], $arguments);120 }121 else122 {123 // Not a valid command, list available options for the module124 // or help or list_options was called125 $all_options = pts_module_manager::module_call($module, 'user_commands');126 echo PHP_EOL . 'User commands for the ' . $module . ' module:' . PHP_EOL . PHP_EOL;127 foreach($all_options as $option => $func)128 {129 echo '- ' . $module . '.' . str_replace('_', '-', $option) . PHP_EOL;130 }131 echo PHP_EOL;132 }133 }134 public static function attach_module($module)135 {136 if(pts_module::is_module($module) == false || in_array($module, self::$modules))137 {138 return false;139 }140 pts_module_manager::load_module($module);141 self::$modules[] = $module;142 if(class_exists($module))143 {144 foreach(get_class_methods($module) as $module_method)145 {146 if(substr($module_method, 0, 2) == '__')147 {148 if(!isset(self::$module_process[$module_method]))149 {150 self::$module_process[$module_method] = array();151 }152 self::$module_process[$module_method][] = $module;153 }154 }155 }156 if(defined('PTS_STARTUP_TASK_PERFORMED'))157 {158 $pass_by_ref_null = null;159 pts_module_manager::module_process('__startup', $pass_by_ref_null, $module);160 }161 }162 public static function detach_module($module)163 {164 if(self::is_module_attached($module))165 {166 $key_to_unset = array_search($module, self::$modules);167 unset(self::$modules[$key_to_unset]); 168 if(class_exists($module))169 {170 foreach(get_class_methods($module) as $module_method)171 {172 if(substr($module_method, 0, 2) == '__' && isset(self::$module_process[$module_method]))173 {174 $key_to_unset = array_search($module, self::$module_process[$module_method]);175 unset(self::$module_process[$module_method][$key_to_unset]);176 }177 }178 }179 }180 }181 public static function attached_modules($process_name = null, $select_modules = false)182 {183 if($process_name == null)184 {185 $attached = self::$modules;186 }187 else if(isset(self::$module_process[$process_name]))188 {189 $attached = self::$module_process[$process_name];190 }191 else192 {193 $attached = array();194 }195 if($select_modules != false)196 {197 $all_attached = $attached;198 $attached = array();199 foreach(pts_arrays::to_array($select_modules) as $check_module)200 {201 if(in_array($check_module, $all_attached))202 {203 $attached[] = $check_module;204 }205 }206 }207 return $attached;208 }209 public static function is_module_attached($module)210 {211 return in_array($module, self::$modules);212 }213 public static function available_modules($only_system_modules = false)214 {215 if($only_system_modules)216 {217 $modules = pts_file_io::glob(PTS_MODULE_PATH . '*.php');218 }219 else220 {221 $modules = array_merge(pts_file_io::glob(PTS_MODULE_PATH . '*.php'), pts_file_io::glob(PTS_MODULE_LOCAL_PATH . '*.php'));222 }223 $module_names = array();224 foreach($modules as $module)225 {226 $module_names[] = basename($module, '.php');227 }228 asort($module_names);229 return $module_names;230 }231 public static function clean_module_list()232 {233 array_unique(self::$modules);234 foreach(self::$modules as $i => $module)235 {236 if(pts_module::is_module($module) == false)237 {238 unset(self::$modules[$i]);239 }240 }241 }242 public static function detect_modules_to_load()243 {244 // Auto detect modules to load245 $env_vars = pts_storage_object::read_from_file(PTS_TEMP_STORAGE, 'environmental_variables_for_modules');246 if($env_vars == false)247 {248 $env_vars = pts_module_manager::modules_environmental_variables();249 }250 foreach($env_vars as $env_var => $modules)251 {252 if(($e = pts_client::read_env($env_var)) != false && !empty($e))253 {254 foreach($modules as $module)255 {256 if(!pts_module_manager::is_module_attached($module))257 {258 pts_module_manager::attach_module($module);259 }260 }261 }262 }263 }264 //265 // Variable Storage266 //267 public static function var_store_add($var, $value)268 {269 if(!in_array($var . '=' . $value, self::$var_storage))270 {271 self::$var_storage[] = $var . '=' . $value;272 }...

Full Screen

Full Screen

module_info.php

Source:module_info.php Github

copy

Full Screen

...27 }28 public static function run($args)29 {30 $module = $args[0];31 pts_module_manager::load_module($module);32 pts_client::$display->generic_heading(pts_module_manager::module_call($module, 'module_name') . ' Module');33 if(in_array($args[0], pts_module_manager::attached_modules()))34 {35 echo '** This module is currently loaded. **' . PHP_EOL;36 }37 echo 'Version: ' . pts_module_manager::module_call($module, 'module_version') . PHP_EOL;38 echo 'Author: ' . pts_module_manager::module_call($module, 'module_author') . PHP_EOL;39 echo 'Description: ' . pts_module_manager::module_call($module, 'module_description') . PHP_EOL;40 echo PHP_EOL . pts_module_manager::module_call($module, 'module_info') . PHP_EOL;41 $all_options = pts_module_manager::module_call($module, 'user_commands');42 if(count($all_options) > 0)43 {44 echo 'Module User Commands:' . PHP_EOL;45 foreach(array_keys($all_options) as $option)46 {47 echo '- ' . $module . '.' . str_replace('_', '-', $option) . PHP_EOL;48 }49 echo PHP_EOL;50 }51 }52}53?>...

Full Screen

Full Screen

pts_module_manager

Using AI Code Generation

copy

Full Screen

1require_once('pts-core/pts_module_manager.php');2require_once('pts-core/objects/pts_test_profile.php');3require_once('pts-core/objects/pts_test_result_parser.php');4require_once('pts-core/objects/pts_test_result.php');5require_once('pts-core/objects/pts_test_result_buffer.php');6require_once('pts-core/objects/pts_test_result_buffer.php');7require_once('pts-core/objects/pts_test_profile.php');8require_once('pts-core/objects/pts_test_result_parser.php');9require_once('pts-core/objects/pts_test_result.php');10require_once('pts-core/objects/pts_test_result_buffer.php');11require_once('pts-core/objects/pts_test_profile.php');12require_once('pts-core/objects/pts_test_result_parser.php');13require_once('pts-core/objects/pts_test_result.php');14require_once('pts-core/objects/pts_test_result_buffer.php');15require_once('pts-core/objects/pts_test_profile.php');16require_once('pts-core/objects/pts_test_result_parser.php');17require_once('pts-core/objects/pts_test_result.php');18require_once('pts-core/objects/

Full Screen

Full Screen

pts_module_manager

Using AI Code Generation

copy

Full Screen

1$pts_module_manager = new pts_module_manager();2$pts_module_manager->load_module('pts_module_manager');3$pts_module_manager->load_module('pts_module');4$pts_module_manager->load_module('pts_module_interface');5$pts_module_manager->load_module('pts_module_interface_v1');6$pts_module_manager->load_module('pts_module_interface_v2');7$pts_module_manager->load_module('pts_module_interface_v3');8$pts_module_manager->load_module('pts_module_interface_v4');9$pts_module_manager->load_module('pts_module_interface_v5');10$pts_module_manager->load_module('pts_module_interface_v6');11$pts_module_manager->load_module('pts_module_interface_v7');12$pts_module_manager->load_module('pts_module_interface_v8');13$pts_module_manager->load_module('pts_module_interface_v9');14$pts_module_manager->load_module('pts_module_interface_v10');15$pts_module_manager->load_module('pts_module_interface_v11');16$pts_module_manager->load_module('pts_module_interface_v12');17$pts_module_manager->load_module('pts_module_interface_v13');18$pts_module_manager->load_module('pts_module_interface_v14');19$pts_module_manager->load_module('pts_module_interface_v15');20$pts_module_manager->load_module('pts_module_interface_v16');21$pts_module_manager->load_module('pts_module_interface_v17');22$pts_module_manager->load_module('pts_module_interface_v18');23$pts_module_manager->load_module('pts_module_interface_v19');24$pts_module_manager->load_module('pts_module_interface_v20');25$pts_module_manager->load_module('pts_module_interface_v21');26$pts_module_manager->load_module('pts_module_interface_v22');27$pts_module_manager->load_module('pts_module_interface_v23');28$pts_module_manager->load_module('pts_module_interface_v24');29$pts_module_manager->load_module('pts_module_interface_v25');30$pts_module_manager->load_module('pts_module_interface_v26');31$pts_module_manager->load_module('pts_module_interface_v27');32$pts_module_manager->load_module('pts_module_interface_v28');33$pts_module_manager->load_module('pts_module_interface_v29');34$pts_module_manager->load_module('pts_module_interface_v30');35$pts_module_manager->load_module('pts_module_interface_v31');36$pts_module_manager->load_module('pts_module_interface_v32');

Full Screen

Full Screen

pts_module_manager

Using AI Code Generation

copy

Full Screen

1require_once('pts_module_manager.php');2$pts_module_manager = new pts_module_manager();3$module = 'module_name';4$module_version = '2.0.0';5$pts_module_manager->install_module($module, $module_version);6$pts_module_manager->enable_module($module);7require_once('pts_module_manager.php');8$pts_module_manager = new pts_module_manager();9$module = 'module_name';10$pts_module_manager->disable_module($module);11$pts_module_manager->uninstall_module($module);12require_once('pts_module_manager.php');13$pts_module_manager = new pts_module_manager();14$module = 'module_name';15$module_version = '2.0.0';16$pts_module_manager->upgrade_module($module, $module_version);17require_once('pts_module_manager.php');18$pts_module_manager = new pts_module_manager();19$module = 'module_name';20$pts_module_manager->remove_module($module);21require_once('pts_module_manager.php');22$pts_module_manager = new pts_module_manager();23$module = 'module_name';24$module_version = '2.0.0';25$pts_module_manager->install_module($module, $module_version);26$pts_module_manager->enable_module($module);27require_once('pts_module_manager.php');28$pts_module_manager = new pts_module_manager();29$module = 'module_name';30$module_version = '2.0.0';31$pts_module_manager->upgrade_module($module, $module_version);32require_once('pts_module_manager.php');33$pts_module_manager = new pts_module_manager();34$module = 'module_name';35$module_version = '2.0.0';36$pts_module_manager->upgrade_module($module, $module_version);

Full Screen

Full Screen

pts_module_manager

Using AI Code Generation

copy

Full Screen

1require_once('pts-core/pts-core.php');2$module_manager = new pts_module_manager();3$module_manager->install_module('openbenchmarking');4require_once('pts-core/pts-core.php');5$module_manager = new pts_module_manager();6$module_manager->delete_module('openbenchmarking');

Full Screen

Full Screen

pts_module_manager

Using AI Code Generation

copy

Full Screen

1require_once('pts-core.php');2$modules = new pts_module_manager();3$modules_list = $modules->get_modules_list();4var_dump($modules_list);5array(2) {6 string(7) "opencl"7 string(9) "phoromatic"8}9require_once('pts-core.php');10$modules = new pts_module_manager();11$modules_list = $modules->get_modules_list();12foreach($modules_list as $module_name)13{14 $module = new pts_module($module_name);15 var_dump($module->get_name());16 var_dump($module->get_description());17 var_dump($module->get_version());18 var_dump($module->get_author());19 var_dump($module->get_license());20 var_dump($module->get_homepage());21 var_dump($module->get_download_url());22 var_dump($module->get_install_path());23 var_dump($module->get_install_size());24 var_dump($module->get_module_type());25}26string(7) "opencl"27string(26) "OpenCL Module For Phoronix"28string(5) "1.0.0"29string(6) "Phoronix"30string(3) "GPL"31string(0) ""32string(0) ""33string(0) ""34string(0) ""35string(7) "testing"36string(9) "phoromatic"37string(29) "Phoromatic Server Module For"38string(5) "1.0.0"39string(6) "Phoronix"40string(3) "GPL"41string(0) ""42string(0) ""43string(0) ""44string(0) ""45string(7) "testing"46require_once('pts-core.php');47$modules = new pts_module_manager();48$modules_list = $modules->get_modules_list();49foreach($modules_list as $module_name)50{51 $module = new pts_module($module

Full Screen

Full Screen

pts_module_manager

Using AI Code Generation

copy

Full Screen

1require_once('pts-core.php');2require_once('pts-module-manager.php');3$pts_module_manager = new pts_module_manager();4$pts_module_manager->set_pts_mode(1);5$pts_module_manager->module_install('pts/hello-world');6$pts_module_manager->module_install('pts/hello-world-2');7$pts_module_manager->module_uninstall('pts/hello-world');8$pts_module_manager->module_uninstall('pts/hello-world-2');9require_once('pts-core.php');10require_once('pts-module-manager.php');11$pts_module_manager = new pts_module_manager();12$pts_module_manager->set_pts_mode(1);13$pts_module_manager->module_install('pts/hello-world');14$pts_module_manager->module_install('pts/hello-world-2');15$pts_module_manager->module_uninstall('pts/hello-world');16$pts_module_manager->module_uninstall('pts/hello-world-2');17require_once('pts-core.php');18require_once('pts-module-manager.php');19$pts_module_manager = new pts_module_manager();20$pts_module_manager->set_pts_mode(1);21$pts_module_manager->module_install('pts/hello-world');22$pts_module_manager->module_install('pts/hello-world-2');23$pts_module_manager->module_uninstall('pts/hello-world');24$pts_module_manager->module_uninstall('pts/hello-world-2');25require_once('pts-core.php');26require_once('pts-module-manager.php');27$pts_module_manager = new pts_module_manager();28$pts_module_manager->set_pts_mode(1);29$pts_module_manager->module_install('pts/hello-world');30$pts_module_manager->module_install('pts/hello-world-2');31$pts_module_manager->module_uninstall('pts/hello-world');32$pts_module_manager->module_uninstall('pts/hello-world-2');33require_once('pts-core.php');34require_once('pts-module-manager.php');35$pts_module_manager = new pts_module_manager();36$pts_module_manager->set_pts_mode(1

Full Screen

Full Screen

Automation Testing Tutorials

Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.

LambdaTest Learning Hubs:

YouTube

You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.

Run Phoronix-test-suite automation tests on LambdaTest cloud grid

Perform automation testing on 3000+ real desktop and mobile devices online.

Run Selenium Automation Tests on LambdaTest Cloud Grid

Trigger Selenium automation tests on a cloud-based Grid of 3000+ real browsers and operating systems.

Test now for Free

Try LambdaTest Now !!

Get 100 minutes of automation test minutes FREE!!

Next-Gen App & Browser Testing Cloud

Was this article helpful?

Helpful

NotHelpful