「：
文言：全树测试之入口：取受控之文件，辨其试，依规则构而行之，报其成败；可分片。于仓根行之。
汉语：全树测试入口：从 git 取受控文件，辨认测试，按规则表构建并运行，报告结果；支持分片。在仓库根目录运行。
：」

寻观「标准库」之书。
寻观「标准库」之「数据结构」之「字符串术」之书。
寻观「标准库」之「数据结构」之「多态列」之书。
寻观「标准库」之「操作系统」之「文件系统」之书。
寻观「标准库」之「操作系统」之「路径」之书。
寻观「标准库」之「操作系统」之「命令行参数」之书。
寻观「标准库」之「操作系统」之「子进程」之书。
寻观「标准库」之「操作系统」之「异步子进程」之书。
寻观「标准库」之「操作系统」之「时间」之书。
寻观「标准库」之「输入输出」之「笔」之书。
寻观「标准库」之「语言核心」之「异常」之书。
寻观「标准库」之「数学运算」之「转换」之书。
寻「标准库」之「数据结构」之「小数操作」之书。
寻观「全树测试」之「核心」之书。

「规则文件」者『应用/开发工具/全树测试/测试规则.tsv』也。

「临时目录」者『dist/全树测试』也。

「：文言：试之行时以三分为限；JS 之试另留余裕，使其自报逾时。汉语：测试运行时限三分钟；JS 测试多留二十秒，让 node 自己先报告超时。：」
「运行时限」乃「整数」也。
「运行时限」者「一八零」也。

「JS时限」乃「整数」也。
「JS时限」者「二零零」也。

「构建并发」乃「字符串」也。
「构建并发」者「整数表示」于（「在线处理器数量」于「元」）也。

「限时可用」乃「爻」也。
「限时可用」者（「查找可执行程序」于『timeout』）中「零」也。

「：文言：规则之参可书“{仓根}”，行时代以仓根之绝径。汉语：规则表的参数里可以写“{仓根}”，运行时替换为仓库根目录的绝对路径。：」
「仓根」乃「字符串」也。
「仓根」者「获取当前路径」于「元」也。

「：文言：行一令，限时（零则不限），返零退与否、常出、误出与所用整秒。汉语：运行一条命令（时限为零则不限时），返回是否零退出、标准输出、错误输出与用时整秒数。：」
「执行命令」乃
  化「字符串」而
  化（「列」于「字符串」）而
  化「整数」而
  （「爻」合「字符串」合「字符串」合「整数」）
也。
「执行命令」者会「程序」而会「参数们」而会「时限秒」而
  虑「开始」者「获取当前纳秒时间」于「元」而
  虑「所得」者
    （
      若「且」于「限时可用」于（「大于」于「时限秒」于「零」）
      则
        「获取输出」
          于『timeout』
          于（「附加」授以「字符串」于（「列」【『-k』，『10』，（「整数表示」于「时限秒」），「程序」】）于「参数们」）
      否则
        「获取输出」于「程序」于「参数们」
    ）
  而
  虑「结束」者「获取当前纳秒时间」于「元」而
  虑「用时」者
    「除以」于（「小数转整数」于（「小数操作」之「减」于「结束」于「开始」））于「一零零零零零零零零零」
  而
  （「所得」中「零」）与（「所得」中「一」）与（「所得」中「二」）与「用时」
也。

「超时说明」乃化「整数」而化「整数」而「字符串」也。
「超时说明」者会「用时」而会「时限秒」而
  若「且」于（「大于」于「时限秒」于「零」）于（「非」于（「小于」于「用时」于「时限秒」））
  则
    （『（超过 』附（「整数表示」于「时限秒」）附『 秒时限，已终止）』）
  否则
    『』
也。

「删产物」乃化「字符串」而「有」也。
「删产物」者会「产物」而
  虑「无」者
    （
      若「路径存在」于「产物」则
        （「删文件」于「产物」；
          「元」）
      否则
        「元」
    ）
  而
  「元」
也。

「构建产物」乃
  化「字符串」而
  化「字符串」而
  （「爻」合「字符串」合「字符串」合「整数」）
也。
「构建产物」者会「源径」而会「产物」而
  「执行命令」于『./yy豫构.wasm』于（「列」【『文件』，「源径」，『--输出』，「产物」，『-j』，「构建并发」】）于「零」
也。

「参数表」乃化（「列」于「规则项」）而化「字符串」而（「列」于「字符串」）也。
「参数表」者会「规则们」而会「源径」而
  鉴「查规则」于「规则们」于『参数』于「源径」而
    有（「可有」于「参数文」）则（（「态射」授以「字符串」授以「字符串」）
    于（（「滤」授以「字符串」）
    于（会「参数段」而「非」于（「串相等」于「参数段」于『』））
    于（「按字分隔」于『 』于「参数文」）
    ）
    于（会「参数段」而「串查找替换」于「参数段」于『{仓根}』于「仓根」）
    ）
    或有「可无」则（「罄」授以「字符串」）
也。

「：文言：单元之试：但检者唯核其型；余者构而行之，退码非零或报有败则败。汉语：单元测试：只检查的只做类型检查；其余构建后运行，退出码非零或输出里失败计数非零即失败。：」
「跑单元测试」乃
  化（「列」于「规则项」）而
  化「字符串」而
  化「整数」而
  （「爻」合「字符串」合「整数」）
也。
「跑单元测试」者会「规则们」而会「源径」而会「序号」而
  鉴「查规则」于「规则们」于『只检查』于「源径」而
    有（「可有」于「缘由」）则（
      虑「检查」者
        「执行命令」
          于『./yy豫构.wasm』
          于（「列」【『文件』，「源径」，『-j』，「构建并发」，『--』，『--type-check-only』】）
          于「零」
      而
      若「检查」中「零」
      则
        （「阳」与（『只做类型检查：』附「缘由」）与（「检查」中「三」））
      否则
        （「阴」与（『类型检查失败：「：换行：」』附（「检查」中「一」）附（「检查」中「二」））与（「检查」中「三」））
    ）
    或有「可无」则
      虑「产物」者
        「临时目录」附『/yy测试』附（「整数表示」于「序号」）附『.wasm』
      而
      虑「构建」者「构建产物」于「源径」于「产物」
      而
      若「非」于（「构建」中「零」）
      则
        （「阴」与（『构建失败：「：换行：」』附（「构建」中「一」）附（「构建」中「二」））与（「构建」中「三」））
      否则
        虑「运行」者
          「执行命令」
            于「产物」
            于（「参数表」于「规则们」于「源径」）于「运行时限」
        而
        虑「无」者「删产物」于「产物」
        而
        虑「总秒」者「加」于（「构建」中「三」）于（「运行」中「三」）
        而
        虑「所出」者（「运行」中「一」）附（「运行」中「二」）
        而
        若「非」于（「运行」中「零」）
        则
          （「阴」与（『运行失败』附（「超时说明」于（「运行」中「三」）于「运行时限」）附『：「：换行：」』附「所出」）
            与「总秒」）
        否则
          （
            若「汇报有失败」于（「运行」中「一」）
            则
              （「阴」与（『断言失败：「：换行：」』附「所出」）与「总秒」）
            否则
              （「阳」与『』与「总秒」）
          ）
也。

「：文言：样例构或行败时之断：应败而所出含其所期（所期空则不校）乃成。汉语：样例构建或运行失败时的判定：应当失败、且输出包含期望文字（期望为空则不查）才算通过。：」
「判失败样例」乃
  化「爻」而
  化「字符串」而
  化「字符串」而
  化「字符串」而
  化「整数」而
  （「爻」合「字符串」合「整数」）
也。
「判失败样例」者会「应成功」而会「期望」而会「失败说明」而会「所出」而会「用时」而
  若「应成功」
  则
    （「阴」与「失败说明」与「用时」）
  否则
    （
      若「或者」于（「串相等」于「期望」于『』）于（「是子字符串吗」于「期望」于「所出」）
      则
        （「阳」与『』与「用时」）
      否则
        （「阴」与（『失败信息不含“』附「期望」附『”：「：换行：」』附「所出」）与「用时」）
    ）
也。

「：文言：样例行成时之断：应成而常出去首尾之空与所期同（所期空则不校）乃成。汉语：样例运行成功时的判定：应当成功、且去首尾空白后的标准输出与期望相同（期望为空则不查）才算通过。：」
「判成功样例」乃
  化「爻」而
  化「字符串」而
  化「字符串」而
  化「整数」而
  （「爻」合「字符串」合「整数」）
也。
「判成功样例」者会「应成功」而会「期望」而会「常出」而会「用时」而
  若「非」于「应成功」
  则
    （「阴」与（『应失败却运行成功：「：换行：」』附「常出」）与「用时」）
  否则
    （
      若「或者」于（「串相等」于「期望」于『』）于（「串相等」于「期望」于（「去首尾空白」于「常出」））
      则
        （「阳」与『』与「用时」）
      否则
        （「阴」与（『输出不符。期望：「：换行：」』附「期望」附『「：换行：」实际：「：换行：」』附「常出」）与「用时」）
    ）
也。

「跑黄金样例」乃
  化「字符串」而
  化「字符串」而
  化「整数」而
  （「爻」合「字符串」合「整数」）
也。
「跑黄金样例」者会「源径」而会「标记径」而会「序号」而
  虑「应成功」者「串结尾是它吗」于『。成功』于「标记径」而
  虑「期望」者「去首尾空白」于（「读文件」于「标记径」）而
  虑「产物」者
    「临时目录」附『/yy样例』附（「整数表示」于「序号」）附『.wasm』而
    虑「构建」者「构建产物」于「源径」于「产物」而
    虑「构建出」者（「构建」中「一」）附（「构建」中「二」）而
    若「非」于（「构建」中「零」）
    则
      「判失败样例」于「应成功」于「期望」于（『构建失败：「：换行：」』附「构建出」）于「构建出」
        于（「构建」中「三」）
    否则
      虑「运行」者
        「执行命令」于「产物」于（「罄」授以「字符串」）于「运行时限」
      而
      虑「无」者「删产物」于「产物」
      而
      虑「总秒」者「加」于（「构建」中「三」）于（「运行」中「三」）
      而
      虑「运行出」者（「运行」中「一」）附（「运行」中「二」）
      而
      若「运行」中「零」
      则
        「判成功样例」于「应成功」于「期望」于（「运行」中「一」）于「总秒」
      否则
        「判失败样例」
          于「应成功」
          于「期望」
          于（『运行失败』附（「超时说明」于（「运行」中「三」）于「运行时限」）附『：「：换行：」』附「运行出」）
          于「运行出」
          于「总秒」
也。

「跑JS测试」乃化「字符串」而（「爻」合「字符串」合「整数」）也。
「跑JS测试」者会「源径」而
  虑「运行」者
    「执行命令」于『node』于（「列」【『--test』，『--test-timeout=180000』，「源径」】）于「JS时限」而
  若「运行」中「零」
  则
    （「阳」与『』与（「运行」中「三」））
  否则
    （「阴」
  与（『运行失败』附（「超时说明」于（「运行」中「三」）于「JS时限」）附『：「：换行：」』附（「运行」中「一」）附（「运行」
          中「二」））
            与（「运行」中「三」））
也。

「：文言：以已知之败校其果。汉语：用“已知失败”规则调整结果：已登记的失败不算失败，已登记却通过的报意外通过。：」
「判定」乃
  化（「列」于「规则项」）而
  化「字符串」而
  化（「爻」合「字符串」合「整数」）而
  （「字符串」合「字符串」合「整数」）
也。
「判定」者会「规则们」而会「源径」而会「果」而
  鉴「查规则」于「规则们」于『已知失败』于「源径」而
    有（「可有」于「缘由」）则（
      若「果」中「零」
      则
        （『意外通过』与（『已登记为已知失败（』附「缘由」附『），现已通过，请移出规则表』）与（「果」中「二」））
      否则
        （『已知失败』与（「缘由」附『「：换行：」』附（「末若干行」于「八」于（「果」中「一」）））与（「果」中「二」））
    ）
    或有「可无」则（
      若「果」中「零」
      则
        （『通过』与（「果」中「一」）与（「果」中「二」））
      否则
        （『失败』与（「果」中「一」）与（「果」中「二」））
    ）
也。

「跑一项」乃
  化（「列」于「规则项」）而
  化「测试项」而
  化「整数」而
  （「字符串」合「字符串」合「整数」）
也。
「跑一项」者会「规则们」而会「某项」而会「序号」而
  虑「类名」者「项类别」于「某项」而
  虑「源径」者「项路径」于「某项」而
  鉴「查规则」于「规则们」于『跳过』于「源径」而
    有（「可有」于「缘由」）则（『跳过』与「缘由」与「零」）
    或有「可无」则
      若「串相等」于「类名」于『测试页』
      则
        （『跳过』与『须在真实浏览器里运行，暂不自动运行』与「零」）
      否则
        （（
            若「串相等」于「类名」于『单元测试』
            则
              「判定」
                于「规则们」
                于「源径」
                于（「跑单元测试」于「规则们」于「源径」于「序号」）
            否则
              （
                若「串相等」于「类名」于『黄金样例』
                则
                  「判定」
                    于「规则们」
                    于「源径」
                    于（「跑黄金样例」于「源径」于（「项附注」于「某项」）于「序号」）
                否则
                  「判定」于「规则们」于「源径」于（「跑JS测试」于「源径」）
              ）
          ）
        ）
也。

「报告一项」乃化「测试项」而化（「字符串」合「字符串」合「整数」）而「有」也。
「报告一项」者会「某项」而会「果」而
  虑「状态」者「果」中「零」而
  虑「说明」者「果」中「一」而
  虑「无」者
    「打印行」
      于（『【』附「状态」附『】』附（「项类别」于「某项」）附『 』附（「项路径」于「某项」）
      附『（』附（「整数表示」于（「果」中「二」））附『 秒）』）
  而
  若「串相等」于「说明」于『』
  则
    「元」
  否则
    （
      若「串相等」于「状态」于『失败』
      则
        「打印行」于（「末若干行」于「四零」于「说明」）
      否则
        「打印行」于（『    』附（「末若干行」于「三」于「说明」））
    ）
也。

「跑全部」乃
  化（「列」于「规则项」）而
  化（「列」于「测试项」）而
  化「整数」而
  化（「列」于（「字符串」合「字符串」））而
  （「列」于（「字符串」合「字符串」））
也。
「跑全部」者会「规则们」而会「项们」而会「序号」而会「已得」而
  鉴「项们」而
    有「罄」则「反转」授以（「字符串」合「字符串」）
    于「已得」
    或有（「缀」于「首项」于「余项」）则
      虑「果」者「跑一项」于「规则们」于「首项」于「序号」而
      虑「无」者「报告一项」于「首项」于「果」而
      「跑全部」
        于「规则们」
        于「余项」
        于（「加」于「序号」于「一」）
        于（「缀」授以（「字符串」合「字符串」）于（（「果」中「零」）与（「项路径」于「首项」））于「已得」）
也。

「按状态筛」乃
  化「字符串」而
  化（「列」于（「字符串」合「字符串」））而
  （「列」于（「字符串」合「字符串」））
也。
「按状态筛」者会「状态」而会「结果们」而
  （「滤」授以（「字符串」合「字符串」））
  于（会「条目」而「串相等」于（「条目」中「零」）于「状态」）
  于「结果们」
也。

「计数」乃化「字符串」而化（「列」于（「字符串」合「字符串」））而「整数」也。
「计数」者会「状态」而会「结果们」而
  「长度」授以（「字符串」合「字符串」）于（「按状态筛」于「状态」于「结果们」）
也。

「列状态」乃
  化「字符串」而
  化（「列」于（「字符串」合「字符串」））而
  「字符串」
也。
「列状态」者会「状态」而会「结果们」而
  「间合」
    于『「：换行：」』
    于（（「态射」授以（「字符串」合「字符串」）授以「字符串」）
    于（「按状态筛」于「状态」于「结果们」）
    于（会「条目」而「条目」中「一」）
    ）
也。

「列出计划」乃化（「列」于「测试项」）而「有」也。
「列出计划」者会「项们」而
  鉴「项们」而
    有「罄」则「元」
    或有（「缀」于「首项」于「余项」）则
      虑「无」者
        「打印行」于（（「项类别」于「首项」）附『 』附（「项路径」于「首项」））
      而
      「列出计划」于「余项」
也。

「：文言：行其计划，报其总，有不虞之败则退码一。汉语：执行计划并汇总；有意外失败时返回退出码一。：」
「执行计划」乃化（「列」于「测试项」）而化「爻」而「整数」也。
「执行计划」者会「项们」而会「只列出」而
  若「只列出」
  则
    （「列出计划」于「项们」；
      「零」）
  否则
    虑「规则们」者「解析规则」于（「读文件」于「规则文件」）而
    虑「无」者
      「获取输出」于『mkdir』于（「列」【『-p』，「临时目录」】）
    而
    虑「时限说明」者
      （若「限时可用」则『』否则『（本机无 timeout 命令，不强制时限）』）
    而
    虑「无」者
      「打印行」
        于（『全树测试：共 』附（「整数表示」于（「长度」授以「测试项」于「项们」））
        附『 项，运行时限 』附（「整数表示」于「运行时限」）附『 秒』附「时限说明」）
    而
    虑「结果们」者
      「跑全部」于「规则们」于「项们」于「零」于（「罄」授以（「字符串」合「字符串」））
    而
    虑「失败数」者「计数」于『失败』于「结果们」而
    虑「意外数」者「计数」于『意外通过』于「结果们」而
    虑「无」者
      「打印行」
        于（『全树测试汇总：通过 』附（「整数表示」于（「计数」于『通过』于「结果们」））
        附『，失败 』附（「整数表示」于「失败数」）
        附『，已知失败 』附（「整数表示」于（「计数」于『已知失败』于「结果们」））
        附『，意外通过 』附（「整数表示」于「意外数」）
        附『，跳过 』附（「整数表示」于（「计数」于『跳过』于「结果们」）））
    而
    虑「无」者
      （
        若「大于」于「失败数」于「零」
        则
          「打印行」于（『失败：「：换行：」』附（「列状态」于『失败』于「结果们」））
        否则
          「元」
      ）
    而
    虑「无」者
      （
        若「大于」于「意外数」于「零」
        则
          「打印行」于（『意外通过（请把它们移出规则表的已知失败）：「：换行：」』附（「列状态」
            于『意外通过』于「结果们」））
        否则
          「元」
      ）
    而
    若「大于」于「失败数」于「零」则「一」否则「零」
也。

「列出受控文件」乃化「有」而（「列」于「字符串」）也。
「列出受控文件」者会「无」而
  虑「所得」者
    「获取输出」于『git』于（「列」【『-c』，『core.quotepath=false』，『ls-files』】）而
  若「所得」中「零」
  则
    （「滤」授以「字符串」）
    于（会「受控径」而「非」于（「串相等」于「受控径」于『』））
    于（「按行分隔」于（「所得」中「一」））
  否则
    「发生事故」授以（「列」于「字符串」）
    于（『git ls-files 失败：』附（「所得」中「二」））
也。

「样例标记」乃化「字符串」而（「或可有」于「字符串」）也。
「样例标记」者会「组基」而
  若「路径存在」于（「组基」附『。成功』）
  则
    （「可有」授以「字符串」于（「组基」附『。成功』））
  否则
    （
      若「路径存在」于（「组基」附『。失败』）
      则
        （「可有」授以「字符串」于（「组基」附『。失败』））
      否则
        （「可无」授以「字符串」）
    ）
也。

「：文言：同组之中，“名-1”恒为入口；余者不为他篇所引乃为入口。汉语：同组里“名-1”总是入口；其余文件没被同组其他文件导入时，也作为独立用例。：」
「样例是入口」乃化「字符串」而化「字符串」而「爻」也。
「样例是入口」者会「源径」而会「组基」而
  虑「所在目录」者「获取文件夹名」于「源径」而
  虑「本名」者「获取文件名」于「源径」而
  虑「组名」者「获取文件名」于「组基」而
  虑「短名」者「去除串结尾」于『。豫』于「本名」而
  若「串相等」于「短名」于（「组名」附『-1』）
  则
    「阳」
  否则
    虑「同组名们」者
      （「滤」授以「字符串」）
      于（会「同组名」而
        「且」
          于（「串开头是它吗」于（「组名」附『-』）于「同组名」）
          于（「且」于（「串结尾是它吗」于『。豫』于「同组名」）于（「非」于（「串相等」于「同组名」于「本名」））））
          于（「读文件夹」于「所在目录」）
    而
    虑「他文们」者
      （「态射」授以「字符串」授以「字符串」）
      于「同组名们」
      于（会「同组名」而「读文件」于（「路径合并」于「所在目录」于「同组名」））
    而
    「非」于（「被引用」于「短名」于「他文们」）
也。

「归类一文件」乃
  化「字符串」而
  化（「列」于「测试项」）而
  （「列」于「测试项」）
也。
「归类一文件」者会「源径」而会「已得项」而
  虑「类名」者「测试类别」于「源径」而
  若「非」于（「串相等」于「类名」于『』）
  则
    「缀」授以「测试项」于（「项」于「类名」于「源径」于『』）于「已得项」
  否则
    （
      若「是子字符串吗」于『_v0/』于「源径」
      则
        「已得项」
      否则
        （
          鉴「样例组基」于「源径」而
            有「可无」则「已得项」
            或有（「可有」于「组基」）则（
              鉴「样例标记」于「组基」而
                有「可无」则「已得项」
                或有（「可有」于「标记径」）则
                  若「样例是入口」于「源径」于「组基」
                  则
                    「缀」授以「测试项」
                    于（「项」于『黄金样例』于「源径」于「标记径」）
                    于「已得项」
                  否则
                    「已得项」
            ）
        ）
    ）
也。

「发现自」乃
  化（「列」于「字符串」）而
  化（「列」于「测试项」）而
  （「列」于「测试项」）
也。
「发现自」者会「余文件」而会「已得项」而
  鉴「余文件」而
    有「罄」则「反转」授以「测试项」
    于「已得项」
    或有（「缀」于「首文件」于「后文件」）则
      「发现自」于「后文件」于（「归类一文件」于「首文件」于「已得项」）
也。

「全部项」乃化「有」而（「列」于「测试项」）也。
「全部项」者会「无」而
  「发现自」于（「列出受控文件」于「元」）于（「罄」授以「测试项」）
也。

「分片项」乃化「字符串」而（「列」于「测试项」）也。
「分片项」者会「分片文」而
  虑「分片」者「解析分片」于「分片文」而
  若「或者」于（「小于」于（「分片」中「零」）于「一」）于（「大于」于（「分片」中「零」）于（「分片」中「一」））
  则
    「发生事故」授以（「列」于「测试项」）
    于（『分片序号须在一与总片数之间：』附「分片文」）
  否则
    「取分片」于（「全部项」于「元」）于（「分片」中「零」）于（「分片」中「一」）
也。

「用法」者『用法：yy全树测试 [--分片 序/总 | --只 路径前缀] [--列出]（在仓库根目录运行）』也。

鉴「获取参数」于「元」而
  有「罄」则「进程」之「退出」于（「执行计划」于（「全部项」于「元」）于「阴」）
  或有（（「列」【『--列出』】））则
    「进程」之「退出」于（「执行计划」于（「全部项」于「元」）于「阳」）
  或有（（「列」【『--分片』，「分片参数」】））则
    「进程」之「退出」于（「执行计划」于（「分片项」于「分片参数」）于「阴」）
  或有（（「列」【『--分片』，「分片参数」，『--列出』】））则
    「进程」之「退出」于（「执行计划」于（「分片项」于「分片参数」）于「阳」）
  或有（（「列」【『--只』，「前缀参数」】））则
    「进程」之「退出」于（「执行计划」于（「按前缀筛」于（「全部项」于「元」）于「前缀参数」）于「阴」）
  或有（（「列」【『--只』，「前缀参数」，『--列出』】））则
    「进程」之「退出」于（「执行计划」于（「按前缀筛」于（「全部项」于「元」）于「前缀参数」）于「阳」）
  或有「其他」则
    「发生事故」于「用法」
。
