summaryrefslogtreecommitdiffstats
path: root/Under-Testing/Website/mutexSmartTest.php
diff options
context:
space:
mode:
authorTriatmoko2011-11-16 21:45:25 +0100
committerTriatmoko2011-11-16 21:45:25 +0100
commitda276e3f3627746db06b63e678d45740e833648e (patch)
treeba785ea5c13a05d3a8ef1d52d930c092037dfd53 /Under-Testing/Website/mutexSmartTest.php
parentThe real time showing on the web site works fine (diff)
downloadgsm-selftest-da276e3f3627746db06b63e678d45740e833648e.tar.gz
gsm-selftest-da276e3f3627746db06b63e678d45740e833648e.tar.xz
gsm-selftest-da276e3f3627746db06b63e678d45740e833648e.zip
bug on smart test
Diffstat (limited to 'Under-Testing/Website/mutexSmartTest.php')
-rw-r--r--Under-Testing/Website/mutexSmartTest.php355
1 files changed, 179 insertions, 176 deletions
diff --git a/Under-Testing/Website/mutexSmartTest.php b/Under-Testing/Website/mutexSmartTest.php
index 3abb5ff..d5fe146 100644
--- a/Under-Testing/Website/mutexSmartTest.php
+++ b/Under-Testing/Website/mutexSmartTest.php
@@ -1,15 +1,18 @@
<html>
+
<head>
<script src='delayedLoading.js' type="text/javascript"></script>
<!--ADD HERE ALL THE NEEDED META DATA -->
<title>Network test live results!</title>
<link rel="stylesheet" href="css/tableCSS.css" type="text/css" media="screen">
</head>
+
<body onscroll="scrollEvent();" onload="loaderInit();">
<div>
+
<?php
+
//Connection stuff
-//DB
include 'dbconnection.php';
$port = 34500;
@@ -18,7 +21,7 @@ $ip = 'localhost';
$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die('Error connecting to mysql');
mysql_select_db($dbname);
-//End of connection stuff
+
//mutex functions, isfree, lock and release
include 'mutexFunctions.php';
@@ -31,124 +34,133 @@ $locking = isLocked($nameOfLock);
if ($locking == '1') //1 means nobody is on the website
{
- $lockMe = Lock($nameOfLock,$timeToKeepTheMutex); //Set a mutex for the webpage
+ //Set a mutex for the webpage
+ $lockMe = Lock($nameOfLock,$timeToKeepTheMutex);
- if ($lockMe == '1') //1 means a successful lock
- {
+ if ($lockMe == '1') //1 means a successful lock
+ {
$softwareLock = 'SoftwareStarted';
$taskAmount= 1;
$numberofTask =0;
- if($taskAmount != 0 or $taskAmount == 'ON')
- {
- $softwareRunning = isLocked($softwareLock); #startSoftware
- if($softwareRunning == '1') //1 means software is not started yet, start it
- {
- $startApp = fsockopen($ip, 34600, $errno, $error, 5);
- if (!$startApp)
- {
- printf('Solution: - You need to start the script which always running background (startSoftware.py)');
- printf(' - You can find this script on Code -> Server-Code -startSoftware.py');
- printf(' - python startSoftware.py');
- }
- else
- {
- socket_set_timeout( $startApp, 50); //one should set the number of the longest test, so we can define the timeout
- fwrite($startApp, "START APP");
- usleep(2500);
- fclose($startApp);
- }
-
- sleep(6); //sleep till the software starts
-
- //the software should be running already and set the lock, now we test it and then connect to it!
- $softwareRunning1 = isLocked($softwareLock); #gsmselftest.py
- if($softwareRunning1 == '0') //Software running and waiting for connection!
- {
- //try to open the socket and connect to the software
- $fp = fsockopen($ip, $port, $errno, $error, 5);
- if (!$fp)
- {
- echo 'Could not open the socket or connect to the testing software! Check ports on both sides!';
-
- }
- else
- {
- socket_set_timeout($fp,50); //one should set the number of the longest test, so we can define the timeout function (it is the number after "$fp,")
- fwrite($fp, "SMART TEST");
-
- //fwrite($fp, "SMART TEST"); //send command to start the tests
- if(!feof($fp))
- {
- while(!feof($fp))
- {
- $received = fgets($fp, 128); //receive data!
-
- if ($received == "CONFIRM\n") //we got the confirmation from the testing software
- {
- //test finished successfully
+ if($taskAmount != 0 or $taskAmount == 'ON')
+ {
+ #try to lock the startSoftware
+ $StartSoftware = isLocked($softwareLock);
+ if($StartSoftware == '1') //1 means software is not started yet, start it
+ {
+ //trying connect to startsoftware
+ $startApp = fsockopen($ip, 34600, $errno, $error, 5);
+ if (!$startApp)
+ {
+ printf('THE SOFTWARE THAT SHOULD RUN IN BACKGROUND IS NOT RUNNING!');
+ printf('Solution: - You need to start the script which always running background (startSoftware.py)');
+ printf(' - You can find this script on Code -> Server-Code -startSoftware.py');
+ printf(' - python startSoftware.py');
+ }
+ else
+ {
+ socket_set_timeout( $startApp, 50);
+ //send START APP Message to start software to start the task
+ fwrite($startApp, "START APP");
+ usleep(2500);
+ fclose($startApp);
+ }
+
+ //sleep till the controller starting
+ sleep(6);
+ #try to lock the controller
+ $controller = isLocked($softwareLock);
+
+ if($controller == '0') //Software running and waiting for connection!
+ {
+ //try to open the socket and connect to the software
+ $fp = fsockopen($ip, $port, $errno, $error, 5);
+
+ if (!$fp)
+ {
+ echo 'Could not open the socket or connect to the testing software! Check ports on both sides!';
+ }
+ else
+ {
+ socket_set_timeout($fp,50);
+ fwrite($fp, "SMART TEST");
+ if(!feof($fp))
+ {
+ while(!feof($fp))
+ {
+ //receive data!
+ $received = fgets($fp, 128);
+
+ //we got the confirmation from the testing software
+ if ($received == "CONFIRM\n")
+ {
+ $GSMRZ1 = 0;
+ $GSMRZ2 = 0;
+ $GSMRZ3 = 0;
+
+ $SIP = 0;
+ $UNISIP = 0;
+ $LANDLINE = 0;
+ $LSFKS = 0;
+
+ $GSMEE = 0;
+ $GSMEV = 0;
+ $GSMET = 0;
+ $GSMEO = 0;
+
+ $SIPP = 0;
+ $LANDLINEP = 0;
+ $UNISIPP = 0;
+ $NANOBTS1P = 0;
+ $NANOBTS2P = 0;
+
+ echo '<div id="main">
+ <table summary = "Results">
+ <thead>
+ <tr>
+ <th scope = "col"> From: </th>
+ <th scope = "col" > To: </th>
+ <th scope = "col"> Message: </th>
+ <th scope = "col"> Status: </th>
+ </tr>
+ </thead>
+ <tbody>';
+ echo str_repeat("\n",7024);
+ flush();
- $GSMRZ1 = 0;
- $GSMRZ2 = 0;
- $GSMRZ3 = 0;
-
- $SIP = 0;
- $UNISIP = 0;
- $LANDLINE = 0;
- $LSFKS = 0;
-
- $GSMEE = 0;
- $GSMEV = 0;
- $GSMET = 0;
- $GSMEO = 0;
-
- $SIPP = 0;
- $LANDLINEP = 0;
- $UNISIPP = 0;
- $NANOBTS1P = 0;
- $NANOBTS2P = 0;
- /////////// end of test!
- echo '<div id="main">
- <table summary = "Results">
- <thead>
- <tr>
- <th scope = "col"> From: </th>
- <th scope = "col" > To: </th>
- <th scope = "col"> Message: </th>
- <th scope = "col"> Status: </th>
- </tr>
- </thead>
- <!-- start of the table rows-->
- <tbody>';
- echo str_repeat("\n",7024);
- flush();
-
- }
- elseif ($received == "TEST DONE\n")
- {
- if ($taskAmount == "ON"){$taskAmount = "SMART TEST";}
-
- echo '</tbody></table>';
- echo '</div>';
- echo '<div id="sidebar">';
- echo "<a class='pChart' href='networkResult.php?S=$SIP&RZ1=$GSMRZ1&RZ2=$GSMRZ2&RZ3=$GSMRZ3&US=$UNISIP&LL=$LANDLINE&LS=$LSFKS&EE=$GSMEE&EV=$GSMEV&ET=$GSMET&EO=$GSMEO&SP=$SIPP&SGP=$LANDLINEP&USP=$UNISIPP&NBP1=$NANOBTS1P&NBP2=$NANOBTS2P' data-pchart-alt='Picture3'>Picture 3</a></div>";
- echo '<div id="footer"><font size ="3" face="Century Gothic" color="black">Number of tasks: '.$numberofTask.'<br> TEST SUCCESSFULLY FINISHED!</font></div>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, 'DISCONNECT'); //tell the testing software it may close
- break;
- }
- else
- {
- //parse the received data!
- $numberofTask++;
- $received = str_replace("\n",'',$received);
- $dataForTable = explode("|", $received);
- $callFrom = strtoupper($dataForTable[1]);
- $callTo = strtoupper($dataForTable[2]);
- $testStatus = strtoupper($dataForTable[3]);
-
+ }
+
+ elseif ($received == "TEST DONE\n")
+ {
+ if ($taskAmount == "ON")
+ {
+ $taskAmount = "SMART TEST";
+ }
+
+ echo '</tbody>
+ </table>';
+ echo '</div>';
+ echo '<div id="sidebar">';
+ echo "<a class='pChart' href='networkResult.php?S=$SIP&RZ1=$GSMRZ1&RZ2=$GSMRZ2&RZ3=$GSMRZ3&US=$UNISIP&LL=$LANDLINE&LS=$LSFKS&EE=$GSMEE&EV=$GSMEV&ET=$GSMET&EO=$GSMEO&SP=$SIPP&SGP=$LANDLINEP&USP=$UNISIPP&NBP1=$NANOBTS1P&NBP2=$NANOBTS2P' data-pchart-alt='Picture3'>Picture 3</a></div>";
+ echo '<div id="footer"><font size ="3" face="Century Gothic" color="black">Number of tasks: '.$numberofTask.'<br> TEST SUCCESSFULLY FINISHED!</font></div>';
+ echo str_repeat("\n",7024);
+ flush();
+ usleep(100);
+ fwrite($fp, 'DISCONNECT'); //tell the testing software it may close
+ break;
+ }
+ else
+ {
+ //parse the received data!
+ $numberofTask++;
+ $received = str_replace("\n",'',$received);
+ $dataForTable = explode("|", $received);
+ $callFrom = strtoupper($dataForTable[1]);
+ $callTo = strtoupper($dataForTable[2]);
+ $testStatus = strtoupper($dataForTable[3]);
+
+ // start algorithm to define the result for the picture
if($callFrom == 'SIP' || $callTo == 'SIP')
{
if($testStatus == '200' || $testStatus == '402')
@@ -268,7 +280,6 @@ if ($locking == '1') //1 means nobody is on the website
}
}
}
-
if($callFrom == 'GSMRZ2' || $callTo == 'GSMRZ2')
{
if($testStatus == '200' || $testStatus == '402')
@@ -348,12 +359,9 @@ if ($locking == '1') //1 means nobody is on the website
{
$NANOBTS1P= 2;
}
-
}
}
-
}
-
if($callFrom == 'GSMRZ3' || $callTo == 'GSMRZ3')
{
if($testStatus == '200' || $testStatus == '402')
@@ -577,7 +585,6 @@ if ($locking == '1') //1 means nobody is on the website
}
}
}
-
if($callFrom == 'GSMEXT.EPLUS' || $callTo == 'GSMEXT.EPLUS')
{
if($testStatus == '200')
@@ -655,7 +662,6 @@ if ($locking == '1') //1 means nobody is on the website
}
}
}
-
if($callFrom == 'GSMEXT.TM' || $callTo == 'GSMEXT.TM')
{
if($testStatus == '200' || $testStatus == '402')
@@ -726,7 +732,6 @@ if ($locking == '1') //1 means nobody is on the website
}
}
-
if($callFrom == 'LANDLINE' || $callTo == 'LANDLINE')
{
@@ -867,7 +872,6 @@ if ($locking == '1') //1 means nobody is on the website
{
$UNISIPP = 0;
}
-
}
elseif ($testStatus == '501')
{
@@ -888,70 +892,69 @@ if ($locking == '1') //1 means nobody is on the website
}
}
- echo '<tr>
- <th scope = "row" id = "r100">'. $dataForTable[1] . '</th>
- <th scope = "row" id = "r100">'. $dataForTable[2] . '</th>
- <td> ' . $dataForTable[4] . ' </td>
- <td>' . $dataForTable[3] . '</td>
- </tr>';
- echo str_repeat("\n",7024);
- flush();
- usleep(100);
- fwrite($fp, "CONTINUE"); //tell the software to proceed with the test and confirm receiving data
- }
- }
- }
-
- fclose($fp);//close the soccket and the connection
-
- }
-
- }
- elseif($softwareRunning1 == '1')
- {
- echo 'Testing software was not started(didn\'t obtain the lock)! Check it!';
- echo 'Soulution : Check login information in DBClass.py';
- }
- else
- {
- echo 'Testing software didn\'t obtain the lock';
- echo 'Soulution : Check login information in DBClass.py';
- }
- }
- elseif($softwareRunning == '0') //0 means the software is still running in the background
- {
- echo 'Testing software is still running! Maybe you should kill it (if not started manually!)';
- }
- else
- {
- echo 'We have an unknown error! Refresh te web page!';
- }
+ echo '<tr>
+ <th scope = "row" id = "r100">'. $dataForTable[1] . '</th>
+ <th scope = "row" id = "r100">'. $dataForTable[2] . '</th>
+ <td> ' . $dataForTable[4] . ' </td>
+ <td>' . $dataForTable[3] . '</td>
+ </tr>';
+ echo str_repeat("\n",7024);
+ flush();
+ usleep(100);
+ //tell the software to proceed with the test and confirm receiving data
+ fwrite($fp, "CONTINUE");
+ }
+ }
+ }
- }
- else
- {
- echo 'No single test was selected! Please go back and select at least one test';
- }
- }
- elseif($lockMe == '0') //0 means if the attempt timed out (for example, because another client has previously locked the name)
- {
- echo 'Someone was faster than you';
- }
- else
- {
+ fclose($fp);//close the soccket and the connection
+ }
+ }
+ elseif($controller == '1')
+ {
+ echo 'Testing software was not started(didn\'t obtain the lock)! Check it!';
+ echo 'Soulution : Check login information in DBClass.py';
+ }
+ else
+ {
+ echo 'Testing software didn\'t obtain the lock';
+ echo 'Soulution : Check login information in DBClass.py';
+ }
+ }
+ elseif($StartSoftware == '0') //0 means the software is still running in the background
+ {
+ echo 'Testing software is still running! Maybe you should kill it (if not started manually!)';
+ }
+ else
+ {
+ echo 'We have an unknown error! Refresh te web page!';
+ }
+ }
+ else
+ {
+ echo 'No single test was selected! Please go back and select at least one test';
+ }
+ }
+ elseif($lockMe == '0') //0 means if the attempt timed out (for example, because another client has previously locked the name)
+ {
+ echo 'Someone was faster than you';
+ }
+ else
+ {
// # if an error occurred (such as running out of memory or the thread was killed with
- echo 'We have an error here';
- }
+ echo 'We have an error here';
+ }
}
elseif ($locking == '0') //0 means somebody is already on the web site
{
- echo 'Somebody is using the web site already!' . "<br>";
+ echo 'Somebody is using the web site already!' . "<br>";
}
else
{
- echo 'We have some serious error here';
+ echo 'We have some serious error here';
}
?>
+
</div>
</body>
</html>