https://www.php.net/manual/fr/ini.core.php#ini.zend.assertions'; } $gDossier=$http->request('gDossier',"number", -1); if ($gDossier==-1) { echo " Vous devez donner le dossier avec paramètre gDossier dans l'url, exemple http://localhost/noalyss/html/test.php?gDossier=25"; exit(); } $gDossierLogInput=$gDossier; global $cn, $g_user, $g_succeed, $g_failed; $cn=Dossier::connect(); $g_parameter=new Noalyss_Parameter_Folder($cn); $g_user=new Noalyss_user($cn); if (!file_exists('authorized_debug')) { echo "Pour pouvoir utiliser ce fichier vous devez creer un fichier nomme authorized_debug dans le repertoire html du server"; exit(); } define('ALLOWED', 1); global $aAvaible_module; /* * Find all the folders */ $directory=NOALYSS_BASE."/scenario"; $folder=scandir($directory); $nb_folder=count($folder); for ($i=0; $i<$nb_folder;$i++) { if (is_dir("{$directory}/".$folder[$i]) && $folder[$i] != '.' && $folder[$i] !='..') { $aAvaible_module[]=$folder[$i]; } } load_all_script(); /******************************************************************************************************************/ /* Utilities */ /******************************************************************************************************************/ /** * Return the card this most activities * @return integer (fiche.f_id) */ function get_card_with_activity() { global $cn; $card_count=$cn->get_array("select count(*),f_id ". " from jrnx ". " where ". " f_id is not null ". "group by f_id order by count(*) desc"); return $card_count[0]['f_id']; } /* * Loading of all scenario HTML + XML */ function retrieve_files($directory) :array { $scan=scandir($directory); $maxscan=count($scan); $cnt_scenario=0;$scenario=array(); for ($e_scan=0; $e_scan<$maxscan; $e_scan++) { if (is_file("{$directory}/".$scan[$e_scan])&&strpos($scan[$e_scan], '.php')==true) { $description=""; $a_description=file("{$directory}/".$scan[$e_scan]); $max_description=count($a_description); for ($w=0; $w<$max_description; $w++) { if (strpos($a_description[$w], '@description:')==true) { $description=$a_description[$w]; $description=noalyss_str_replace('//@description:', '', $description); } } $scenario[$cnt_scenario]['file']="{$directory}/".$scan[$e_scan]; $scenario[$cnt_scenario]['desc']=$description; $cnt_scenario++; } } return $scenario; } function display_test($title,$gDossierLogInput,$aHtml_files) { echo h1($title); $get='test.php?'.http_build_query(array('script'=>"all", 'gDossier'=>$gDossierLogInput, 'description'=>"Tous les scripts",'module'=>$title)); echo ''; echo ''; echo ''; echo ''; echo ''; $nb_html=count($aHtml_files); for ($e=0; $e<$nb_html; $e++) { $get='test.php?'.http_build_query(array('script'=>$aHtml_files[$e]['file'], 'gDossier'=>$gDossierLogInput, 'description'=>$aHtml_files[$e]['desc'])); echo ''; echo ''; echo ''; echo ''; echo ''; } echo '
'; echo ''; echo "Tous les tests du module $title "; echo ''; echo ''; echo ''; echo 'Tous les scripts'; echo ''; echo '
'; echo $e; echo ''; echo ''; echo basename($aHtml_files[$e]['file']); echo ''; echo ''.$aHtml_files[$e]['desc'].'
'; } $script=$http->request('script', "string",''); $min=$cn->get_value("select p_id from parm_periode order by p_start asc limit 1"); $max=$cn->get_value("select p_id from parm_periode order by p_start desc limit 1"); printf ("Max période %s Min période %s",$max,$min); if ($script=="") { echo "

Test NOALYSS

"; /* * cherche pour fichier a include, s'il y en a alors les affiche * avec une description */ $get='test.php?'.http_build_query(array('script'=>"all", 'gDossier'=>$gDossierLogInput, 'description'=>"Tous les scripts")); print '

'; printf( ' Tous les test ',$get); print '

'; foreach ($aAvaible_module as $mod) { $html_files = retrieve_files(NOALYSS_BASE . '/scenario/' . $mod); display_test($mod,$gDossierLogInput,$html_files); } } else if ($script=='all') { $nb=$http->get('nb_script', "number",1); $start_mem=memory_get_usage(); $start_time=microtime(true); $module=$http->get('module','string','all'); $scenario=[]; if ($module=='all') { foreach ($aAvaible_module as $mod) { $html_files = retrieve_files(NOALYSS_BASE . '/scenario/' . $mod); $scenario = array_merge($html_files, $scenario); } } elseif (in_array($module, $aAvaible_module) ) { $scenario=retrieve_files(NOALYSS_BASE.'/scenario/'.$module); } $maxscan=$http->get('nb_script', "number",count($scenario)-1); $maxscan++; for ($i=$nb;$i< $maxscan;$i++) { echo '

'.$nb." ".$scenario[$nb]['file']."

"; echo '

description = '.$scenario[$nb]["desc"].'

'; include $scenario[$nb]['file']; echo ''; echo ''; $end_mem=memory_get_usage(); $end_time=microtime(true); echo "

start mem : ".$start_mem; echo '

'; echo "

end mem : ".$end_mem; echo '

'; echo "

Diff = ".($end_mem-$start_mem)." bytes "; echo "

Diff = ".(round(($end_mem-$start_mem)/1024, 2))." kbytes "; echo "

Diff = ".(round(($end_mem-$start_mem)/1024/1024, 2))." Mbytes "; echo '

'; echo "

Execution script ".$script." time = ".(round(($end_time-$start_time), 4))." secondes

"; $nb++; if ( $nb == $maxscan ) { echo "Dernier test"; } else { $get='test.php?'.http_build_query(array('script'=>"all", 'gDossier'=>$gDossierLogInput, 'nb_script'=>$nb)); echo ''; echo $scenario[$nb]['file']; echo ''; } } } else { $start_mem=memory_get_usage(); $start_time=microtime(true); $description=$http->get("description","string", "aucune description"); echo '

'.$script."

"; echo '

description = '.$description.'

'; include $script; $end_mem=memory_get_usage(); $end_time=microtime(true); echo "

start mem : ".$start_mem; echo '

'; echo "

end mem : ".$end_mem; echo '

'; echo "

Diff = ".($end_mem-$start_mem)." bytes "; echo "

Diff = ".(round(($end_mem-$start_mem)/1024, 2))." kbytes "; echo "

Diff = ".(round(($end_mem-$start_mem)/1024/1024, 2))." Mbytes "; echo '

'; echo "

Execution script ".$script." time = ".(round(($end_time-$start_time), 4))." secondes

"; }