adding TestON
diff --git a/TestON/examples/Assert/Assert.params b/TestON/examples/Assert/Assert.params
new file mode 100644
index 0000000..00cf47b
--- /dev/null
+++ b/TestON/examples/Assert/Assert.params
@@ -0,0 +1,3 @@
+<PARAMS>
+ <testcases> 1 </testcases>
+</PARAMS>
\ No newline at end of file
diff --git a/TestON/examples/Assert/Assert.py b/TestON/examples/Assert/Assert.py
new file mode 100644
index 0000000..bc2ce2e
--- /dev/null
+++ b/TestON/examples/Assert/Assert.py
@@ -0,0 +1,46 @@
+'''
+
+ TestON is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ TestON is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TestON. If not, see <http://www.gnu.org/licenses/>.
+
+
+'''
+class Assert :
+
+ def __init__(self) :
+ self.default = ''
+
+ def CASE1(self,main) :
+
+
+ main.case("Using assert to verify the result")
+ main.step("Using assert_equal to verify the result is equivalent or not")
+ expect = main.TRUE
+ actual = main.TRUE
+ main.log.warn(main.response_parser('<real></real><imag>2</imag><__complex__>true</__complex__>', "json"))
+ utilities.assert_equals(expect=expect,actual=actual,onpass="expect is equal to actual",onfail="expect is not equal to actual")
+
+ main.step("Using assert_matches to verify the result matches or not")
+ expect = "Res(.*)"
+ actual = "Result"
+ utilities.assert_matches(expect=expect,actual=actual,onpass="expect is macthes to actual",onfail="expect is not matches to actual")
+
+ main.step("Using assert_greater to verify the result greater or not")
+ expect = 10
+ actual = 5
+ utilities.assert_greater(expect=actual,actual=expect,onpass="expect is greater than the actual",onfail="expect is not greater than the actual")
+
+ main.step("Using assert_lesser to verify the result lesser or not")
+ expect = 5
+ actual = 10
+ utilities.assert_lesser(expect=actual,actual=expect,onpass="expect is lesser than the actual",onfail="expect is not lesser than the actual")
diff --git a/TestON/examples/Assert/Assert.topo b/TestON/examples/Assert/Assert.topo
new file mode 100644
index 0000000..47438e7
--- /dev/null
+++ b/TestON/examples/Assert/Assert.topo
@@ -0,0 +1,5 @@
+<TOPOLOGY>
+
+ <COMPONENT>
+ </COMPONENT>
+</TOPOLOGY>
\ No newline at end of file
diff --git a/TestON/examples/Assert/__init__.py b/TestON/examples/Assert/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/examples/Assert/__init__.py
diff --git a/TestON/examples/Assert/readme b/TestON/examples/Assert/readme
new file mode 100644
index 0000000..4ad1374
--- /dev/null
+++ b/TestON/examples/Assert/readme
@@ -0,0 +1,35 @@
+This example shows the usage of the assert
+assert_equal :
+-------------
+utilities.assert_equals(expect=1,actual=1,
+ onpass="Expected result equal to Actual",
+ onfail="Expected result not equal to Actual")
+
+assert_matches:
+--------------
+expect = "Res(.*)"
+actual = "Result : Test Passed"
+utilities.assert_equals(expect=expect,actual=actual,
+ onpass="Expected result matches with Actual",
+ onfail="Expected result didn't matched with Actual")
+
+assert_greater:
+--------------
+expect = 10
+ actual = 5
+ utilities.assert_greater(expect=expect,actual=actual,
+ onpass=str(expect)+" greater than the "+str(actual),
+ onfail=str(expect)+" is not greater than "+str(actual))
+
+assert_lesser:
+-------------
+expect = 5
+ actual = 10
+ utilities.assert_lesser(expect=expect,actual=actual,
+ onpass=str(expect)+" is lesser than the "+str(actual),
+ onfail=str(expect)+" is not lesser than the "+str(actual))
+
+
+cd ~/bin/
+./launcher --example Assert
+ will execute this example.
\ No newline at end of file
diff --git a/TestON/examples/CaseParams/CaseParams.ospk b/TestON/examples/CaseParams/CaseParams.ospk
new file mode 100644
index 0000000..53a4925
--- /dev/null
+++ b/TestON/examples/CaseParams/CaseParams.ospk
@@ -0,0 +1,15 @@
+CASE 1
+
+ NAME "Using CASE level parameters to specify the host as h2"
+ STEP "Host IP Checking using checkIP"
+ ON Mininet1 DO checkIP USING CASE['destination'] AND STORE LAST_RESULT IN result
+ STEP "Verifying the result"
+ ASSERT result EQUALS main.TRUE ONPASS "Host h2 IP address configured" ONFAIL "Host h2 IP address didn't configured"
+
+CASE 2
+
+ NAME "Using CASE level parameters to specify the host as h3"
+ STEP "Host IP Checking using checkIP"
+ ON Mininet1 DO checkIP USING CASE['destination'] AND STORE LAST_RESULT IN result
+ STEP "Verifying the result"
+ ASSERT result EQUALS main.TRUE ONPASS "Host h2 IP address configured" ONFAIL "Host h2 IP address didn't configured"
diff --git a/TestON/examples/CaseParams/CaseParams.params b/TestON/examples/CaseParams/CaseParams.params
new file mode 100644
index 0000000..0364f0a
--- /dev/null
+++ b/TestON/examples/CaseParams/CaseParams.params
@@ -0,0 +1,10 @@
+<PARAMS>
+ <testcases> 1,2 </testcases>
+ <mail> paxweb@paxterrasolutions.com </mail>
+ <CASE1>
+ <destination> h2 </destination>
+ </CASE1>
+ <CASE2>
+ <destination> h3 </destination>
+ </CASE2>
+</PARAMS>
\ No newline at end of file
diff --git a/TestON/examples/CaseParams/CaseParams.py b/TestON/examples/CaseParams/CaseParams.py
new file mode 100644
index 0000000..0502c46
--- /dev/null
+++ b/TestON/examples/CaseParams/CaseParams.py
@@ -0,0 +1,58 @@
+#!/usr/bin/env python
+'''
+Created on 26-Nov-2012
+
+@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)
+
+ TestON is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ TestON is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TestON. If not, see <http://www.gnu.org/licenses/>.
+
+'''
+class CaseParams:
+ '''
+ This example shows the usage of the CASE level parameters, in params file the
+ [[CASE]]
+ 'destination' = 'h2'
+
+ We can get this CASE level parameter like :
+ main.params['CASE1']['destination']
+
+
+ cd ~/bin/
+ ofautomation>run CaseParams example 1
+ will execute this example.
+ '''
+
+ def __init__(self):
+ self.default = ""
+
+ def CASE1(self,main):
+ '''
+ This test case will showcase usage of CASE level parameters to specify the host as h2
+ '''
+ main.case("Using CASE level parameters to specify the host as h2")
+ main.step("Host IP Checking using checkIP")
+ result = main.Mininet1.checkIP(main.params['CASE1']['destination'])
+ main.step("Verifying the result")
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Host h2 IP address configured",onfail="Host h2 IP address didn't configured")
+
+
+ def CASE2(self,main):
+ '''
+ This test case will showcase usage of CASE level parameters to specify the host as h3
+ '''
+ main.case("Using CASE level parameters to specify the host as h3")
+ main.step("Host IP Checking using checkIP")
+ result = main.Mininet1.checkIP(main.params['CASE2']['destination'])
+ main.step("Verifying the result")
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Host h3 IP address configured",onfail="Host h3 IP address didn't configured")
diff --git a/TestON/examples/CaseParams/CaseParams.topo b/TestON/examples/CaseParams/CaseParams.topo
new file mode 100644
index 0000000..32cf0bf
--- /dev/null
+++ b/TestON/examples/CaseParams/CaseParams.topo
@@ -0,0 +1,29 @@
+<TOPOLOGY>
+
+ <COMPONENT>
+ <Mininet1>
+ <host>192.168.56.101</host>
+ <user> openflow</user>
+ <password> openflow</password>
+ <type>MininetCliDriver</type>
+ <COMPONENTS>
+ # Specify the Option for mininet
+ <topo> single</topo>
+ <topocount>3</topocount>
+ <switch> ovsk </switch>
+ <controller> remote </controller>
+ </COMPONENTS>
+ </Mininet1>
+ <POX2>
+ <host> 192.168.56.101 </host>
+ <user> openflow </user>
+ <password> openflow </password>
+ <type> PoxCliDriver </type>
+ <test_target> 1 </test_target>
+ <COMPONENTS>
+ <pox_lib_location> /home/openflow/pox/ </pox_lib_location>
+ <samples.of_tutorial></samples.of_tutorial>
+ </COMPONENTS>
+ </POX2>
+ </COMPONENT>
+</TOPOLOGY>
\ No newline at end of file
diff --git a/TestON/examples/CaseParams/__init__.py b/TestON/examples/CaseParams/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/examples/CaseParams/__init__.py
diff --git a/TestON/examples/CaseParams/readme b/TestON/examples/CaseParams/readme
new file mode 100644
index 0000000..90e91e4
--- /dev/null
+++ b/TestON/examples/CaseParams/readme
@@ -0,0 +1,11 @@
+This example shows the usage of the CASE level parameters, in params file the
+[[CASE]]
+ 'destination' = 'h2'
+
+We can get this CASE level parameter like :
+main.params['CASE1']['destination']
+
+
+cd ~/bin/
+./launcher --example CaseParams
+ will execute this example.
\ No newline at end of file
diff --git a/TestON/examples/ExperimentTest/.svn/entries b/TestON/examples/ExperimentTest/.svn/entries
new file mode 100644
index 0000000..3b49413
--- /dev/null
+++ b/TestON/examples/ExperimentTest/.svn/entries
@@ -0,0 +1,171 @@
+9
+
+dir
+65
+svn://192.168.150.61/OpenFlow/examples/ExperimentTest
+svn://192.168.150.61/OpenFlow
+
+
+
+2012-12-05T18:46:42.405397Z
+65
+paxterra
+
+
+svn:special svn:externals svn:needs-lock
+
+
+
+
+
+
+
+
+
+
+
+8b1d8634-a80c-44fc-ab7b-cc53e6f68013
+
+
+
+
+
+
+0
+
+ExperimentTest.params
+file
+
+
+
+
+2012-12-05T16:08:53.000000Z
+fe91cb1fd12f04eaca9a2fb7d2978b6f
+2012-12-05T18:46:42.405397Z
+65
+paxterra
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+264
+
+ExperimentTest.py
+file
+
+
+
+
+2012-12-05T16:51:09.000000Z
+bcdbffbd0f271e3673c6feb7d8bdc076
+2012-12-05T18:46:42.405397Z
+65
+paxterra
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+1812
+
+ExperimentTest.topo
+file
+
+
+
+
+2012-12-05T16:08:53.000000Z
+de74c44cd5254e711cff2d707943d251
+2012-12-05T18:46:42.405397Z
+65
+paxterra
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+776
+
+__init__.py
+file
+
+
+
+
+2012-12-05T16:08:53.000000Z
+d41d8cd98f00b204e9800998ecf8427e
+2012-12-05T18:46:42.405397Z
+65
+paxterra
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+0
+
diff --git a/TestON/examples/ExperimentTest/.svn/format b/TestON/examples/ExperimentTest/.svn/format
new file mode 100644
index 0000000..ec63514
--- /dev/null
+++ b/TestON/examples/ExperimentTest/.svn/format
@@ -0,0 +1 @@
+9
diff --git a/TestON/examples/ExperimentTest/.svn/text-base/ExperimentTest.params.svn-base b/TestON/examples/ExperimentTest/.svn/text-base/ExperimentTest.params.svn-base
new file mode 100644
index 0000000..3b97252
--- /dev/null
+++ b/TestON/examples/ExperimentTest/.svn/text-base/ExperimentTest.params.svn-base
@@ -0,0 +1,9 @@
+[PARAMS]
+ 'testcases' = '[1,2]'
+ 'mail' = 'anilkumar.s@paxterrasolutions.com,paxweb@paxterrasolutions.com'
+ #'log_dir' = '/home/user/Desktop/openflow_logs/'
+ [[CASE1]]
+ 'destination' = 'h2'
+ [[[STEP1]]]
+ 'host' = 'h2'
+
diff --git a/TestON/examples/ExperimentTest/.svn/text-base/ExperimentTest.py.svn-base b/TestON/examples/ExperimentTest/.svn/text-base/ExperimentTest.py.svn-base
new file mode 100644
index 0000000..1d87e3e
--- /dev/null
+++ b/TestON/examples/ExperimentTest/.svn/text-base/ExperimentTest.py.svn-base
@@ -0,0 +1,36 @@
+class ExperimentTest:
+ '''
+ Testing of the Experimental Mode
+ '''
+
+ def __init__(self):
+ self.default = ""
+
+ def CASE1(self,main):
+ '''
+ Testing the configuration of the host by using checkIP functionof Mininet driver
+ '''
+ main.EXPERIMENTAL_MODE = main.TRUE
+ main.case("Testing the configuration of the host")
+ main.step("Host IP Checking using checkIP")
+ result = main.Mininet1.checkIP(main.params['CASE1']['destination'])
+ main.step("Verifying the result")
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Host h2 IP address configured",onfail="Host h2 IP address didn't configured")
+ main.step("Calling Non Existing API for Experimental Mode")
+ testReturn = main.POX2.verify_flow(returns=main.TRUE)
+ utilities.assert_equals(expect=main.TRUE,actual=testReturn,onpass="Host h2 IP address configured",onfail="Host h2 IP address didn't configured")
+
+ def CASE2(self,main):
+ '''
+ Testing of the reachability of the hosts by using pingall of Mininet driver
+ '''
+ main.EXPERIMENTAL_MODE = main.TRUE
+ main.case("Testing Reachabilty of all the hosts")
+ main.step("Checking Hosts reachability by using pingall")
+ result = main.Mininet1.pingall()
+ main.step("Verifying the result")
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="All hosts are reacchable",onfail="Hosts are not reachable")
+ main.step("Calling Non Existing API for Experimental Mode")
+ testReturn = main.Mininet1.verify_flow(returns=main.TRUE)
+ utilities.assert_equals(expect=main.TRUE,actual=testReturn,onpass="Host h2 IP address configured",onfail="Host h2 IP address didn't configured")
+
diff --git a/TestON/examples/ExperimentTest/.svn/text-base/ExperimentTest.topo.svn-base b/TestON/examples/ExperimentTest/.svn/text-base/ExperimentTest.topo.svn-base
new file mode 100644
index 0000000..74c0db9
--- /dev/null
+++ b/TestON/examples/ExperimentTest/.svn/text-base/ExperimentTest.topo.svn-base
@@ -0,0 +1,23 @@
+[TOPOLOGY]
+
+ [[COMPONENT]]
+ [[["Mininet1"]]]
+ 'host' = '192.168.56.101'
+ 'user' = 'openflow'
+ 'password' = 'openflow'
+ 'type' = "Mininet"
+ [[[["COMPONENTS"]]]]
+ # Specify the Option for mininet
+ 'topo' = 'single'
+ 'topocount' = '3'
+ 'switch' = 'ovsk'
+ 'controller' = 'remote'
+ [[["POX2"]]]
+ 'host' = '192.168.56.101'
+ 'user' = 'openflow'
+ 'password' = 'openflow'
+ 'type' = 'POX'
+ 'no-cli' = '1' #or '0' if want to run in cli mode
+ [[[["COMPONENTS"]]]]
+ 'pox_lib_location' = "/home/openflow/pox/"
+ [[[[["samples.of_tutorial"]]]]]
diff --git a/TestON/examples/ExperimentTest/.svn/text-base/__init__.py.svn-base b/TestON/examples/ExperimentTest/.svn/text-base/__init__.py.svn-base
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/examples/ExperimentTest/.svn/text-base/__init__.py.svn-base
diff --git a/TestON/examples/ExperimentTest/ExperimentTest.ospk b/TestON/examples/ExperimentTest/ExperimentTest.ospk
new file mode 100644
index 0000000..bd70165
--- /dev/null
+++ b/TestON/examples/ExperimentTest/ExperimentTest.ospk
@@ -0,0 +1,24 @@
+CASE 1
+
+ EXPERIMENTAL MODE ON
+ NAME "Testing the configuration of the host"
+ STEP "Host IP Checking using checkIP"
+ STORE ON Mininet1 DO checkIP USING CASE['destination'] IN result
+ STEP "Verifying the result"
+ ASSERT result EQUALS main.TRUE ONPASS "Host h2 IP address configured" ONFAIL "Host h2 IP address didn't configured"
+ STEP "Calling Non Existing API for Experimental Mode"
+ STORE ON POX2 DO verify_flow USING returns AS main.TRUE IN testReturn
+ ASSERT testRetun EQUALS main.TRUE ONPASS "Experimental Mode Passed" ONFAIL "Experimental Mode failed"
+
+CASE 2
+
+ EXPERIMENTAL MODE ON
+ NAME "Testing Reachabilty of all the hosts"
+ STEP "Checking Hosts reachability by using pingall"
+ STORE ON Mininet1 DO pingall IN result
+ STEP "Verifying the result"
+ ASSERT result EQUALS main.TRUE ONPASS "Host h2 IP address configured" ONFAIL "Host h2 IP address didn't configured"
+ STEP "Calling Non Existing API for Experimental Mode"
+ STORE ON Mininet1 DO verify_flow USING returns AS main.TRUE IN testReturn
+ ASSERT testRetun EQUALS main.TRUE ONPASS "Experimental Mode Passed" ONFAIL "Experimental Mode failed"
+
diff --git a/TestON/examples/ExperimentTest/ExperimentTest.params b/TestON/examples/ExperimentTest/ExperimentTest.params
new file mode 100644
index 0000000..30755e5
--- /dev/null
+++ b/TestON/examples/ExperimentTest/ExperimentTest.params
@@ -0,0 +1,11 @@
+<PARAMS>
+ <testcases> 1,2 </testcases>
+ <mail> anilkumar.s@paxterrasolutions.com,paxweb@paxterrasolutions.com </mail>
+ #'log_dir' = '/home/user/Desktop/openflow_logs/'
+ <CASE1>
+ <destination> h2 </destination>
+ <STEP1>
+ <host> h2 </host>
+ </STEP1>
+ </CASE1>
+</PARAMS>
\ No newline at end of file
diff --git a/TestON/examples/ExperimentTest/ExperimentTest.py b/TestON/examples/ExperimentTest/ExperimentTest.py
new file mode 100644
index 0000000..7630703
--- /dev/null
+++ b/TestON/examples/ExperimentTest/ExperimentTest.py
@@ -0,0 +1,62 @@
+#!/usr/bin/env python
+'''
+Created on 26-Nov-2012
+
+@author: Raghav Kashyap(raghavkashyap@paxterrasolutions.com)
+
+
+ TestON is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ TestON is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TestON. If not, see <http://www.gnu.org/licenses/>.
+
+Testing of the Experimental Mode
+
+ofautomation>run ExperimentTest example 1
+ will execute this example.
+'''
+class ExperimentTest:
+ '''
+ Testing of the Experimental Mode
+
+ '''
+
+ def __init__(self):
+ self.default = ""
+
+ def CASE1(self,main):
+ '''
+ Testing the configuration of the host by using checkIP functionof Mininet driver
+ '''
+ main.EXPERIMENTAL_MODE = main.TRUE
+ main.case("Testing the configuration of the host")
+ main.step("Host IP Checking using checkIP")
+ result = main.Mininet1.checkIP(main.params['CASE1']['destination'])
+ main.step("Verifying the result")
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Host h2 IP address configured",onfail="Host h2 IP address didn't configured")
+ main.step("Calling Non Existing API for Experimental Mode")
+ testReturn = main.POX2.verify_flow(returns=main.TRUE)
+ utilities.assert_equals(expect=main.TRUE,actual=testReturn,onpass="Host h2 IP address configured",onfail="Host h2 IP address didn't configured")
+
+ def CASE2(self,main):
+ '''
+ Testing of the reachability of the hosts by using pingall of Mininet driver
+ '''
+ main.EXPERIMENTAL_MODE = main.TRUE
+ main.case("Testing Reachabilty of all the hosts")
+ main.step("Checking Hosts reachability by using pingall")
+ result = main.Mininet1.pingall()
+ main.step("Verifying the result")
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="All hosts are reacchable",onfail="Hosts are not reachable")
+ main.step("Calling Non Existing API for Experimental Mode")
+ testReturn = main.Mininet1.verify_flow(returns=main.TRUE)
+ utilities.assert_equals(expect=main.TRUE,actual=testReturn,onpass="Host h2 IP address configured",onfail="Host h2 IP address didn't configured")
+
diff --git a/TestON/examples/ExperimentTest/ExperimentTest.topo b/TestON/examples/ExperimentTest/ExperimentTest.topo
new file mode 100644
index 0000000..618e442
--- /dev/null
+++ b/TestON/examples/ExperimentTest/ExperimentTest.topo
@@ -0,0 +1,28 @@
+<TOPOLOGY>
+
+ <COMPONENT>
+ <Mininet1>
+ <host> 192.168.56.101 </host>
+ <user> = openflow </user>
+ <password> openflow </password>
+ <type> MininetCliDriver </type>
+ <COMPONENTS>
+ # Specify the Option for mininet
+ <topo> single </topo>
+ <topocount> 3 </topocount>
+ <switch> ovsk </switch>
+ <controller> remote </controller>
+ </COMPONENTS>
+ <POX2>
+ <host> 192.168.56.101 </host>
+ <user> openflow </user>
+ <password> openflow </password>
+ <type> PoxCliDriver </type>
+ <no-cli> 1 </no-cli> #or '0' if want to run in cli mode
+ <COMPONENTS>
+ <pox_lib_location> /home/openflow/pox/ </pox_lib_location>
+ <samples.of_tutorial></samples.of_tutorial>
+ </COMPONENTS>
+ </POX2>
+ </COMPONENT>
+</TOPOLOGY>
\ No newline at end of file
diff --git a/TestON/examples/ExperimentTest/__init__.py b/TestON/examples/ExperimentTest/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/examples/ExperimentTest/__init__.py
diff --git a/TestON/examples/StepParams/StepParams.ospk b/TestON/examples/StepParams/StepParams.ospk
new file mode 100644
index 0000000..69a6092
--- /dev/null
+++ b/TestON/examples/StepParams/StepParams.ospk
@@ -0,0 +1,15 @@
+CASE 1
+
+ NAME "Using CASE level parameters to specify the host as h2"
+ STEP "Host IP Checking using checkIP"
+ ON Mininet1 DO checkIP USING STEP['host'] AND STORE LAST_RESULT IN result
+ STEP "Verifying the result"
+ ASSERT result EQUALS main.TRUE ONPASS "Host h2 IP address configured" ONFAIL "Host h2 IP address didn't configured"
+
+CASE 2
+
+ NAME "Using CASE level parameters to specify the host as h3"
+ STEP "Host IP Checking using checkIP"
+ ON Mininet1 DO checkIP USING STEP['host'] AND STORE LAST_RESULT IN result
+ STEP "Verifying the result"
+ ASSERT result EQUALS main.TRUE ONPASS "Host h2 IP address configured" ONFAIL "Host h2 IP address didn't configured"
\ No newline at end of file
diff --git a/TestON/examples/StepParams/StepParams.params b/TestON/examples/StepParams/StepParams.params
new file mode 100644
index 0000000..1401d38
--- /dev/null
+++ b/TestON/examples/StepParams/StepParams.params
@@ -0,0 +1,15 @@
+<PARAMS>
+ <testcases> 1,2 </testcases>
+ <mail> paxweb@paxterrasolutions.com </mail>
+ #'log_dir' = '/home/user/Desktop/openflow_logs/'
+ <CASE1>
+ <STEP1>
+ <host> h2 </host>
+ </STEP1>
+ </CASE1>
+ <CASE2>
+ <STEP1>
+ <host> h3 </host>
+ </STEP1>
+ </CASE2>
+</PARAMS>
\ No newline at end of file
diff --git a/TestON/examples/StepParams/StepParams.py b/TestON/examples/StepParams/StepParams.py
new file mode 100644
index 0000000..10cfd69
--- /dev/null
+++ b/TestON/examples/StepParams/StepParams.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+'''
+Created on 28-Nov-2012
+
+@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)
+
+
+ TestON is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ TestON is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TestON. If not, see <http://www.gnu.org/licenses/>.
+'''
+class StepParams:
+ '''
+ This example shows the usage of the STEP level parameters, in params file the
+ [[CASE1]]
+ [[[STEP1]]]
+ 'host' = 'h2'
+
+ We can get this STEP level parameter like :
+ main.params['CASE1']['STEP1']['host']
+
+
+ ofautomation>run StepParams example 1
+ '''
+ def __init__(self):
+ self.default = ""
+
+ def CASE1(self,main):
+ '''
+ This example will showcase the usage of STEP level parameters to specify the host as h2
+ '''
+ main.case("Using STEP level parameters to specify the host as h2")
+ main.step("Host IP Checking using checkIP")
+ result = main.Mininet1.checkIP(main.params['CASE1']['STEP1']['host'])
+ main.step("Verifying the result")
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Host h2 IP address configured",onfail="Host h2 IP address didn't configured")
+
+
+ def CASE2(self,main):
+ '''
+ This example will showcase the usage of STEP level parameters to specify the host as h3
+ '''
+ main.case("Using STEP level parameters to specify the host as h3")
+ main.step("Host IP Checking using checkIP")
+ result = main.Mininet1.checkIP(main.params['CASE2']['STEP1']['host'])
+ main.step("Verifying the result")
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Host h3 IP address configured",onfail="Host h3 IP address didn't configured")
diff --git a/TestON/examples/StepParams/StepParams.topo b/TestON/examples/StepParams/StepParams.topo
new file mode 100644
index 0000000..87cdc89
--- /dev/null
+++ b/TestON/examples/StepParams/StepParams.topo
@@ -0,0 +1,29 @@
+<TOPOLOGY>
+
+ <COMPONENT>
+ <Mininet1>
+ <host>192.168.56.101</host>
+ <user> openflow</user>
+ <password> openflow</password>
+ <type> MininetCliDriver </type>
+ <COMPONENTS>
+ # Specify the Option for mininet
+ <topo> single</topo>
+ <topocount>3</topocount>
+ <switch> ovsk </switch>
+ <controller> remote </controller>
+ </COMPONENTS>
+ </Mininet1>
+ <POX2>
+ <host> 192.168.56.101 </host>
+ <user> openflow </user>
+ <password> openflow </password>
+ <type> PoxCliDriver </type>
+ <test_target> 1 </test_target>
+ <COMPONENTS>
+ <pox_lib_location> /home/openflow/pox/ </pox_lib_location>
+ <samples.of_tutorial></samples.of_tutorial>
+ </COMPONENTS>
+ </POX2>
+ </COMPONENT>
+</TOPOLOGY>
\ No newline at end of file
diff --git a/TestON/examples/StepParams/__init__.py b/TestON/examples/StepParams/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/examples/StepParams/__init__.py
diff --git a/TestON/examples/StepParams/readme b/TestON/examples/StepParams/readme
new file mode 100644
index 0000000..e79df47
--- /dev/null
+++ b/TestON/examples/StepParams/readme
@@ -0,0 +1,12 @@
+This example shows the usage of the STEP level parameters, in params file the
+[[CASE1]]
+[[[STEP1]]]
+ 'host' = 'h2'
+
+We can get this CASE level parameter like :
+main.params['CASE1']['STEP1']['host']
+
+
+cd ~/bin/
+./launcher --example StepParams
+ will execute this example.
\ No newline at end of file
diff --git a/TestON/examples/Topology/Topology.ospk b/TestON/examples/Topology/Topology.ospk
new file mode 100644
index 0000000..c6a806e
--- /dev/null
+++ b/TestON/examples/Topology/Topology.ospk
@@ -0,0 +1,6 @@
+CASE 1
+ NAME "Testing the configuration of the host"
+ STEP "Host IP Checking using checkIP"
+ STORE ON Mininet1 DO checkIP USING CASE['destination'] IN result
+ STEP "Verifying the result"
+ ASSERT result EQUALS main.TRUE ONPASS "Host h2 IP address configured" ONFAIL "Host h2 IP address didn't configured"
diff --git a/TestON/examples/Topology/Topology.params b/TestON/examples/Topology/Topology.params
new file mode 100644
index 0000000..4ce0188
--- /dev/null
+++ b/TestON/examples/Topology/Topology.params
@@ -0,0 +1,7 @@
+[PARAMS]
+ 'testcases' = '1'
+ 'mail' = 'paxweb@paxterrasolutions.com'
+ #'log_dir' = '/home/user/Desktop/openflow_logs/'
+ [[CASE1]]
+ 'destination' = 'h2'
+
diff --git a/TestON/examples/Topology/Topology.py b/TestON/examples/Topology/Topology.py
new file mode 100644
index 0000000..775535c
--- /dev/null
+++ b/TestON/examples/Topology/Topology.py
@@ -0,0 +1,56 @@
+#!/usr/bin/env python
+'''
+Created on 28-Nov-2012
+
+@author: Anil Kumar (anilkumar.s@paxterrasolutions.com)
+
+
+ TestON is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation, either version 2 of the License, or
+ (at your option) any later version.
+
+ TestON is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with TestON. If not, see <http://www.gnu.org/licenses/>.
+'''
+class Topology:
+ '''
+
+ This example shows, how we can use the topology file:
+
+ In topo file we can specify the component like below:
+ [TOPOLOGY]
+
+ [[COMPONENT]]
+ [[["Mininet1"]]]
+
+ The usage of this component in the test script like below:
+
+ main.Mininet1.checkIP(main.params['CASE1']['destination'])
+
+ Here we are using the Mininet1 which of type Mininet
+
+
+
+ ofautomation>run Topology example 1
+ will execute this example.
+ '''
+ def __init__(self):
+ self.default = ""
+
+ def CASE1(self,main):
+ '''
+ This will showcase the usage of Topology
+ '''
+ main.case("Usage of Topology")
+ main.step("Mininet1 specified in Topology , using the Mininet1 to check host ip")
+ result = main.Mininet1.checkIP(main.params['CASE1']['destination'])
+ main.step("Verifying the result")
+ utilities.assert_equals(expect=main.TRUE,actual=result,onpass="Host h2 IP address configured",onfail="Host h2 IP address didn't configured")
+
+
diff --git a/TestON/examples/Topology/Topology.topo b/TestON/examples/Topology/Topology.topo
new file mode 100644
index 0000000..1dd59ea
--- /dev/null
+++ b/TestON/examples/Topology/Topology.topo
@@ -0,0 +1,24 @@
+[TOPOLOGY]
+
+ [[COMPONENT]]
+ [[["Mininet1"]]]
+ 'host' = '192.168.56.101'
+ 'user' = 'openflow'
+ 'password' = 'openflow'
+ 'type' = "MininetCliDriver"
+ [[[["COMPONENTS"]]]]
+ # Specify the Option for mininet
+ 'topo' = 'single'
+ 'topocount' = '3'
+ 'switch' = 'ovsk'
+ 'controller' = 'remote'
+ [[["POX2"]]]
+ 'host' = '192.168.56.101'
+ 'user' = 'openflow'
+ 'password' = 'openflow'
+ 'type' = 'PoxCliDriver'
+ 'no-cli' = '1' #or '0' if want to run in cli mode
+ 'location' = 'default' #"/home/openflow/OFAutomation-OFAutomation-0.0.1/lib/pox/"
+ [[[["COMPONENTS"]]]]
+ 'pox_lib_location' = '/home/openflow/pox/'
+ [[[[["samples.of_tutorial"]]]]]
\ No newline at end of file
diff --git a/TestON/examples/Topology/__init__.py b/TestON/examples/Topology/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/examples/Topology/__init__.py
diff --git a/TestON/examples/Topology/readme b/TestON/examples/Topology/readme
new file mode 100644
index 0000000..712aa0f
--- /dev/null
+++ b/TestON/examples/Topology/readme
@@ -0,0 +1,19 @@
+This example shows , how we can use the topology file:
+
+In topo file we can specify the component like below:
+[TOPOLOGY]
+
+ [[COMPONENT]]
+ [[["Mininet1"]]]
+
+The usage of this component in the test script like below:
+
+main.Mininet1.checkIP(main.params['CASE1']['destination'])
+
+Here we are using the Mininet1 which of type Mininet
+
+
+
+cd ~/bin/
+./launcher --example Topology
+ will execute this example.
\ No newline at end of file
diff --git a/TestON/examples/__init__.py b/TestON/examples/__init__.py
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/TestON/examples/__init__.py