mirror of
https://github.com/garrytan/gstack.git
synced 2026-11-05 00:03:15 +01:00
test(autoplan): pin CLI refusals to the result-code registry's fix text
Co-authored-by: capy-ai[bot] <230910855+capy-ai[bot]@users.noreply.github.com>
This commit is contained in:
1 parent
0736955c85
commit
3081672256
4 files changed
+10
-1
No files matched your search
@@ -11,6 +11,7 @@
|
||||
import { afterAll, describe, expect, test } from 'bun:test';
|
||||
import * as fs from 'node:fs';
|
||||
import * as path from 'node:path';
|
||||
import { RESULT_CODES } from '../lib/result-codes';
|
||||
import { ROOT } from './helpers/autoplan-run-fixture';
|
||||
import { HEAD, capyRunner, readRunJson, writePlan } from './helpers/autoplan-capy';
|
||||
|
||||
@@ -29,6 +30,7 @@ describe('admission', () => {
|
||||
const { out, res } = first(r, 'none');
|
||||
expect(res.status).toBe(3);
|
||||
expect(res.stderr).toMatch(/no install verdict at .*\(INSTALL_UNVERIFIED\)$/m);
|
||||
expect(res.stderr).toContain(`; fix: ${RESULT_CODES.INSTALL_UNVERIFIED.fix} (INSTALL_UNVERIFIED)`);
|
||||
expect(res.stdout).toContain('GSTACK_RESULT: skill=autoplan status=refused');
|
||||
expect(fs.existsSync(path.join(out, 'run.json'))).toBe(false);
|
||||
});
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
import { afterAll, describe, expect, test } from 'bun:test';
|
||||
import * as fs from 'node:fs';
|
||||
import * as path from 'node:path';
|
||||
import { RESULT_CODES } from '../lib/result-codes';
|
||||
import { ROOT, SMALL_PLAN } from './helpers/autoplan-run-fixture';
|
||||
import { capyRunner, phaseVia, readJsonl, readRunJson, writePlan, type CapyRunner } from './helpers/autoplan-capy';
|
||||
|
||||
@@ -151,7 +152,9 @@ describe('conformance: one run through every mechanism', () => {
|
||||
expect(ok(c.ap(['answer', '--out', s.out, '--gate-rev', '1', '--reply', `${accept}b`])).stdout).toMatch(/^GATE_PENDING: p1/m);
|
||||
const full = ok(c.ap(['answer', '--out', s.out, '--gate-rev', '1', '--reply', 'all']));
|
||||
expect(full.stdout).toMatch(new RegExp(`^APPLY: ${run}-${accept} `, 'm'));
|
||||
expect(c.ap(['next', '--out', s.out]).stderr).toMatch(/\(PLAN_AMEND_PENDING\)$/m);
|
||||
const pendingNext = c.ap(['next', '--out', s.out]).stderr;
|
||||
expect(pendingNext).toMatch(/\(PLAN_AMEND_PENDING\)$/m);
|
||||
expect(pendingNext).toContain(`; fix: ${RESULT_CODES.PLAN_AMEND_PENDING.fix} (PLAN_AMEND_PENDING)`);
|
||||
const v2 = path.join(s.dir, 'plan-v2.md');
|
||||
fs.writeFileSync(v2, SMALL_PLAN.replace('Tests cover', 'Ship behind RETRY_BACKOFF=1, default off. Tests cover'));
|
||||
expect(ok(c.ap(['revise', '--out', s.out, '--plan', v2, '--incorporates', `${run}-${accept}`])).stdout).toMatch(/^AMENDMENTS: pending=none$/m);
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
import { afterAll, describe, expect, test } from 'bun:test';
|
||||
import * as fs from 'node:fs';
|
||||
import * as path from 'node:path';
|
||||
import { RESULT_CODES } from '../lib/result-codes';
|
||||
import { capyRunner, readJsonl, readRunJson, writePlan } from './helpers/autoplan-capy';
|
||||
|
||||
const r = capyRunner();
|
||||
@@ -92,6 +93,7 @@ describe('submit --record', () => {
|
||||
const prose = submit(`INPUT: ceo ${snapshotOf(out)}\n\nThe plan looks fine overall but I have concerns.\n`);
|
||||
expect(prose.status).toBe(1);
|
||||
expect(prose.stderr).toMatch(/table.*list.*No findings\..*\(RESULT_FINDINGS_MISSING\)$/m);
|
||||
expect(prose.stderr).toContain(`; fix: ${RESULT_CODES.RESULT_FINDINGS_MISSING.fix} (RESULT_FINDINGS_MISSING)`);
|
||||
const two = submit(`${list(snapshotOf(out))}\n${TABLE}`);
|
||||
expect(two.status).toBe(1);
|
||||
expect(two.stderr).toMatch(/more than one findings shape.*\(RESULT_FINDINGS_MISSING\)$/m);
|
||||
|
||||
@@ -12,6 +12,7 @@
|
||||
import { afterAll, describe, expect, test } from 'bun:test';
|
||||
import * as fs from 'node:fs';
|
||||
import * as path from 'node:path';
|
||||
import { RESULT_CODES } from '../lib/result-codes';
|
||||
import { SMALL_PLAN } from './helpers/autoplan-run-fixture';
|
||||
import { capyRunner, phaseVia, readJsonl, readRunJson, writePlan } from './helpers/autoplan-capy';
|
||||
|
||||
@@ -131,6 +132,7 @@ describe('revise', () => {
|
||||
const res = r.ap(['revise', '--out', s.out, ...args]);
|
||||
expect(res.status).toBe(3);
|
||||
expect(res.stderr).toMatch(/d1b is not a pending amendment \(pending: none\).*\(AMENDMENT_UNKNOWN\)$/m);
|
||||
expect(res.stderr).toContain(`; fix: ${RESULT_CODES.AMENDMENT_UNKNOWN.fix} (AMENDMENT_UNKNOWN)`);
|
||||
expect(res.stderr).not.toContain('PLAN_AMEND_PENDING');
|
||||
expect(res.stderr).not.toContain('edit the plan');
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user