Fix early reporting of FV prover's output

pull/4213/head
Hadrien Croubois 2 years ago
parent a7ee03565b
commit 2a6ccebfb7
  1. 19
      certora/run.js

@ -75,13 +75,16 @@ async function runCertora(spec, contract, files, options = []) {
// as soon as we have a jobStatus link, print it
stream.on('data', function logStatusUrl(data) {
const urls = data.toString('utf8').match(/https?:\S*/g);
for (const url of urls ?? []) {
if (url.includes('/jobStatus/')) {
console.error(`[${spec}] ${url.replace('/jobStatus/', '/output/')}`);
stream.off('data', logStatusUrl);
break;
}
const { '-DjobId': jobId, '-DuserId': userId } = Object.fromEntries(
data
.toString('utf8')
.match(/-D\S+=\S+/g)
?.map(s => s.split('=')) || [],
);
if (jobId && userId) {
console.error(`[${spec}] https://prover.certora.com/output/${userId}/${jobId}/`);
stream.off('data', logStatusUrl);
}
});
@ -98,7 +101,7 @@ async function runCertora(spec, contract, files, options = []) {
stream.end();
// write results in markdown format
writeEntry(spec, contract, code || signal, (await output).match(/https:\S*/)?.[0]);
writeEntry(spec, contract, code || signal, (await output).match(/https:\/\/prover.certora.com\/output\/\S*/)?.[0]);
// write all details
console.error(`+ certoraRun ${args.join(' ')}\n` + (await output));

Loading…
Cancel
Save