diff --git a/Sources/tart/VMStorageHelper.swift b/Sources/tart/VMStorageHelper.swift index 87300b7..9be9e84 100644 --- a/Sources/tart/VMStorageHelper.swift +++ b/Sources/tart/VMStorageHelper.swift @@ -34,9 +34,15 @@ class VMStorageHelper { } } +extension NSError { + func isFileNotFound() -> Bool { + return self.code == NSFileNoSuchFileError || self.code == NSFileReadNoSuchFileError + } +} + extension Error { func isFileNotFound() -> Bool { - (self as NSError).code == NSFileReadNoSuchFileError + (self as NSError).isFileNotFound() || (self as NSError).underlyingErrors.contains(where: { $0.isFileNotFound() }) } } @@ -111,6 +117,8 @@ extension RuntimeError : CustomStringConvertible { extension RuntimeError : HasExitCode { var exitCode: Int32 { switch self { + case .VMDoesNotExist: + return 2 case .VMNotRunning: return 2 case .VMAlreadyRunning: