Closed8

oj-verifyの差分verify

qitoyqitoy

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

qitoyqitoy

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

qitoyqitoy

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

qitoyqitoy

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

qitoyqitoy

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

qitoyqitoy

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

qitoyqitoy

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

qitoyqitoy

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

このスクラップは2025/02/15にクローズされました