提交 13c7e432 创建 作者: 305350171@qq.com's avatar 305350171@qq.com

modify

上级 fba5c4fe
*.exe *.exe
*.o *.o
*.bak *.bak
checkgituserconfig.py result_comparation.html
checkgituserconfig.sh \ No newline at end of file
\ No newline at end of file
...@@ -5,8 +5,6 @@ stages: ...@@ -5,8 +5,6 @@ stages:
- case1 - case1
- code-analysis - code-analysis
variables: variables:
TEACHERCHECK_REPO: "engintime/cpp-lab/teachers-packet/c-language/Lab011.git" TEACHERCHECK_REPO: "engintime/cpp-lab/teachers-packet/c-language/Lab011.git"
......
...@@ -69,7 +69,7 @@ def advanced_file_compare(file1, file2): ...@@ -69,7 +69,7 @@ def advanced_file_compare(file1, file2):
return returnVal return returnVal
# 比较两个文件并把结果生成一份html文本 # 比较两个文件并把结果生成一份html文本
def compare_file(file1, file2, seqNum, caseCount): def compare_file(file1, file2, seqNum, caseCount, bIncludeCi):
returnVal = 0 returnVal = 0
if file1 == "" or file2 == "": if file1 == "" or file2 == "":
print('文件路径不能为空:第一个文件的路径:{0}, 第二个文件的路径:{1} .'.format(file1, file2)) print('文件路径不能为空:第一个文件的路径:{0}, 第二个文件的路径:{1} .'.format(file1, file2))
...@@ -100,20 +100,25 @@ def compare_file(file1, file2, seqNum, caseCount): ...@@ -100,20 +100,25 @@ def compare_file(file1, file2, seqNum, caseCount):
promptInfo = "Case{0} 验证失败".format(seqNum) promptInfo = "Case{0} 验证失败".format(seqNum)
outputPromptInfo(bIncludeCi, promptInfo, 2) outputPromptInfo(bIncludeCi, promptInfo, 2)
text1_lines = read_file(file1) if bIncludeCi == False:
text2_lines = read_file(file2) text1_lines = read_file(file1)
diff = difflib.HtmlDiff() # 创建HtmlDiff 对象 text2_lines = read_file(file2)
result = diff.make_file(text1_lines, text2_lines) # 通过make_file 方法输出 html 格式的对比结果 diff = difflib.HtmlDiff() # 创建HtmlDiff 对象
# 将结果写入到result_comparation.html文件中 result = diff.make_file(text1_lines, text2_lines) # 通过make_file 方法输出 html 格式的对比结果
try: # 将结果写入到result_comparation.html文件中
with open('result_comparation.html', 'a+', encoding="utf-8") as result_file: try:
promptContent = "<p>Case {0} 验证失败。使用的标准输入文件是 intput{0}.txt。</br>标准答案输出文件 output{0}.txt(左边)与用户编写的应用程序输出文件 user_output{0}.txt(右边)的比较结果:</p>".format(seqNum) with open('result_comparation.html', 'a+', encoding="utf-8") as result_file:
result = promptContent + result promptContent = "<p>Case {0} 验证失败。使用的标准输入文件是 intput{0}.txt。</br>标准答案输出文件 output{0}.txt(左边)与用户编写的应用程序输出文件 user_output{0}.txt(右边)的比较结果:</p>".format(seqNum)
result_file.write(result) result = promptContent + result
except IOError as error: result_file.write(result)
print('写入html文件错误:{0}'.format(error)) except IOError as error:
finally: print('写入html文件错误:{0}'.format(error))
return returnVal finally:
return returnVal
else:
returnVal
# 1表示绿色,2表示红色,3表示黄色 # 1表示绿色,2表示红色,3表示黄色
def outputPromptInfo(bIncludeCi, promptInfo, color): def outputPromptInfo(bIncludeCi, promptInfo, color):
...@@ -236,7 +241,7 @@ if __name__ == "__main__": ...@@ -236,7 +241,7 @@ if __name__ == "__main__":
exit(1) exit(1)
if os.path.isfile(outputFile) and os.path.isfile(useroutputFile): if os.path.isfile(outputFile) and os.path.isfile(useroutputFile):
if compare_file(outputFile, useroutputFile, seqNum, caseCount) == 0: if compare_file(outputFile, useroutputFile, seqNum, caseCount, bIncludeCi) == 0:
if bIncludeCi : if bIncludeCi :
print("使用的标准输入文件是 intput{0}.txt。\n标准答案输出文件 output{1}.txt(左边)与用户编写的应用程序输出文件 user_output{2}.txt(右边)的比较结果:".format(seqNum, seqNum, seqNum)) print("使用的标准输入文件是 intput{0}.txt。\n标准答案输出文件 output{1}.txt(左边)与用户编写的应用程序输出文件 user_output{2}.txt(右边)的比较结果:".format(seqNum, seqNum, seqNum))
runCommand = "diff {0} {1} -b -B -y -i -W 100".format(outputFile, useroutputFile) runCommand = "diff {0} {1} -b -B -y -i -W 100".format(outputFile, useroutputFile)
......
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论