2 new revisions:

Revision: 532d879ebf72
Branch:   default
Author:   Mikko Korpela <[email protected]>
Date:     Thu Apr 18 03:05:50 2013
Log:      ProcessLibrary: Switch Active Process
http://code.google.com/p/robotframework/source/detail?r=532d879ebf72

Revision: bf6bb587874a
Branch:   default
Author:   Mikko Korpela <[email protected]>
Date:     Thu Apr 18 03:10:42 2013
Log:      ProcessLibrary: Run Process does not change active process
http://code.google.com/p/robotframework/source/detail?r=bf6bb587874a

==============================================================================
Revision: 532d879ebf72
Branch:   default
Author:   Mikko Korpela <[email protected]>
Date:     Thu Apr 18 03:05:50 2013
Log:      ProcessLibrary: Switch Active Process
http://code.google.com/p/robotframework/source/detail?r=532d879ebf72

Modified:
 /atest/robot/standard_libraries/test_process_library.txt
 /atest/testdata/standard_libraries/test_process_library.txt
 /src/robot/libraries/ProcessLibrary.py

=======================================
--- /atest/robot/standard_libraries/test_process_library.txt Wed Apr 17 05:08:45 2013 +++ /atest/robot/standard_libraries/test_process_library.txt Thu Apr 18 03:05:50 2013
@@ -15,6 +15,9 @@

 Start And Wait Process
     Check Test Case    ${TESTNAME}
+
+Switching active process
+    Check Test Case    ${TESTNAME}

 Killing process
     Check Test Case    ${TESTNAME}
=======================================
--- /atest/testdata/standard_libraries/test_process_library.txt Wed Apr 17 06:05:30 2013 +++ /atest/testdata/standard_libraries/test_process_library.txt Thu Apr 18 03:05:50 2013
@@ -23,6 +23,18 @@
           Should Be True          ${is_alive}
           Wait For Process          ${handle}
           Process Should Be Dead          ${handle}
+
+Switching active process
+          ${process_one}=       Endless process    one
+          Kill Process          one
+          ${process_two}=       Endless process    two
+          Process Should Be Alive   ${process_two}
+          Switch Active Process     one
+          Process Should Be Dead
+          Switch Active Process     two
+          Process Should Be Alive
+          Kill Process
+

 Killing process
           ${handle}=          Endless process
=======================================
--- /src/robot/libraries/ProcessLibrary.py      Wed Apr 17 06:05:30 2013
+++ /src/robot/libraries/ProcessLibrary.py      Thu Apr 18 03:05:50 2013
@@ -54,11 +54,11 @@
             self._started_processes.switch(handle)
         return self._started_processes.current.poll() is None

-    def process_should_be_alive(self, handle):
+    def process_should_be_alive(self, handle=None):
         if not self.process_is_alive(handle):
             raise AssertionError('Process is not alive')

-    def process_should_be_dead(self, handle):
+    def process_should_be_dead(self, handle=None):
         if self.process_is_alive(handle):
             raise AssertionError('Process is alive')

@@ -97,6 +97,9 @@
         with open(alog.stdout,'a') as f:
             f.write(msg.encode('UTF-8'))

+    def switch_active_process(self, handle):
+        self._started_processes.switch(handle)
+

 class ExecutionResult(object):


==============================================================================
Revision: bf6bb587874a
Branch:   default
Author:   Mikko Korpela <[email protected]>
Date:     Thu Apr 18 03:10:42 2013
Log:      ProcessLibrary: Run Process does not change active process
http://code.google.com/p/robotframework/source/detail?r=bf6bb587874a

Modified:
 /atest/robot/standard_libraries/test_process_library.txt
 /atest/testdata/standard_libraries/test_process_library.txt
 /src/robot/libraries/ProcessLibrary.py

=======================================
--- /atest/robot/standard_libraries/test_process_library.txt Thu Apr 18 03:05:50 2013 +++ /atest/robot/standard_libraries/test_process_library.txt Thu Apr 18 03:10:42 2013
@@ -18,6 +18,9 @@

 Switching active process
     Check Test Case    ${TESTNAME}
+
+Run process does not change active process
+    Check Test Case    ${TESTNAME}

 Killing process
     Check Test Case    ${TESTNAME}
=======================================
--- /atest/testdata/standard_libraries/test_process_library.txt Thu Apr 18 03:05:50 2013 +++ /atest/testdata/standard_libraries/test_process_library.txt Thu Apr 18 03:10:42 2013
@@ -34,6 +34,13 @@
           Switch Active Process     two
           Process Should Be Alive
           Kill Process
+
+Run process does not change active process
+          Endless process    active
+          ${expected id}=    Get Process Id
+          Run Python Process    1+1
+          ${id}=             Get Process Id
+          Should Be Equal     ${expected id}   ${id}


 Killing process
=======================================
--- /src/robot/libraries/ProcessLibrary.py      Thu Apr 18 03:05:50 2013
+++ /src/robot/libraries/ProcessLibrary.py      Thu Apr 18 03:10:42 2013
@@ -31,8 +31,12 @@
         self._tempdir = tempfile.mkdtemp(suffix="processlib")

     def run_process(self, command, *args, **conf):
-        p = self.start_new_process(command, *args, **conf)
-        return self.wait_for_process(p)
+        active_process_index = self._started_processes.current_index
+        try:
+            p = self.start_new_process(command, *args, **conf)
+            return self.wait_for_process(p)
+        finally:
+            self._started_processes.switch(active_process_index)

     def start_new_process(self, command, *args, **conf):
         cmd = [command]+[str(i) for i in args]
@@ -84,8 +88,9 @@
             if self.process_is_alive(handle):
                 self.kill_process(handle)

-    def get_process_id(self, handle):
-        self._started_processes.switch(handle)
+    def get_process_id(self, handle=None):
+        if handle:
+            self._started_processes.switch(handle)
         return self._started_processes.current.pid

     def input_to_process(self, handle, msg):

--

--- You received this message because you are subscribed to the Google Groups "robotframework-commit" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Reply via email to