Пример #1
0
 def testCustomReporter(self, depfile):
     output = StringIO.StringIO()
     class MyReporter(reporter.ConsoleReporter):
         def get_status(self, task):
             self.outstream.write('MyReporter.start %s\n' % task.name)
     cmds.doit_run(depfile.name, [tasks_sample()[0]], output, reporter=MyReporter)
     got = output.getvalue().split("\n")[:-1]
     assert 'MyReporter.start t1' == got[0]
Пример #2
0
 def testSetVerbosity(self, depfile):
     output = StringIO.StringIO()
     t = Task('x', None)
     used_verbosity = []
     def my_execute(out, err, verbosity):
         used_verbosity.append(verbosity)
     t.execute = my_execute
     cmds.doit_run(depfile.name, [t], output, verbosity=2)
     assert 2 == used_verbosity[0], used_verbosity
Пример #3
0
 def test_outfile(self, depfile):
     cmds.doit_run(depfile.name, tasks_sample(), 'test.out', ["g1.a"])
     try:
         outfile = open('test.out', 'r')
         got = outfile.read()
         outfile.close()
         assert ".  g1.a\n" == got, repr(got)
     finally:
         if os.path.exists('test.out'):
             os.remove('test.out')
Пример #4
0
 def testSetVerbosity(self):
     remove_testdb()
     output = StringIO.StringIO()
     t = Task('x', None)
     used_verbosity = []
     def my_execute(out, err, verbosity):
         used_verbosity.append(verbosity)
     t.execute = my_execute
     cmds.doit_run(TESTDB, [t], output, verbosity=2)
     assert 2 == used_verbosity[0], used_verbosity
Пример #5
0
 def testProcessRunMP(self):
     remove_testdb()
     output = StringIO.StringIO()
     result = cmds.doit_run(TESTDB, tasks_sample(), output, num_process=1)
     assert 0 == result
     got = output.getvalue().split("\n")[:-1]
     assert [".  t1", ".  t2", ".  g1.a", ".  g1.b", ".  t3"] == got
Пример #6
0
def cmd_run(params, args):
    """execute cmd 'run' """

    # special parameters that dont run anything
    if params["version"]:
        print_version()
        return 0
    if params["help"]:
        print_usage()
        return 0

    # check if no sub-command specified. default command is "run"
    if len(args) == 0 or args[0] not in params['sub']:
        dodo_tasks = loader.get_tasks(*_path_params(params))
        params.update_defaults(dodo_tasks['config'])
        default_tasks = args or dodo_tasks['config'].get('default_tasks')
        return doit_run(params['dep_file'], dodo_tasks['task_list'],
                        params['outfile'], default_tasks,
                        params['verbosity'], params['always'],
                        params['continue'], params['reporter'],
                        params['num_process'])

    # explicit sub-cmd. parse arguments again
    commands = params['sub']
    sub_cmd = args.pop(0)
    return commands[sub_cmd](args, **params)
Пример #7
0
 def testProcessRunEmptyFilter(self, depfile):
     output = StringIO.StringIO()
     cmds.doit_run(depfile.name, tasks_sample(), output, [])
     got = output.getvalue().split("\n")[:-1]
     assert [] == got
Пример #8
0
 def testProcessRunFilter(self, depfile):
     output = StringIO.StringIO()
     cmds.doit_run(depfile.name, tasks_sample(), output, ["g1.a"])
     got = output.getvalue().split("\n")[:-1]
     assert [".  g1.a"] == got, repr(got)
Пример #9
0
 def testProcessRunMP(self, depfile):
     output = StringIO.StringIO()
     result = cmds.doit_run(depfile.name, tasks_sample(), output, num_process=1)
     assert 0 == result
     got = output.getvalue().split("\n")[:-1]
     assert [".  t1", ".  t2", ".  g1.a", ".  g1.b", ".  t3"] == got
Пример #10
0
 def testProcessRunEmptyFilter(self):
     remove_testdb()
     output = StringIO.StringIO()
     cmds.doit_run(TESTDB, tasks_sample(), output, [])
     got = output.getvalue().split("\n")[:-1]
     assert [] == got