Fix test errors on macOS
diff --git a/test/src/live_process_test.dart b/test/src/live_process_test.dart index d5f894b..540b5f5 100644 --- a/test/src/live_process_test.dart +++ b/test/src/live_process_test.dart
@@ -15,7 +15,7 @@ void main() { if (!Platform.isLinux && !Platform.isMacOS) { print('Test only available on linux and macOS'); - exit(-1); + return; } late Directory tmpdir; @@ -49,7 +49,7 @@ final ProcessRunnerResult result = await processRunner.runProcess(<String>['cat', '--flutter'], failOk: true); expect(result.exitCode, isNot(equals(0))); - expect(result.stderr, contains('unrecognized option')); + expect(result.stderr, contains(RegExp(r'(unrecognized|illegal) option'))); }); test('runProcess captures detachedWithStdio stdout', () async { final ProcessRunnerResult result = await processRunner.runProcess( @@ -63,7 +63,7 @@ <String>['cat', '--flutter'], failOk: true, startMode: ProcessStartMode.detachedWithStdio); expect(result.exitCode, equals(0)); // failed detached processes don't report an exit code. - expect(result.stderr, contains('unrecognized option')); + expect(result.stderr, contains(RegExp(r'(unrecognized|illegal) option'))); }); test('runProcess captures nothing with detached process', () async { final ProcessRunnerResult result = await processRunner
diff --git a/test/src/process_pool_test.dart b/test/src/process_pool_test.dart index ecc5255..8aed900 100644 --- a/test/src/process_pool_test.dart +++ b/test/src/process_pool_test.dart
@@ -13,12 +13,13 @@ late FakeProcessManager fakeProcessManager; late ProcessRunner processRunner; late ProcessPool processPool; + final String testPath = Platform.isWindows ? r'C:\tmp\foo' : '/tmp/foo'; setUp(() { fakeProcessManager = FakeProcessManager((String value) {}); processRunner = ProcessRunner( processManager: fakeProcessManager, - defaultWorkingDirectory: Directory('/tmp/foo'), + defaultWorkingDirectory: Directory(testPath), ); processPool = ProcessPool(processRunner: processRunner, printReport: null); }); @@ -29,7 +30,7 @@ test('startWorkers works', () async { final Map<FakeInvocationRecord, List<ProcessResult>> calls = <FakeInvocationRecord, List<ProcessResult>>{ - FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], '/tmp/foo'): <ProcessResult>[ + FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], testPath): <ProcessResult>[ ProcessResult(0, 0, 'output1', ''), ], }; @@ -43,7 +44,7 @@ test('runToCompletion works', () async { final Map<FakeInvocationRecord, List<ProcessResult>> calls = <FakeInvocationRecord, List<ProcessResult>>{ - FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], '/tmp/foo'): <ProcessResult>[ + FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], testPath): <ProcessResult>[ ProcessResult(0, 0, 'output1', ''), ], }; @@ -57,7 +58,7 @@ test('failed tests report results', () async { final Map<FakeInvocationRecord, List<ProcessResult>> calls = <FakeInvocationRecord, List<ProcessResult>>{ - FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], '/tmp/foo'): <ProcessResult>[ + FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], testPath): <ProcessResult>[ ProcessResult(0, -1, 'output1', 'stderr1'), ], }; @@ -77,7 +78,7 @@ processPool = ProcessPool(processRunner: processRunner, printReport: null); final Map<FakeInvocationRecord, List<ProcessResult>> calls = <FakeInvocationRecord, List<ProcessResult>>{ - FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], '/tmp/foo'): <ProcessResult>[ + FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], testPath): <ProcessResult>[ ProcessResult(0, -1, 'output1', 'stderr1'), ], };
diff --git a/test/src/process_runner_test.dart b/test/src/process_runner_test.dart index 8182b31..c3571de 100644 --- a/test/src/process_runner_test.dart +++ b/test/src/process_runner_test.dart
@@ -12,11 +12,12 @@ void main() { FakeProcessManager fakeProcessManager = FakeProcessManager((String value) {}); ProcessRunner processRunner = ProcessRunner(processManager: fakeProcessManager); + final String testPath = Platform.isWindows ? r'C:\tmp\foo' : '/tmp/foo'; setUp(() { fakeProcessManager = FakeProcessManager((String value) {}); processRunner = ProcessRunner( - processManager: fakeProcessManager, defaultWorkingDirectory: Directory('/tmp/foo')); + processManager: fakeProcessManager, defaultWorkingDirectory: Directory(testPath)); }); tearDown(() {}); @@ -25,7 +26,7 @@ test('runProcess works', () async { final Map<FakeInvocationRecord, List<ProcessResult>> calls = <FakeInvocationRecord, List<ProcessResult>>{ - FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], '/tmp/foo'): <ProcessResult>[ + FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], testPath): <ProcessResult>[ ProcessResult(0, 0, 'output1', ''), ], }; @@ -36,7 +37,7 @@ test('runProcess returns correct output', () async { final Map<FakeInvocationRecord, List<ProcessResult>> calls = <FakeInvocationRecord, List<ProcessResult>>{ - FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], '/tmp/foo'): <ProcessResult>[ + FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], testPath): <ProcessResult>[ ProcessResult(0, 0, 'output1', 'stderr1'), ], }; @@ -62,7 +63,7 @@ test('runProcess returns the failed results properly', () async { final Map<FakeInvocationRecord, List<ProcessResult>> calls = <FakeInvocationRecord, List<ProcessResult>>{ - FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], '/tmp/foo'): <ProcessResult>[ + FakeInvocationRecord(<String>['command', 'arg1', 'arg2'], testPath): <ProcessResult>[ ProcessResult(0, -1, 'output1', 'stderr1'), ], };