# -*- coding: utf-8 -*-
# vim: tabstop=4 shiftwidth=4 softtabstop=4

"""
This is our basic test running framework.

Usage Examples:

    # to run all the tests
    python run_tests.py

    # to run a specific test suite imported here
    python run_tests.py ExampleTestCase

    # to run a specific test imported here
    python run_tests.py ExampleTestCase.testBasic

"""

import sys
import unittest

from opengem import logs
from opengem import flags
FLAGS = flags.FLAGS

flags.DEFINE_boolean('speed_tests', False, "Run performance tests?")

if __name__ == '__main__':
    sys.argv = FLAGS(sys.argv)  
    sys.path.append("tests")
    logs.init_logs()
    
    try:
        import nose
        args = ['nosetests']
        if (FLAGS.debug == "debug"):
            pass
        else:
            args.append("--logging-clear-handlers")

        if FLAGS.speed_tests:
            print "Running speed tests with %s" % args
            nose.run(defaultTest='tests.xml_speedtests', argv=args)
        else:
            nose.run(defaultTest='tests', argv=args)

    except ImportError, _e:
        print "Couldn't find nose, using something else"
        unittest.main()


@@ -243,32 +243,38 @@
 on run_tests.py 
+tests:
 ExampleTestCase%0A
@@ -341,16 +341,22 @@
 ests.py 
+tests:
 ExampleT
@@ -663,13 +663,8 @@
 s()%0A
-    %0A
     
@@ -687,16 +687,77 @@
 ort nose
+%0A%0A        args = sys.argv%0A        args.remove('run_tests.py')
 %0A       
@@ -777,16 +777,25 @@
 etests'%5D
+ + args%0A%0A
 %0A       

Fix run_tests.py to support running single test cases