|
|
cd4290807c
|
test: 按模块导出接口重写黑盒判据(批次 12:plugin / qwen3vl / chineseclip)
3 个文件全部在 `<module>/test/`,源码目录仍零 `_test.go`。
新增公开输入→输出判据:
## internal/plugin —— SKILL 内容与加载
TestValidateSKILLContent
合法内容通过;空内容/无描述/非法工具名分别被拒
TestLoadSKILLDirectoryExposesMetadataAndTools
临时 SKILL.md → Name/Version/Description/Tools/IOConfig
TestLoadSKILLMissingFileReturnsError
## providers/qwen3vl —— BPE tokenizer 公开契约
TestTokenizerSpecialTokenRoundTrip
临时 tokenizer.json → VocabSize/SpecialID/Encode/DecodeOne
TestTokenizerMissingFileReturnsError
## providers/chineseclip —— WordPiece tokenizer 公开契约
TestTokenizerEncodeUsesSpecialTokensAndPadding
临时 vocab.txt → 固定长度 ids 与 attention mask
TestTokenizerRejectsInvalidVocabulary
缺特殊 token / 非正 maxLength → 报错
所有测试都用 `package test` 导入模块,通过导出 API 操作;不访问私有符号,
不读取源码/文档作为业务断言。
## 变异验证
plugin ValidateSKILLContent 放过无描述内容 → no_description 断言红
qwen3vl Encode 丢弃特殊 token → Encode=[] 断言红
chineseclip Encode 不补 padding → 固定长度判据红
## 验证
go build ./... PASS
go vet ./... PASS
gofmt -l 干净
python3 .github/scripts/check-ci-gates.py PASS
go test ./... -count=1 45 个测试包 / 100 包无测试 / 0 FAIL
3 个新包 -race 全绿
源码目录 _test.go 0
|
2026-11-09 16:35:21 +08:00 |
|