test(toolchain): don't require pql installed on the host

The 'resolvePaths resolves pql from PATH' test asserted paths.pql isNotNull —
true on the dev box (pql on PATH) but not on a GitHub runner, which doesn't ship
pql. Assert the resolver's contract instead: pql is null when absent, or a path
that really exists. Was the last red in the Linux unit job after the deflake.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-06-14 23:22:18 +02:00
co-authored by Claude Opus 4.8
parent 41d77fddb2
commit 89c02b910d
+7 -3
View File
@@ -56,11 +56,15 @@ void main() {
});
group('Toolchain.resolvePaths (static)', () {
test('returns a ResolvedPaths with pql resolved from PATH', () {
test('returns a ResolvedPaths; resolves pql from PATH when present', () {
final paths = Toolchain.resolvePaths();
expect(paths, isA<ResolvedPaths>());
// On this CI host pql is installed (per repo memory).
expect(paths.pql, isNotNull);
// pql is resolved from PATH only when it's installed on the host — it is on
// the dev box, but GitHub CI runners don't ship it. So accept null, or a
// path that really exists (the resolver must never invent one).
if (paths.pql != null) {
expect(File(paths.pql!).existsSync(), isTrue);
}
});
test('git falls back to PATH when no install-dir dugite is found', () {