Files
OJ2/apps
yuetsh d1d071ff7b
Some checks failed
Deploy / deploy (push) Has been cancelled
fix(后台): 测试用例生成器允许无输入的测试点
「这行算不算数」原来判的是 `f.in.trim()`,把「这题没有输入」和「这行我还没
填」撞成了同一种状态。打印类题目(输出星号矩形、只靠 print 的格式化输出题)
输入留空 → 点「先运行」整行被删 → 一行不剩 → 「上传」永远是灰的,老师只能
往输入框里塞个「无」才存得下去,那两个字节就真的进了 stdin。8019 / 8020 /
8021 三道题的 1.in 就是这么变成 3 字节「无」的。

拆成两个判据:

- hasOutput —— 有输出且没报错,这一行才打进 zip,输入空不空无所谓;
- isFilled  —— 输入或输出任一非空,只用来在「先运行」里筛掉面板上的空占位行,
  全没填时留一行当无输入题跑。

canUpload 保留原来那条守卫:填了输入却没跑出输出的行仍然挡住上传。「先运行」
不再要求先填输入。

后端本来就收空的 .in(processTestCaseZip 无非空校验),已上线的 8007、P003
的 1.in 就是 0 字节,卡住的一直只有这个面板。

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01AdMvixPo27sWFrUmk6ZStZ
2026-09-07 06:29:23 -06:00
..