Closed8
oj-verifyの差分verify

競プロライブラリ(Rust)のテストをoj-verifyで行なっているが、C++でできる差分verifyができていない。そこで原因を調査する。

一旦oj-verify run
をして(もちろんAC)、oj-verify stats
の出力を見ると、verificationStatus
がWAなどになっている。このあたりの判定が原因か?

markerを取得する際にcargo check
が走るっぽいがそれが原因か?

loggerを仕込んでわかったが、get_current_timestamp
がrustの場合は現在時刻を指すようになっていて、そのせいで常にverifyされるようになっている。

C++とRustでのlist_dependencies
の実装の違いを見る

configファイルを消して再試行したところtimestampが現在のものにならなかった。つまりcargo-udepsの影響であるといえる。

恐らく、ビルドをして生成されたファイルを参照しているために現在時刻になってしまうのだと考えられる。

というかudepsなくてもクレートに分けていて適切に依存を定義してればちゃんと解析はうまくいくしタイムスタンプも実行時のものになるしudeps消せばいいのでは
このスクラップは2025/02/15にクローズされました