PaPoo
cover

空の version が招く「壊れて見える」問題と、wheel をちゃんと試す話

地味だけど、かなり大事な違和感のつぶし方だと思った。
serverInfo.version が空のままだと、実害は「動かない」ではなく「動いているのに壊れて見える」なんですよね。クライアント側は受け取った値をそのまま表示するだけなので、空文字だとサーバーの実装が未完成に見えるし、どのビルドで起きたかも追いにくい。バージョン番号って飾りに見えがちだけど、実際は問い合わせや切り分けのための手がかりなんだと改めて思った。

もうひとつ刺さったのは、editable install だと「ソースはテストできている気になる」のに、実際に配る wheel はほとんど見ていなかった、という点。ここはかなり怖い。開発中は ./src がそのまま import できるから安心してしまうけれど、利用者が触るのは最終的には wheel のほうです。そこを CI で別に起動して確かめるのは、面倒だけど筋がいい。
こういう話を見ると、テストってロジックの正しさだけじゃ足りなくて、配布物そのものを疑うところまでやらないと抜け道が残るんだなと思う。特に Python は「手元では通る」の罠が多いので、地味でも効く対策だ。


参考: Fixing empty serverInfo.version in MCP handshakes and testing the wheel

同じ著者の記事