예제 #1
0
    def _check_results(self, dirname):
        pth = os.path.join(BASEDIR, "selftests", ".data", dirname)

        # pwd
        self.assertEqual(jobdata.retrieve_pwd(pth),
                         "/home/user/avocado",
                         "pwd mismatch")

        # references
        self.assertEqual(jobdata.retrieve_references(pth),
                         ["yes", "no"], "references mismatch")

        # variants
        try:
            variants = jobdata.retrieve_variants(pth)
        except Exception as details:
            self.fail("variants: Unable to retrieve: %s" % details)
        act = variants.to_str(0, 99)
        self.assertTrue(act)
        exp = ("\nVariant first-febe:    /run/first\n"
               "    /run/first:variable_one => 1\n\n"
               "Variant second-bafe:    /run/second\n"
               "    /run/second:variable_two => 2")
        self.assertIn(exp, act, "variants mismatch")

        # args
        try:
            args = jobdata.retrieve_args(pth)
        except Exception as details:
            self.fail("args: Unable to retrieve: %s" % details)
        self.assertTrue(isinstance(args, dict),
                        "args: Invalid args: %s" % args)
        for scenario in [["loaders", [u"external:/bin/echo"]],
                         ["external_runner", u"/bin/echo"],
                         ["failfast", False, None],
                         ["ignore_missing_references", False, None],
                         ["execution_order", "variants-per-test",
                          None]]:
            act = args.get(scenario[0])
            self.assertIn(act, scenario[1:],
                          "args: Invalid value '%s' of key '%s' '%s'" % (
                              act, scenario[0], scenario[1:]))

        # config
        conf_path = jobdata.retrieve_config(pth)
        self.assertTrue(os.path.exists(conf_path),
                        "config: Retrieved path '%s' does not exists" %
                        conf_path)
        exp = "[avocado.selftest]\njobdata = yes"
        with open(conf_path, "r") as conf:
            act = conf.read()
            self.assertIn(exp, act,
                          "config: Expected string\n%s\n\nNot in:\n%s" % (
                              exp, act))

        # cmdline
        act = jobdata.retrieve_cmdline(pth)
        exp = ['/usr/local/bin/avocado', 'run', '--external-runner',
               '/bin/echo', '-m', 'examples/yaml_to_mux/simple_vars.yaml',
               '--', 'yes', 'no']
        self.assertEqual(exp, act,
                         "cmdline: Invalid cmdline '%s' (%s)" % (act, exp))
예제 #2
0
    def _get_command_line(resultsdir):
        command_line = jobdata.retrieve_cmdline(resultsdir)
        if command_line is not None:
            return '%s\n' % ' '.join(command_line)

        return 'Not found\n'
예제 #3
0
    def _check_results(self, dirname):
        pth = os.path.join(BASEDIR, "selftests", ".data", dirname)

        # pwd
        self.assertEqual(jobdata.retrieve_pwd(pth), "/home/user/avocado",
                         "pwd mismatch")

        # references
        self.assertEqual(jobdata.retrieve_references(pth), ["yes", "no"],
                         "references mismatch")

        # variants
        try:
            variants = jobdata.retrieve_variants(pth)
        except Exception as details:
            self.fail("variants: Unable to retrieve: %s" % details)
        act = variants.to_str(0, 99)
        self.assertTrue(act)
        exp = ("\nVariant first-febe:    /run/first\n"
               "    /run/first:variable_one => 1\n\n"
               "Variant second-bafe:    /run/second\n"
               "    /run/second:variable_two => 2")
        self.assertIn(exp, act, "variants mismatch")

        # args
        try:
            args = jobdata.retrieve_args(pth)
        except Exception as details:
            self.fail("args: Unable to retrieve: %s" % details)
        self.assertTrue(isinstance(args, dict),
                        "args: Invalid args: %s" % args)
        for scenario in [["loaders", [u"external:/bin/echo"]],
                         ["external_runner", u"/bin/echo"],
                         ["failfast", False, None],
                         ["ignore_missing_references", False, None],
                         ["execution_order", "variants-per-test", None]]:
            act = args.get(scenario[0])
            self.assertIn(
                act, scenario[1:],
                "args: Invalid value '%s' of key '%s' '%s'" %
                (act, scenario[0], scenario[1:]))

        # config
        conf_path = jobdata.retrieve_config(pth)
        self.assertTrue(
            os.path.exists(conf_path),
            "config: Retrieved path '%s' does not exists" % conf_path)
        exp = "[avocado.selftest]\njobdata = yes"
        with open(conf_path, "r") as conf:
            act = conf.read()
            self.assertIn(
                exp, act,
                "config: Expected string\n%s\n\nNot in:\n%s" % (exp, act))

        # cmdline
        act = jobdata.retrieve_cmdline(pth)
        exp = [
            '/usr/local/bin/avocado', 'run', '--external-runner', '/bin/echo',
            '-m', 'examples/yaml_to_mux/simple_vars.yaml', '--', 'yes', 'no'
        ]
        self.assertEqual(exp, act,
                         "cmdline: Invalid cmdline '%s' (%s)" % (act, exp))
예제 #4
0
    def _get_command_line(resultsdir):
        command_line = jobdata.retrieve_cmdline(resultsdir)
        if command_line is not None:
            return '%s\n' % ' '.join(command_line)

        return 'Not found\n'
예제 #5
0
    def _check_results(pth):
        msg = "Retrieved %s is not '%s' (%s)"
        errs = []
        # pwd
        exp = "/home/medic/Work/Projekty/avocado/avocado"
        act = jobdata.retrieve_pwd(pth)
        if act != exp:
            errs.append("pwd: '%s' '%s'" % (exp, act))

        # references
        exp = ["yes", "no"]
        act = jobdata.retrieve_references(pth)
        if act != exp:
            errs.append("references: '%s' '%s'" % (exp, act))

        # variants
        try:
            variants = jobdata.retrieve_variants(pth)
            act = variants.to_str(0, 99)
        except Exception as details:
            errs.append("variants: Unable to retrieve: %s" % details)
        else:
            exp = ("\nVariant variant1-6ec4:    /run/variant1\n"
                   "    /run/variant1:foo => bar\n\n"
                   "Variant variant2-a6fe:    /run/variant2\n"
                   "    /run/variant2:foo => baz")
            if not act or exp not in act:
                errs.append("variants:\n%s\n\n%s" % (exp, act))

        # args
        try:
            args = jobdata.retrieve_args(pth)
        except Exception as details:
            errs.append("args: Unable to retrieve: %s" % details)
        else:
            if isinstance(args, dict):
                for scenario in [["loaders", [u"external:/bin/echo"]],
                                 ["external_runner", u"/bin/echo"],
                                 ["failfast", False, None],
                                 ["ignore_missing_references", False, None],
                                 ["execution_order", "variants-per-test",
                                  None]]:
                    act = args.get(scenario[0])
                    for exp in scenario[1:]:
                        if act == exp:
                            break
                    else:
                        errs.append("args: Invalid value '%s' of key '%s' "
                                    "%s" % (act, scenario[0],
                                            scenario[1:]))
            else:
                errs.append("args: Invalid args: %s" % args)

        # config
        conf_path = jobdata.retrieve_config(pth)
        if os.path.exists(conf_path):
            exp = "[avocado.selftest]\njobdata = yes"
            with open(conf_path, "r") as conf:
                act = conf.read()
                if exp not in act:
                    errs.append("config: Expected string\n%s\n\nNot in:\n%s"
                                % (exp, act))

        else:
            errs.append("config: Retrieved path '%s' does not exists"
                        % conf_path)

        # cmdline
        act = jobdata.retrieve_cmdline(pth)
        exp = ['/usr/local/bin/avocado', 'run', '--external-runner',
               '/bin/echo', '-m', 'examples/mux-0.yaml', '--', 'yes', 'no']
        if exp != act:
            errs.append("cmdline: Invalid cmdline '%s' (%s)" % (act, exp))
        return errs
예제 #6
0
    def _check_results(pth):
        msg = "Retrieved %s is not '%s' (%s)"
        errs = []
        # pwd
        exp = "/home/medic/Work/Projekty/avocado/avocado"
        act = jobdata.retrieve_pwd(pth)
        if act != exp:
            errs.append("pwd: '%s' '%s'" % (exp, act))

        # references
        exp = ["yes", "no"]
        act = jobdata.retrieve_references(pth)
        if act != exp:
            errs.append("references: '%s' '%s'" % (exp, act))

        # variants
        try:
            variants = jobdata.retrieve_variants(pth)
            act = variants.to_str(0, 99)
        except Exception as details:
            errs.append("variants: Unable to retrieve: %s" % details)
        else:
            exp = ("\nVariant variant1-6ec4:    /run/variant1\n"
                   "    /run/variant1:foo => bar\n\n"
                   "Variant variant2-a6fe:    /run/variant2\n"
                   "    /run/variant2:foo => baz")
            if not act or exp not in act:
                errs.append("variants:\n%s\n\n%s" % (exp, act))

        # args
        try:
            args = jobdata.retrieve_args(pth)
        except Exception as details:
            errs.append("args: Unable to retrieve: %s" % details)
        else:
            if isinstance(args, dict):
                for scenario in [["loaders", [u"external:/bin/echo"]],
                                 ["external_runner", u"/bin/echo"],
                                 ["failfast", False, None],
                                 ["ignore_missing_references", False, None],
                                 [
                                     "execution_order", "variants-per-test",
                                     None
                                 ]]:
                    act = args.get(scenario[0])
                    for exp in scenario[1:]:
                        if act == exp:
                            break
                    else:
                        errs.append("args: Invalid value '%s' of key '%s' "
                                    "%s" % (act, scenario[0], scenario[1:]))
            else:
                errs.append("args: Invalid args: %s" % args)

        # config
        conf_path = jobdata.retrieve_config(pth)
        if os.path.exists(conf_path):
            exp = "[avocado.selftest]\njobdata = yes"
            with open(conf_path, "r") as conf:
                act = conf.read()
                if exp not in act:
                    errs.append("config: Expected string\n%s\n\nNot in:\n%s" %
                                (exp, act))

        else:
            errs.append("config: Retrieved path '%s' does not exists" %
                        conf_path)

        # cmdline
        act = jobdata.retrieve_cmdline(pth)
        exp = [
            '/usr/local/bin/avocado', 'run', '--external-runner', '/bin/echo',
            '-m', 'examples/mux-0.yaml', '--', 'yes', 'no'
        ]
        if exp != act:
            errs.append("cmdline: Invalid cmdline '%s' (%s)" % (act, exp))
        return errs
예제 #7
0
    def _get_command_line(resultsdir):
        command_line = jobdata.retrieve_cmdline(resultsdir)
        if command_line is not None:
            return f"{' '.join(command_line)}\n"

        return "Not found\n"