Package pysys :: Package process
[hide private]
[frames] | no frames]

Source Code for Package pysys.process

 1  #!/usr/bin/env python 
 2  # PySys System Test Framework, Copyright (C) 2006-2013  M.B.Grieve 
 3   
 4  # This library is free software; you can redistribute it and/or 
 5  # modify it under the terms of the GNU Lesser General Public 
 6  # License as published by the Free Software Foundation; either 
 7  # version 2.1 of the License, or (at your option) any later version. 
 8   
 9  # This library is distributed in the hope that it will be useful, 
10  # but WITHOUT ANY WARRANTY; without even the implied warranty of 
11  # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
12  # Lesser General Public License for more details. 
13   
14  # You should have received a copy of the GNU Lesser General Public 
15  # License along with this library; if not, write to the Free Software 
16  # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA 
17   
18  # Contact: moraygrieve@users.sourceforge.net 
19  """ 
20  Contains cross platform classes and utilities for starting, stopping and monitoring processes.  
21   
22  The module contains the base class L{pysys.process.user} that can be extended by subclasses that  
23  require the ability to start, stop, interact and monitor processes started by the PySys  
24  framework. Subclasses within the framework are the L{pysys.basetest.BaseTest} and  
25  L{pysys.baserunner.BaseRunner} classes, both of which may be required to start processes as part  
26  of the execution of a set of testcases. The import path of the helper and monitor modules is set up 
27  at runtime so as to select either the Win32 modules (located in pysys.process.plat-win32), or the  
28  unix modules (located in pysys.process.plat-unix); both modules are written to display common  
29  functionality in order to provide a unified abstraction where the user is not required to select the  
30  correct modules based on their current operation system. 
31   
32  """ 
33   
34  import os.path 
35  from pysys.constants import * 
36   
37  # set the modules to import when imported the pysys.process package 
38  __all__ = [ "helper", 
39                          "monitor", 
40                          "user" ] 
41   
42  # add to the __path__ to import the platform specific helper class 
43  dirname = __path__[0] 
44  if PLATFORM in [ "sunos", "linux" ]: 
45          __path__.append(os.path.join(dirname, "plat-unix")) 
46  else: 
47          __path__.append(os.path.join(dirname, "plat-win32")) 
48