Пример #1
0
 def is_output_limit_exceeded(result, target):
     # 验证输出数量
     pattern = re.compile(r'\n', re.X)
     match = pattern.findall(result)
     Log.analysis_result_log('ANALYSIS : this length of match is ' + str(len(match)))
     Log.analysis_result_log('ANALYSIS : this length of target is ' + str(len(target)))
     if len(match) - 5 != len(target):
         return True
     return False
Пример #2
0
 def is_wrong_answer(result, target):
     # 验证输出结果
     for item in target:
         # here is a bug!!!
         pattern = re.compile(r'(?<![\S*])' + str(item) + r'(?![\S*])', re.X)
         Log.analysis_result_log('ANALYSIS : the item in target is ' + str(item))
         # pattern = re.compile(str(item), re.X)
         match = pattern.search(result)
         if match is None:
             return True
     return False
Пример #3
0
 def is_output_limit_exceeded(result, target):
     # 验证输出数量
     pattern = re.compile(r'\n', re.X)
     match = pattern.findall(result)
     Log.analysis_result_log('ANALYSIS : this length of match is ' +
                             str(len(match)))
     Log.analysis_result_log('ANALYSIS : this length of target is ' +
                             str(len(target)))
     if len(match) - 5 != len(target):
         return True
     return False
Пример #4
0
 def is_wrong_answer(result, target):
     # 验证输出结果
     for item in target:
         # here is a bug!!!
         pattern = re.compile(r'(?<![\S*])' + str(item) + r'(?![\S*])',
                              re.X)
         Log.analysis_result_log('ANALYSIS : the item in target is ' +
                                 str(item))
         # pattern = re.compile(str(item), re.X)
         match = pattern.search(result)
         if match is None:
             return True
     return False
Пример #5
0
 def analysis(result, target):
     Log.analysis_result_log('ANALYSIS : 0')
     if AnalysisResult.is_memory_limit_exceeded(result):
         return DATA.MEMORY_LIMIT_EXCEEDED
     Log.analysis_result_log('ANALYSIS : 1')
     if AnalysisResult.is_time_out(result):
         return DATA.TIME_LIMIT_EXCEEDED
     Log.analysis_result_log('ANALYSIS : 2')
     if AnalysisResult.is_wrong_answer(result, target):
         return DATA.WRONG_ANSWER
     Log.analysis_result_log('ANALYSIS : 3')
     if AnalysisResult.is_output_limit_exceeded(result, target):
         return DATA.OUTPUT_LIMIT_EXCEEDED
     Log.analysis_result_log('ANALYSIS : 4')
     if AnalysisResult.is_presentation_error(result, target):
         return DATA.PRESENTATION_ERROR
     Log.analysis_result_log('ANALYSIS : 5')
     return DATA.ACCEPT
Пример #6
0
 def analysis(result, target):
     Log.analysis_result_log('ANALYSIS : 0')
     if AnalysisResult.is_memory_limit_exceeded(result):
         return DATA.MEMORY_LIMIT_EXCEEDED
     Log.analysis_result_log('ANALYSIS : 1')
     if AnalysisResult.is_time_out(result):
         return DATA.TIME_LIMIT_EXCEEDED
     Log.analysis_result_log('ANALYSIS : 2')
     if AnalysisResult.is_wrong_answer(result, target):
         return DATA.WRONG_ANSWER
     Log.analysis_result_log('ANALYSIS : 3')
     if AnalysisResult.is_output_limit_exceeded(result, target):
         return DATA.OUTPUT_LIMIT_EXCEEDED
     Log.analysis_result_log('ANALYSIS : 4')
     if AnalysisResult.is_presentation_error(result, target):
         return DATA.PRESENTATION_ERROR
     Log.analysis_result_log('ANALYSIS : 5')
     return DATA.ACCEPT