#import "../html.typ" : *
#show : html-style
#metadata(( title: "测试" ))<frontmatter>

= 测试

点击"选手"选项卡，点击下面的"刷新"按钮后，就会根据 `source` 目录下的文件夹添加列表中不存在的选手，并从列表中删除已经从 `source` 目录中删除的选手。

然后单击 "测试全部" 按钮就能开始测试。注意选手提交的程序名在 Linux 下是大小写敏感的。

单击"测试未测试"按钮可以测试所有还没有测试的元素（即某个选手的某个题目）。

选中一些元素后按"测试选中"按钮可以仅测试选中的部分。如果选中了某选手的排名、名称、总分、总用时、测试时间的其中某一个，那么将默认测试这个选手的所有题目。

在控制菜单中还提供一键测试所有未找到文件的或者所有编译出错的记录。

按 `Delete` 键或右键点击删除可以删除选中的选手。

测试完成后通过在表头上单击可以按照相应的项目排序。

双击一名选手可以查看详细的测试结果并对该选手的某一题进行重测。

测试过程中会有 Subtask Skip，即对于一个测试点如果已经确定该测试点会得 0 分，则跳过这个测试点剩下的所有数据，可以大大减少捆绑测试的题目的测试时间。

== 测试情况对话框

#image("./pics/judgingdialog.png", alt: "Judging Dialog")

这个对话框会实时显示当前评测的情况。

各种评测结果的字体颜色各不相同。

如果选手在某一个测试点"答案正确"或者"答案部分正确"，那么会显示它的得分、用时和所使用的空间。

进度条上会显示当前进度和总时间限制。

== 颜色

不同的选手的不同的题目会根据得分和评测状态呈现出不同的颜色。

如果想改变颜色，可以到"设置"中改变。

== 整理文件

为每个选手的每一个文件创建它的子文件夹内的文件和子文件夹外的文件，无论它们以前是在子文件夹内还是子文件夹外，并且删除大部分无用文件。

如果选手原本子文件夹内外都有文件，子文件夹外的那一个会被覆盖。

注意这个功能对于提交答案题的支持还不够完善。最好在整理文件之前备份一份，以防不测。

== 多线程评测

在工具\>选项\>常规中，你可以调整最大评测线程数量，默认为单线程评测，这个功能仍在测试阶段，小心使用!

== 导出成绩

在 "控制" 菜单中选择 "导出成绩" 可以将结果导出成 HTML 文档或表格文件。

推荐使用 HTML 格式，可以导出完整的结果信息，导出成表格的话只能导出选手总分和每道题的得分。

导出的表格为 csv 格式。csv 格式是逗号分隔符，多数表格编辑软件都能查看。

在导出为 HTML 格式的时候，后缀（`.html` 和 `.htm`）会影响内容。其中 `.html` 的内容会更加丰富，而 `.htm` 只提供基本内容，并且文件大小下降很多。

导出为 `.html` 的时候可以选择是以当前的颜色风格导出还是以默认的颜色风格导出。如果你使用的是暗色主题，可能需要额外注意这一点。