コード例 #1
0
 def setUp(self):
     self.environment_registry = environment_registry.new(
         convention.DEFAULT, [])
     self.manager = testplan.Manager(
         self.environment_registry,
         testplan.suites_from(
             [full_path('testdata/caserunner_test_exception.yaml')]))
     self.results = Visitor()
コード例 #2
0
 def setUp(self):
     self.environment_registry = environment_registry.new(
         'tag:alpine',
         [full_path('testdata/caserunner_test_target.manifest.yaml')])
     self.manager = testplan.Manager(
         self.environment_registry,
         testplan.suites_from(
             [full_path('testdata/caserunner_test_target.yaml')]))
     self.results = Visitor()
コード例 #3
0
 def setUp(self):
   self.environment_registry = environment_registry.new(convention.DEFAULT,
                                                        inputs.create_indexed_docs())
   self.manager = testplan.Manager(
       self.environment_registry,
       testplan.suites_from(
           inputs.create_indexed_docs(
               *full_paths('testdata/caserunner_test_exception.yaml'))))
   self.results = Visitor()
コード例 #4
0
 def setUp(self):
   self.environment_registry = environment_registry.new(convention.DEFAULT, [full_path('testdata/caserunner_test.manifest.yaml')])
   self.manager = testplan.Manager(
       self.environment_registry,
       testplan.suites_from([full_path('testdata/caserunner_test.yaml')]))
   self.results = Visitor()
   self.manager.accept(testplan.MultiVisitor(runner.Visitor(),
                                             summary.SummaryVisitor(verbosity=summary.Detail.FULL,
                                                                    show_errors=True)))
   if self.manager.accept(self.results) is not None:
     self.fail('error running test plan: {}'.format(self.results.error))
コード例 #5
0
 def setUp(self):
   self.environment_registry = environment_registry.new(
       'tag:alpine',
       inputs.create_indexed_docs(
           *full_paths('testdata/caserunner_test_target.manifest.yaml')))
   self.manager = testplan.Manager(
       self.environment_registry,
       testplan.suites_from(
           inputs.create_indexed_docs(
               *full_paths('testdata/caserunner_test_target.yaml'))))
   self.results = Visitor()
コード例 #6
0
    def test_suites_from_filter_cases(self):
        test_plan = testplan.suites_from(self.config, case_filter='tron')

        selected_suites = {
            suite.name()
            for suite in test_plan if suite.selected()
        }
        selected_cases = {
            test_case.name()
            for suite in test_plan for test_case in suite.cases
            if suite.selected() and test_case.selected()
        }
        self.assertEqual({'hadrons', 'leptons'}, selected_suites)
        self.assertEqual({'neutron', 'electron'}, selected_cases)
コード例 #7
0
  def setUp(self):
    self.environment_registry = environment_registry.new(
        convention.DEFAULT, inputs.create_indexed_docs())
    self.manager = testplan.Manager(
        self.environment_registry,
        testplan.suites_from(
            inputs.create_indexed_docs(
                *full_paths('testdata/caserunner_test_setup_failures.yaml'))))
    self.results = Visitor()
    self.manager.accept(testplan.MultiVisitor(runner.Visitor(fail_fast=False),
                                              summary.SummaryVisitor(verbosity=summary.Detail.FULL,
                                                                     show_errors=True)))
    if self.manager.accept(self.results) is not None:
      self.fail('error running test plan: {}'.format(self.results.error))

    self.fname_re = re.compile('^filename: (.+)$', re.MULTILINE)
コード例 #8
0
ファイル: cli.py プロジェクト: ejmvar/sample-tester
def main():
    args, usage = parse_cli()
    if not args:
        exit(EXITCODE_SETUP_ERROR)

    if args.version:
        print("sampletester version {}".format(VERSION))

    log_level = LOG_LEVELS[args.logging] or DEFAULT_LOG_LEVEL
    logging.basicConfig(level=log_level)
    logging.info("argv: {}".format(sys.argv))

    try:
        test_files, user_paths = get_files(args.files)

        registry = environment_registry.new(args.convention, user_paths)

        test_suites = testplan.suites_from(test_files, args.suites, args.cases)
        if len(test_suites) == 0:
            exit(EXITCODE_SUCCESS)
        manager = testplan.Manager(registry, test_suites, args.envs)
    except Exception as e:
        logging.error("fatal error: {}".format(repr(e)))
        print("\nERROR: could not run tests because {}\n".format(e))
        if DEBUGME:
            traceback.print_exc(file=sys.stdout)
        else:
            print(usage)
        exit(EXITCODE_SETUP_ERROR)

    verbosity = VERBOSITY_LEVELS[args.verbosity]
    quiet = verbosity == summary.Detail.NONE
    visitor = testplan.MultiVisitor(
        runner.Visitor(args.fail_fast),
        summary.SummaryVisitor(verbosity, not args.suppress_failures))
    try:
        success = manager.accept(visitor)
    except KeyboardInterrupt:
        print('\nkeyboard interrupt; aborting')
        exit(EXITCODE_USER_ABORT)

    if not quiet or (not success and not args.suppress_failures):
        print()
        if success:
            print("Tests passed")
        else:
            print("Tests failed")

    if args.xunit:
        try:
            with smart_open(args.xunit) as xunit_output:
                xunit_output.write(manager.accept(xunit.Visitor()))
            if not quiet:
                print('xUnit output written to "{}"'.format(args.xunit))
        except Exception as e:
            print("could not write xunit output to {}: {}".format(
                args.xunit, e))
            if DEBUGME:
                traceback.print_exc(file=sys.stdout)
            exit(EXITCODE_FLAG_ERROR)

    exit(EXITCODE_SUCCESS if success else EXITCODE_TEST_FAILURE)