예제 #1
0
    def _jenkins_ext_setup_server_yaml2(self, use_url):
        srv = JenkinsExt(
            "http://localhost:8080/", "user", "password", mock=True,
            engines=default_engines(platform="win32"), fLOG=fLOG, platform="win32")

        fLOG("---------------------")
        modules = default_jenkins_jobs()
        if not use_url:
            this = os.path.abspath(os.path.dirname(__file__))
            local_file = os.path.join(this, "data", ".local.jenkins.win.yml")
            modules = [('yml', local_file, 'H H(5-6) * * 0')]
        fLOG("[modules]", modules)
        res = setup_jenkins_server_yml(srv, github="sdpython", modules=modules,
                                       overwrite=True, add_environ=False,
                                       location="anything")
        reg = re.compile("<description>(.*)</description>")
        nb = 0
        sch = 0
        for i, r in enumerate(res):
            conf = r[-1]

            if not conf.startswith("<?xml version='1.0' encoding='UTF-8'?>"):
                raise Exception(conf)

            search = reg.search(conf)
            if not search:
                raise Exception(conf)

            job = r[0]
            fLOG(search.groups()[0], "--", job, "--", r[1])

            if "PYQUICKHELPER27" in conf:
                raise Exception(conf)

            if "SET VERSION=" not in conf:
                raise Exception(conf)
            if "SET NAME=" not in conf:
                raise Exception(conf)
            if "SET DIST=" not in conf:
                raise Exception(conf)
            if use_url and "anything\\pyquickhelper\\%NAME_JENKINS%" not in conf:
                raise Exception(conf)
            if "pyquickhelper_UT_%d%d_std" % sys.version_info[:2] in conf:
                nb += 1
            if "H H(5-6) * * 0" in conf:
                sch += 1
            if "H H(6-7) * * 0" in conf:
                sch += 1

        self.assertTrue(i > 0)
        if use_url:
            if nb == 0:
                raise AssertionError(
                    "\n##############\n".join(r[-1] for r in res))
        self.assertEqual(sch, 2)
    def _jenkins_ext_setup_server_yaml2(self):
        srv = JenkinsExt("http://localhost:8080/",
                         "user",
                         "password",
                         mock=True,
                         engines=default_engines(platform="win32"),
                         fLOG=fLOG,
                         platform="win32")

        fLOG("---------------------")
        this = os.path.abspath(os.path.dirname(__file__))
        local_file = os.path.join(this, "data", ".local.jenkins.win2.yml")
        modules = [('yml', local_file, None)]

        fLOG("[modules]", modules)
        res = setup_jenkins_server_yml(srv,
                                       github="sdpython",
                                       modules=modules,
                                       overwrite=True,
                                       add_environ=False,
                                       location="anything")
        reg = re.compile("<description>(.*)</description>")
        sch = 0
        for i, r in enumerate(res):
            conf = r[-1]

            if not conf.startswith("<?xml version='1.0' encoding='UTF-8'?>"):
                raise Exception(conf)

            search = reg.search(conf)
            if not search:
                raise Exception(conf)

            job = r[0]
            fLOG(search.groups()[0], "--", job, "--", r[1])

            if "PYQUICKHELPER27" in conf:
                raise Exception(conf)

            if "SET VERSION=" not in conf:
                raise Exception(conf)
            if "SET NAME=" not in conf:
                raise Exception(conf)
            if "SET DIST=" not in conf:
                raise Exception(conf)
            if "10 10 * * *" in conf:
                sch += 1

        self.assertEqual(sch, 1)
    def _jenkins_ext_setup_server_yaml2(self):
        srv = JenkinsExt(
            "http://localhost:8080/", "user", "password", mock=True,
            engines=default_engines(platform="win32"), fLOG=fLOG, platform="win32")

        fLOG("---------------------")
        this = os.path.abspath(os.path.dirname(__file__))
        local_file = os.path.join(this, "data", ".local.jenkins.win2.yml")
        modules = [('yml', local_file, None)]

        fLOG("[modules]", modules)
        res = setup_jenkins_server_yml(srv, github="sdpython", modules=modules,
                                       overwrite=True, add_environ=False,
                                       location="anything")
        reg = re.compile("<description>(.*)</description>")
        sch = 0
        for i, r in enumerate(res):
            conf = r[-1]

            if not conf.startswith("<?xml version='1.0' encoding='UTF-8'?>"):
                raise Exception(conf)

            search = reg.search(conf)
            if not search:
                raise Exception(conf)

            job = r[0]
            fLOG(search.groups()[0], "--", job, "--", r[1])

            if "PYQUICKHELPER27" in conf:
                raise Exception(conf)

            if "SET VERSION=" not in conf:
                raise Exception(conf)
            if "SET NAME=" not in conf:
                raise Exception(conf)
            if "SET DIST=" not in conf:
                raise Exception(conf)
            if "10 10 * * *" in conf:
                sch += 1

        self.assertEqual(sch, 1)
예제 #4
0
    def test_jenkins_ext_setup_server_yaml_split2(self):
        fLOG(
            __file__,
            self._testMethodName,
            OutputPrint=__name__ == "__main__")

        engines = dict(Python35="py35", Python36="C:\\Python36_x64",
                       Python39="C:\\Python39_x64",
                       Python27="py27", Anaconda3="ana3", Anaconda2="ana2",
                       project_name="pyquickhelper", root_path="ROOT")
        srv = JenkinsExt(
            "http://localhost:8080/", "user", "password", mock=True,
            engines=engines, fLOG=fLOG, platform="win32")

        this = os.path.abspath(os.path.dirname(__file__))
        localyml = os.path.abspath(os.path.join(
                                   this, "data", "local2.yml"))

        fLOG("---------------------")
        modules = [('yml', localyml, 'H H(5-6) * * 0')]
        res = setup_jenkins_server_yml(srv, github="sdpython", modules=modules,
                                       overwrite=True, add_environ=False,
                                       location="anything")
        reg = re.compile("<description>(.*)</description>")
        assert len(res) > 0
        for i, r in enumerate(res):
            conf = r[-1]

            if not conf.startswith("<?xml version='1.0' encoding='UTF-8'?>"):
                raise Exception(conf)

            search = reg.search(conf)
            if not search:
                raise Exception(conf)

            job = r[0]
            fLOG(search.groups()[0], "--", job, "--", r[1])

            confno = conf.replace("\n", "")
            exp = "</hudson.tasks.BatchFile><hudson.tasks.BatchFile>"
            if exp not in confno:
                raise Exception(confno)
    def _linux_jenkins_ext_setup_server_yaml2(self, local_file, disp):
        srv = JenkinsExt(
            "http://localhost:8080/", "user", "password", mock=True,
            engines=default_engines(platform="linux"), fLOG=fLOG, platform="linux")

        fLOG("---------------------")
        modules = [('yml', local_file, None)]

        fLOG("[modules]", modules)
        res = setup_jenkins_server_yml(srv, github="sdpython", modules=modules,
                                       overwrite=True, add_environ=False,
                                       location="anything")
        reg = re.compile("<description>(.*)</description>")
        sch = 0
        wipe = 0
        pub = 0
        arti = 0
        confs = []
        for i, r in enumerate(res):
            conf = r[-1]
            if "set current=" in conf.lower():
                raise Exception("The job is for linux\n{0}".format(conf))
            if "SET " in conf:
                raise Exception("The job is for linux\n{0}".format(conf))
            if "c:" in conf:
                raise Exception("The job is for linux\n{0}".format(conf))
            if disp:
                fLOG(conf)

            if not conf.startswith("<?xml version='1.0' encoding='UTF-8'?>"):
                raise Exception(conf)

            search = reg.search(conf)
            if not search:
                raise Exception(conf)

            job = r[0]
            fLOG(search.groups()[0], "--", job, "--", r[1])

            if "PYQUICKHELPER27" in conf:
                raise Exception(conf)

            if "export VERSION=" not in conf:
                raise Exception(conf)
            if "export NAME=" not in conf:
                raise Exception(conf)
            if "export DIST=" not in conf:
                raise Exception(conf)
            if "<runOnChoice>ON_BOTH</runOnChoice>" in conf:
                sch += 1
            if "PUBLISHER" in conf:
                pub += 1
            if "artifacts" in conf:
                arti += 1
            if 'if [ "PYPI"' in conf:
                raise Exception(conf)
            if "<hudson.plugins.git.extensions.impl.WipeWorkspace />" in conf:
                wipe += 1
            confs.append(conf)

        if sch + pub != 1:
            raise Exception("{0} != {1}\n{2}".format(
                sch + pub, 1, "\n\n\n----------------------------\n\n\n".join(confs)))
        if pub == 0 and wipe != len(confs):
            raise Exception("{0} != {1}\n{2}".format(
                wipe, len(confs), "\n\n\n----------------------------\n\n\n".join(confs)))
        if pub != 0 and wipe != 0:
            raise Exception("{0} != {1}\n{2}".format(
                wipe, len(confs), "\n\n\n----------------------------\n\n\n".join(confs)))
        if arti == 0:
            raise Exception("{0} != {1}\n{2}".format(
                wipe, len(confs), "\n\n\n----------------------------\n\n\n".join(confs)))