• 覆盖率平台(4)- 测程启动


    新建测程后,就需要启动测程,以监听代码运行情况,获取覆盖率数据。

    内部逻辑

    1.环境准备:

      1.1)jacoco 环境初始化

      1.2)服务启动脚本模板拷贝

    2.服务启动脚本初始化:

      2.1)copy 服务启动脚本模板

      2.2)把服务启动脚本中的参数替换,jacoco_port、服务port、服务启动路径等

      2.3)把把启动脚本,copy到服务部署路径

    3.服务启停

      3.1)停止服务

      3.2)启动服务

    核心代码

        # 启动测程
        def start_instance(self):
            # 环境准备
            ini_env_result = self.init_env()
            if ini_env_result != 0:
                logger.warning('测程%s环境准备失败!', self.name)
                return 1
    
            # 1.初始化脚本,生成服务启动脚本service.sh
            init_cmd = 'cd {} && ./init.sh {} {} >> init.log'.format(settings.COVERAGE_HOME, self.service_dir, self.port)
            linux = RemoteLinux(self.ip, self.user_name, self.pass_word)
            ini_cmd_result = linux.run_cmd(init_cmd)
            if ini_cmd_result != 0:
                logger.warning('测程%s脚本初始化失败!', self.name)
                return 2
            # 2.停止服务
            stop_cmd = 'cd {} && ./service.sh service stop'.format(self.service_dir)
            start_result = linux.run_cmd(stop_cmd)
            # 3.启动服务
            start_cmd = 'cd {} && ./service.sh service start'.format(self.service_dir)
            start_result += linux.run_cmd(start_cmd)
            return start_result
    View Code
  • 相关阅读:
    rocketmq的broker如何同步信息的?
    SO_LINGER 选项
    哈哈哈
    NAG博客目录
    事后分析$eta$
    项目展示$eta$
    测试报告$eta$
    发布声明$eta$
    Scrum meeting 10
    技术博客6--Django实现列表分页
  • 原文地址:https://www.cnblogs.com/dannyyao/p/12983697.html
Copyright © 2020-2023  润新知