Example #1
0
    def handle(self):
        is_good_build = True
        result_text = ''
        for tool, result in read_results(self.app.temp_file_name).items():
            if result['exit_code'] != 0:
                if result['ignore'] == True:
                    if 'execute_time' in result:
                        format_str = "[!] %s: failed but ignored - [t] execute time: "+ result["execute_time"] + "\n"
                    else:
                        format_str = "[!] %s: failed but ignored \n"
                    
                else:
                    if 'execute_time' in result:
                        format_str = "[x] %s: failed - [t] execute time: " + result["execute_time"] + "\n"
                    else:
                        format_str = "[!] %s: failed \n"
                    
                    is_good_build = False
            else:
                if 'execute_time' in result:
                    format_str = "[o] %s: success - [t] execute time: " + result["execute_time"] + "\n"
                else:
                    format_str = "[!] %s: success \n"
                
            result_text += format_str % tool

        if is_good_build:
            print_header('[o] Build Success!')
            print(result_text)
            sys.exit(0)
        else:
            print_header('[x] Build Fail!')
            print(result_text)
            sys.exit(1)
Example #2
0
 def handle(self):
     print_header('Sending Reports')
     base_api_url = self.app.ci_reports['url'] + '/api/queues'
     params = build_params()
     params['project_type'] = self.app.ci_reports[
         'project_type'] if 'project_type' in self.app.ci_reports else None
     params['test_result'] = read_results(self.app.temp_file_name)
     queue_id, token = self.create_report_queue(base_api_url, params)
     if queue_id and token:
         self.track_queue(queue_id, token, base_api_url)
     else:
         sys.exit(1)
     sys.exit(0)
Example #3
0
    def handle(self):
        print_header('Build and upload reports')
        base_api_url = self.app.ci_reports['url'] + '/api/reports'
        params = build_params()
        params['project_type'] = self.app.ci_reports[
            'project_type'] if 'project_type' in self.app.ci_reports else None
        params['test_result'] = read_results(self.app.temp_file_name)

        self.build_zip_file(params)

        print('[+] Bundle Size: %s bytes' %
              os.stat('bundle_reports.zip').st_size)

        bundle = zipfile.ZipFile('bundle_reports.zip', 'r')
        print('[+] Bundle Content:')
        for file in bundle.namelist():
            print('[?]', file)
        bundle.close()

        result = call_api(base_api_url, True, params, [],
                          [('report_file', 'bundle_reports.zip')])
        print('[+] Finish upload with result: ', result)