[py-svn] r34619 - py/dist/py/test

fijal at codespeak.net fijal at codespeak.net
Wed Nov 15 11:59:28 CET 2006


Author: fijal
Date: Wed Nov 15 11:59:23 2006
New Revision: 34619

Modified:
   py/dist/py/test/cmdline.py
Log:
Added more relaxed option handling.


Modified: py/dist/py/test/cmdline.py
==============================================================================
--- py/dist/py/test/cmdline.py	(original)
+++ py/dist/py/test/cmdline.py	Wed Nov 15 11:59:23 2006
@@ -12,22 +12,24 @@
         args = args.split(" ")
     config, args = py.test.Config.parse(args)
     sessionclass = config.getsessionclass() 
-    session = sessionclass(config)
     
     # ok, some option checks
-    if config.option.startserver:
-        from py.__.test.rsession.rsession import AbstractSession
-        if not isinstance(session, AbstractSession):
-            print "Cannot use web server without (R|L)Session"
-            raise SystemExit, 2
+    if config.option.startserver or config.option.runbrowser:
+        from py.__.test.rsession.rsession import AbstractSession, LSession
+        if not issubclass(sessionclass, AbstractSession):
+            print "Cannot use web server without (R|L)Session, using lsession"
+            sessionclass = LSession
     if config.option.apigen:
-        from py.__.test.rsession.rsession import AbstractSession
-        if not isinstance(session, AbstractSession):
-            print "Cannot generate API without (R|L)Session"
-            raise SystemExit, 2
+        from py.__.test.rsession.rsession import AbstractSession, LSession
+        if not issubclass(sessionclass, AbstractSession):
+            sessionclass = LSession
+            print "Cannot generate API without (R|L)Session, using lsession"
+    
+    session = sessionclass(config)
+    
     if config.option.runbrowser and not config.option.startserver:
         print "Cannot point browser when not starting server"
-        raise SystemExit, 2
+        config.option.startserver = True
     try:
         if config.getinitialvalue('startserver'):
             py.std.warnings.warn("Startserver flag in config is deprecated, use commandline option istead")



More information about the pytest-commit mailing list