豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 607 行 · 28610 字节 · UTF-8
§
「:
文言:全树测试之入口:取受控之文件,辨其试,依规则构而行之,报其成败;可分片。于仓根行之。
汉语:全树测试入口:从 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全树测试 [--分片 序/总 | --只 路径前缀] [--列出](在仓库根目录运行)』也。

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