From f0f841c01f24ec6f118a97a4b0f3618d13d530fa Mon Sep 17 00:00:00 2001 From: Richard Frith-Macdonald Date: Tue, 10 Oct 2023 18:12:17 +0100 Subject: [PATCH] test for non existent directory --- Tests/base/NSTask/launch.m | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/Tests/base/NSTask/launch.m b/Tests/base/NSTask/launch.m index 2f1dace00f..a6bc9d979e 100644 --- a/Tests/base/NSTask/launch.m +++ b/Tests/base/NSTask/launch.m @@ -3,6 +3,8 @@ #import #import #import +#import +#import #import "ObjectTesting.h" @@ -13,6 +15,7 @@ int main() { NSAutoreleasePool *arp = [NSAutoreleasePool new]; + NSError *error; NSTask *task; NSPipe *outPipe; NSFileManager *mgr; @@ -51,7 +54,8 @@ int main() PASS([task standardOutput] == outPipe, "standardOutput returns pipe"); data = [outHandle readDataToEndOfFile]; PASS([data length] > 0, "was able to read data from subtask"); - NSLog(@"Data was %*.*s", [data length], [data length], [data bytes]); + NSLog(@"Data was %*.*s", + (int)[data length], (int)[data length], (const char*)[data bytes]); [task terminate]; task = [[NSTask alloc] init]; @@ -64,7 +68,8 @@ int main() [task launch]; data = [outHandle readDataToEndOfFile]; PASS([data length] > 0, "was able to read data from subtask"); - NSLog(@"Data was %*.*s", [data length], [data length], [data bytes]); + NSLog(@"Data was %*.*s", + (int)[data length], (int)[data length], (const char*)[data bytes]); [task terminate]; @@ -73,6 +78,16 @@ int main() [outPipe release]; [task release]; + task = [[NSTask alloc] init]; + [task setLaunchPath: [helpers stringByAppendingPathComponent: testcat]]; + [task setArguments: [NSArray arrayWithObjects: nil]]; + [task setCurrentDirectoryPath: @"not-a-directory"]; + PASS([task launchAndReturnError: &error] == NO, "bad directory fails launch") + PASS(error != nil, "error is returned") + PASS([error domain] == NSCocoaErrorDomain, "error has expected domain") + PASS([error code] == NSFileNoSuchFileError, "error has expected code") + [task release]; + #if !defined(_WIN32) task = [[NSTask alloc] init]; [task setLaunchPath: