From 2cb1d541d5bb5ceddcfc6ca262655ffd4fe52056 Mon Sep 17 00:00:00 2001 From: Chris Teubert Date: Fri, 28 Nov 2014 10:57:21 -0800 Subject: [PATCH] Added C Testing Scripts --- TestScripts/C Tests.xcodeproj/project.pbxproj | 241 ++++++++++ .../contents.xcworkspacedata | 7 + .../xcshareddata/C Tests.xccheckout | 41 ++ .../UserInterfaceState.xcuserstate | Bin 0 -> 33140 bytes .../xcdebugger/Breakpoints_v2.xcbkptlist | 0 .../xcschemes/C Tests.xcscheme | 86 ++++ .../xcschemes/xcschememanagement.plist | 22 + TestScripts/C Tests/C_Tests.1 | 79 ++++ TestScripts/C Tests/main.c | 417 ++++++++++++++++++ .../XPC Tests => CPP Tests}/XPC_Tests.1 | 0 .../XPC Tests => CPP Tests}/main.cpp | 0 .../Cpp Tests.xcodeproj/project.pbxproj | 31 +- .../contents.xcworkspacedata | 0 .../xcshareddata/Cpp Tests.xccheckout | 0 .../xcshareddata/XPC Tests.xccheckout | 0 .../UserInterfaceState.xcuserstate | Bin 0 -> 56827 bytes .../WorkspaceSettings.xcsettings | 0 .../xcdebugger/Breakpoints_v2.xcbkptlist | 5 + .../xcschemes/XPC Tests.xcscheme | 0 .../xcschemes/xcschememanagement.plist | 0 .../UserInterfaceState.xcuserstate | Bin 34178 -> 0 bytes .../UserInterfaceState.xcuserstate | Bin 130957 -> 130998 bytes 22 files changed, 913 insertions(+), 16 deletions(-) create mode 100644 TestScripts/C Tests.xcodeproj/project.pbxproj create mode 100644 TestScripts/C Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata create mode 100644 TestScripts/C Tests.xcodeproj/project.xcworkspace/xcshareddata/C Tests.xccheckout create mode 100644 TestScripts/C Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/UserInterfaceState.xcuserstate rename TestScripts/{XPC Tests/Cpp Tests.xcodeproj => C Tests.xcodeproj}/xcuserdata/cteubert.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist (100%) create mode 100644 TestScripts/C Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/C Tests.xcscheme create mode 100644 TestScripts/C Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/xcschememanagement.plist create mode 100644 TestScripts/C Tests/C_Tests.1 create mode 100644 TestScripts/C Tests/main.c rename TestScripts/{XPC Tests/XPC Tests => CPP Tests}/XPC_Tests.1 (100%) rename TestScripts/{XPC Tests/XPC Tests => CPP Tests}/main.cpp (100%) rename TestScripts/{XPC Tests => }/Cpp Tests.xcodeproj/project.pbxproj (81%) rename TestScripts/{XPC Tests => }/Cpp Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata (100%) rename TestScripts/{XPC Tests => }/Cpp Tests.xcodeproj/project.xcworkspace/xcshareddata/Cpp Tests.xccheckout (100%) rename TestScripts/{XPC Tests => }/Cpp Tests.xcodeproj/project.xcworkspace/xcshareddata/XPC Tests.xccheckout (100%) create mode 100644 TestScripts/Cpp Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/UserInterfaceState.xcuserstate rename TestScripts/{XPC Tests => }/Cpp Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/WorkspaceSettings.xcsettings (100%) create mode 100644 TestScripts/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist rename TestScripts/{XPC Tests => }/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/XPC Tests.xcscheme (100%) rename TestScripts/{XPC Tests => }/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/xcschememanagement.plist (100%) delete mode 100644 TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/UserInterfaceState.xcuserstate diff --git a/TestScripts/C Tests.xcodeproj/project.pbxproj b/TestScripts/C Tests.xcodeproj/project.pbxproj new file mode 100644 index 0000000..6235e48 --- /dev/null +++ b/TestScripts/C Tests.xcodeproj/project.pbxproj @@ -0,0 +1,241 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 46; + objects = { + +/* Begin PBXBuildFile section */ + BEB0F5071A28F9A3001975A6 /* main.c in Sources */ = {isa = PBXBuildFile; fileRef = BEB0F5061A28F9A3001975A6 /* main.c */; }; + BEB0F5091A28F9A3001975A6 /* C_Tests.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = BEB0F5081A28F9A3001975A6 /* C_Tests.1 */; }; + BEB0F5111A28F9D5001975A6 /* xplaneConnect.c in Sources */ = {isa = PBXBuildFile; fileRef = BEB0F50F1A28F9D5001975A6 /* xplaneConnect.c */; }; + BEB0F5121A28F9D5001975A6 /* xplaneConnect.h in Sources */ = {isa = PBXBuildFile; fileRef = BEB0F5101A28F9D5001975A6 /* xplaneConnect.h */; }; +/* End PBXBuildFile section */ + +/* Begin PBXCopyFilesBuildPhase section */ + BEB0F5011A28F9A3001975A6 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = /usr/share/man/man1/; + dstSubfolderSpec = 0; + files = ( + BEB0F5091A28F9A3001975A6 /* C_Tests.1 in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 1; + }; +/* End PBXCopyFilesBuildPhase section */ + +/* Begin PBXFileReference section */ + BEB0F5031A28F9A3001975A6 /* C Tests */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "C Tests"; sourceTree = BUILT_PRODUCTS_DIR; }; + BEB0F5061A28F9A3001975A6 /* main.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; path = main.c; sourceTree = ""; }; + BEB0F5081A28F9A3001975A6 /* C_Tests.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = C_Tests.1; sourceTree = ""; }; + BEB0F50F1A28F9D5001975A6 /* xplaneConnect.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = xplaneConnect.c; path = ../C/src/xplaneConnect.c; sourceTree = ""; }; + BEB0F5101A28F9D5001975A6 /* xplaneConnect.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = xplaneConnect.h; path = ../C/src/xplaneConnect.h; sourceTree = ""; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + BEB0F5001A28F9A3001975A6 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + BEB0F4FA1A28F9A3001975A6 = { + isa = PBXGroup; + children = ( + BEB0F50F1A28F9D5001975A6 /* xplaneConnect.c */, + BEB0F5101A28F9D5001975A6 /* xplaneConnect.h */, + BEB0F5051A28F9A3001975A6 /* C Tests */, + BEB0F5041A28F9A3001975A6 /* Products */, + ); + sourceTree = ""; + }; + BEB0F5041A28F9A3001975A6 /* Products */ = { + isa = PBXGroup; + children = ( + BEB0F5031A28F9A3001975A6 /* C Tests */, + ); + name = Products; + sourceTree = ""; + }; + BEB0F5051A28F9A3001975A6 /* C Tests */ = { + isa = PBXGroup; + children = ( + BEB0F5061A28F9A3001975A6 /* main.c */, + BEB0F5081A28F9A3001975A6 /* C_Tests.1 */, + ); + path = "C Tests"; + sourceTree = ""; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + BEB0F5021A28F9A3001975A6 /* C Tests */ = { + isa = PBXNativeTarget; + buildConfigurationList = BEB0F50C1A28F9A3001975A6 /* Build configuration list for PBXNativeTarget "C Tests" */; + buildPhases = ( + BEB0F4FF1A28F9A3001975A6 /* Sources */, + BEB0F5001A28F9A3001975A6 /* Frameworks */, + BEB0F5011A28F9A3001975A6 /* CopyFiles */, + ); + buildRules = ( + ); + dependencies = ( + ); + name = "C Tests"; + productName = "C Tests"; + productReference = BEB0F5031A28F9A3001975A6 /* C Tests */; + productType = "com.apple.product-type.tool"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + BEB0F4FB1A28F9A3001975A6 /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0500; + ORGANIZATIONNAME = "Chris Teubert"; + }; + buildConfigurationList = BEB0F4FE1A28F9A3001975A6 /* Build configuration list for PBXProject "C Tests" */; + compatibilityVersion = "Xcode 3.2"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + ); + mainGroup = BEB0F4FA1A28F9A3001975A6; + productRefGroup = BEB0F5041A28F9A3001975A6 /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + BEB0F5021A28F9A3001975A6 /* C Tests */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXSourcesBuildPhase section */ + BEB0F4FF1A28F9A3001975A6 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + BEB0F5111A28F9D5001975A6 /* xplaneConnect.c in Sources */, + BEB0F5121A28F9D5001975A6 /* xplaneConnect.h in Sources */, + BEB0F5071A28F9A3001975A6 /* main.c in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin XCBuildConfiguration section */ + BEB0F50A1A28F9A3001975A6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + GCC_SYMBOLS_PRIVATE_EXTERN = NO; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.9; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + }; + name = Debug; + }; + BEB0F50B1A28F9A3001975A6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = YES; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_ENABLE_OBJC_EXCEPTIONS = YES; + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + MACOSX_DEPLOYMENT_TARGET = 10.9; + SDKROOT = macosx; + }; + name = Release; + }; + BEB0F50D1A28F9A3001975A6 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Debug; + }; + BEB0F50E1A28F9A3001975A6 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + PRODUCT_NAME = "$(TARGET_NAME)"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + BEB0F4FE1A28F9A3001975A6 /* Build configuration list for PBXProject "C Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BEB0F50A1A28F9A3001975A6 /* Debug */, + BEB0F50B1A28F9A3001975A6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; + BEB0F50C1A28F9A3001975A6 /* Build configuration list for PBXNativeTarget "C Tests" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + BEB0F50D1A28F9A3001975A6 /* Debug */, + BEB0F50E1A28F9A3001975A6 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; + }; +/* End XCConfigurationList section */ + }; + rootObject = BEB0F4FB1A28F9A3001975A6 /* Project object */; +} diff --git a/TestScripts/C Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/TestScripts/C Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 0000000..2a36d7e --- /dev/null +++ b/TestScripts/C Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ + + + + + diff --git a/TestScripts/C Tests.xcodeproj/project.xcworkspace/xcshareddata/C Tests.xccheckout b/TestScripts/C Tests.xcodeproj/project.xcworkspace/xcshareddata/C Tests.xccheckout new file mode 100644 index 0000000..1b19253 --- /dev/null +++ b/TestScripts/C Tests.xcodeproj/project.xcworkspace/xcshareddata/C Tests.xccheckout @@ -0,0 +1,41 @@ + + + + + IDESourceControlProjectFavoriteDictionaryKey + + IDESourceControlProjectIdentifier + E65C5E87-7590-4DC1-B98C-7F49BB1C166C + IDESourceControlProjectName + C Tests + IDESourceControlProjectOriginsDictionary + + C03F0B00-9A73-4E8C-88E5-1BC53A92AE34 + https://github.com/nasa/XPlaneConnect.git + + IDESourceControlProjectPath + TestScripts/C Tests/C Tests.xcodeproj/project.xcworkspace + IDESourceControlProjectRelativeInstallPathDictionary + + C03F0B00-9A73-4E8C-88E5-1BC53A92AE34 + ../../../.. + + IDESourceControlProjectURL + https://github.com/nasa/XPlaneConnect.git + IDESourceControlProjectVersion + 110 + IDESourceControlProjectWCCIdentifier + C03F0B00-9A73-4E8C-88E5-1BC53A92AE34 + IDESourceControlProjectWCConfigurations + + + IDESourceControlRepositoryExtensionIdentifierKey + public.vcs.git + IDESourceControlWCCIdentifierKey + C03F0B00-9A73-4E8C-88E5-1BC53A92AE34 + IDESourceControlWCCName + XPlaneConnect + + + + diff --git a/TestScripts/C Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/UserInterfaceState.xcuserstate b/TestScripts/C Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..92637e314b5a43e3d16ed82e338997a0c078d842 GIT binary patch literal 33140 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 HcXa + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/TestScripts/C Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/xcschememanagement.plist b/TestScripts/C Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/xcschememanagement.plist new file mode 100644 index 0000000..bd96a02 --- /dev/null +++ b/TestScripts/C Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/xcschememanagement.plist @@ -0,0 +1,22 @@ + + + + + SchemeUserState + + C Tests.xcscheme + + orderHint + 0 + + + SuppressBuildableAutocreation + + BEB0F5021A28F9A3001975A6 + + primary + + + + + diff --git a/TestScripts/C Tests/C_Tests.1 b/TestScripts/C Tests/C_Tests.1 new file mode 100644 index 0000000..5209ecc --- /dev/null +++ b/TestScripts/C Tests/C_Tests.1 @@ -0,0 +1,79 @@ +.\"Modified from man(1) of FreeBSD, the NetBSD mdoc.template, and mdoc.samples. +.\"See Also: +.\"man mdoc.samples for a complete listing of options +.\"man mdoc for the short list of editing options +.\"/usr/share/misc/mdoc.template +.Dd 11/28/14 \" DATE +.Dt C Tests 1 \" Program name and manual section number +.Os Darwin +.Sh NAME \" Section Header - required - don't modify +.Nm C Tests, +.\" The following lines are read in generating the apropos(man -k) database. Use only key +.\" words here as the database is built based on the words here and in the .ND line. +.Nm Other_name_for_same_program(), +.Nm Yet another name for the same program. +.\" Use .Nm macro to designate other names for the documented program. +.Nd This line parsed for whatis database. +.Sh SYNOPSIS \" Section Header - required - don't modify +.Nm +.Op Fl abcd \" [-abcd] +.Op Fl a Ar path \" [-a path] +.Op Ar file \" [file] +.Op Ar \" [file ...] +.Ar arg0 \" Underlined argument - use .Ar anywhere to underline +arg2 ... \" Arguments +.Sh DESCRIPTION \" Section Header - required - don't modify +Use the .Nm macro to refer to your program throughout the man page like such: +.Nm +Underlining is accomplished with the .Ar macro like this: +.Ar underlined text . +.Pp \" Inserts a space +A list of items with descriptions: +.Bl -tag -width -indent \" Begins a tagged list +.It item a \" Each item preceded by .It macro +Description of item a +.It item b +Description of item b +.El \" Ends the list +.Pp +A list of flags and their descriptions: +.Bl -tag -width -indent \" Differs from above in tag removed +.It Fl a \"-a flag as a list item +Description of -a flag +.It Fl b +Description of -b flag +.El \" Ends the list +.Pp +.\" .Sh ENVIRONMENT \" May not be needed +.\" .Bl -tag -width "ENV_VAR_1" -indent \" ENV_VAR_1 is width of the string ENV_VAR_1 +.\" .It Ev ENV_VAR_1 +.\" Description of ENV_VAR_1 +.\" .It Ev ENV_VAR_2 +.\" Description of ENV_VAR_2 +.\" .El +.Sh FILES \" File used or created by the topic of the man page +.Bl -tag -width "/Users/joeuser/Library/really_long_file_name" -compact +.It Pa /usr/share/file_name +FILE_1 description +.It Pa /Users/joeuser/Library/really_long_file_name +FILE_2 description +.El \" Ends the list +.\" .Sh DIAGNOSTICS \" May not be needed +.\" .Bl -diag +.\" .It Diagnostic Tag +.\" Diagnostic informtion here. +.\" .It Diagnostic Tag +.\" Diagnostic informtion here. +.\" .El +.Sh SEE ALSO +.\" List links in ascending order by section, alphabetically within a section. +.\" Please do not reference files that do not exist without filing a bug report +.Xr a 1 , +.Xr b 1 , +.Xr c 1 , +.Xr a 2 , +.Xr b 2 , +.Xr a 3 , +.Xr b 3 +.\" .Sh BUGS \" Document known, unremedied bugs +.\" .Sh HISTORY \" Document history if command behaves in a unique manner \ No newline at end of file diff --git a/TestScripts/C Tests/main.c b/TestScripts/C Tests/main.c new file mode 100644 index 0000000..b382e54 --- /dev/null +++ b/TestScripts/C Tests/main.c @@ -0,0 +1,417 @@ +// +// main.cpp +// XPC Tests +// +// Created by Chris Teubert on 11/25/14. +// Copyright (c) 2014 Chris Teubert. All rights reserved. +// + +#include +#include +#include +#include "xplaneconnect.h" + +int testFailed = 0; +int testPassed = 0; + +void runTest(short (*f)()) +{ + short result; + + printf("Test %i: ",testPassed+testFailed+1); + result = (*f)(); // Run Test + if (result == 0) + { + printf("PASSED\n"); + testPassed++; + } + else + { + printf("FAILED\n\tError: %i\n", result); + testFailed++; + } +} + +short test1() // openUDP Test +{ + printf("openUDP - "); + struct xpcSocket sendPort = openUDP( 49062, "127.0.0.1", 49009 ); + return 0; +} + +short test2() // closeUDP test +{ + printf("closeUDP - "); + struct xpcSocket sendPort = openUDP( 49063, "127.0.0.1", 49009 ); + closeUDP(sendPort); + return 0; +} + +short test3() // send/read Test +{ + printf("send/readUDP - "); + + // Initialization + int i; // Iterator + char test[] = {0, 1, 2, 3}; + char buf[5] = {0}; + struct xpcSocket sendPort, recvPort; + + // Setup + sendPort = openUDP( 49064, "127.0.0.1", 49063 ); + recvPort = openUDP( 49063, "127.0.0.1", 49009 ); + + // Execution + sendUDP( sendPort, test, sizeof(test) ); + readUDP( recvPort, buf, NULL ); // Test + + // Close + closeUDP(sendPort); + closeUDP(recvPort); + + // Tests + for (i=0; i<4; i++) + { + if (test[i] != buf[i]) // Not received correctly + { + return -1; + } + } + + return 0; +} + +short test4() // Request DREF Test (Required for next tests) +{ + printf("requestDREF - "); + + // Initialization + int i; // Iterator + char DREFArray[100][100]; + float *recDATA[100]; + short DREFSizes[100]; + struct xpcSocket sendPort, recvPort; + short result = 0; + + // Setup + for (i = 0; i < 100; i++) { + recDATA[i] = (float *) malloc(40*sizeof(float)); + memset(DREFArray[i],0,100); + } + sendPort = openUDP( 49064, "127.0.0.1", 49009 ); + recvPort = openUDP( 49008, "127.0.0.1", 49009 ); + strcpy(DREFArray[0],"sim/cockpit/switches/gear_handle_status"); + strcpy(DREFArray[1],"cockpit2/switches/panel_brightness_ratio"); + for (i=0;i<2;i++) { + DREFSizes[i] = (int) strlen(DREFArray[i]); + } + + // Execution + result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 2, recDATA, DREFSizes); + + // Close + closeUDP(sendPort); + closeUDP(recvPort); + + // Tests + if ( result < 0)// Request 2 values + { + return -1; + } + if (DREFSizes[0] != 1 || DREFSizes[1] != 4) + { + return -2; + } + return 0; +} + +short test5() // sendDREF test +{ + printf("sendDREF - "); + + // Initialization + int i; // Iterator + char DREFArray[100][100]; + float *recDATA[100]; + short DREFSizes[100]; + float value = 0.0; + struct xpcSocket sendPort, recvPort; + short result = 0; + + // Setup + for (i = 0; i < 100; i++) { + recDATA[i] = (float *) malloc(40*sizeof(float)); + memset(DREFArray[i],0,100); + } + sendPort = openUDP( 49066, "127.0.0.1", 49009 ); + recvPort = openUDP( 49008, "127.0.0.1", 49009 ); + strcpy(DREFArray[0],"sim/cockpit/switches/gear_handle_status"); + for (i=0;i<1;i++) { + DREFSizes[i] = (int) strlen(DREFArray[i]); + } + + // Execution + sendDREF(sendPort, DREFArray[0], DREFSizes[0], &value, 1); + result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 1, recDATA, DREFSizes); + + // Close + closeUDP(sendPort); + closeUDP(recvPort); + + // Tests + if (result < 0)// Request 1 value + { + return -1; + } + if (DREFSizes[0] != 1) + { + return -2; + } + if (*recDATA[0] != value) + { + return -3; + } + return 0; +} + +short test6() // sendDATA test +{ + printf("sendData - "); + + // Initialize + int i,j; // Iterator + char DREFArray[100][100]; + float data[4][9] = {0}; + float *recDATA[100]; + short DREFSizes[100]; + struct xpcSocket sendPort, recvPort; + short result = 0; + + // Setup + for (i = 0; i < 100; i++) { + recDATA[i] = (float *) malloc(40*sizeof(float)); + memset(DREFArray[i],0,100); + } + sendPort = openUDP( 49066, "127.0.0.1", 49009 ); + recvPort = openUDP( 49008, "127.0.0.1", 49009 ); + strcpy(DREFArray[0],"sim/aircraft/parts/acf_gear_deploy"); + for (i=0;i<1;i++) { + DREFSizes[i] = (int) strlen(DREFArray[i]); + } + for (i=0;i<4;i++) { // Set array to -999 + for (j=0;j<9;j++) data[i][j] = -999; + } + data[0][0] = 14; // Gear + data[0][1] = 1; + data[0][2] = 0; + + // Execution + sendDATA(sendPort, data, 1); // Gear + result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 1, recDATA, DREFSizes); // Test + + // Close + closeUDP(sendPort); + closeUDP(recvPort); + + // Tests + if ( result < 0 )// Request 1 value + { + return -1; + } + if (DREFSizes[0] != 10) + { + return -2; + } + if (*recDATA[0] != data[0][1]) + { + return -3; + } + return 0; +} + +short test7() // sendCTRL test +{ + printf("sendCTRL - "); + + // Initialize + int i; // Iterator + char DREFArray[100][100]; + float CTRL[5] = {0.0}; + float *recDATA[100]; + short DREFSizes[100]; + struct xpcSocket sendPort, recvPort; + + // Setup + for (i = 0; i < 100; i++) { + recDATA[i] = (float *) malloc(40*sizeof(float)); + memset(DREFArray[i],0,100); + } + sendPort = openUDP( 49067, "127.0.0.1", 49009 ); + recvPort = openUDP( 49008, "127.0.0.1", 49009 ); + strcpy(DREFArray[0],"sim/cockpit/switches/gear_handle_status"); + for (i=0;i<1;i++) { + DREFSizes[i] = (int) strlen(DREFArray[i]); + } + CTRL[3] = 0.8; // Throttle + + // Execute + sendCTRL(sendPort, 4, CTRL); + + // Close + closeUDP(sendPort); + closeUDP(recvPort); + + // Test + + // if (requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 1, recDATA, DREFSizes) < 0)// Request 1 value + // { + // return -1; + // } + // if (DREFSizes[0] != 1) + // { + // return -2; + // } + // if (*recDATA[0] != value) + // { + // return -3; + // } + return 0; +} + +short test8() // sendPOSI test +{ + printf("sendPOSI - "); + + // Initialization + int i; // Iterator + char DREFArray[100][100]; + float POSI[8] = {0.0}; + float *recDATA[100]; + short DREFSizes[100]; + struct xpcSocket sendPort, recvPort; + + // Setup + for (i = 0; i < 100; i++) { + recDATA[i] = (float *) malloc(40*sizeof(float)); + memset(DREFArray[i],0,100); + } + sendPort = openUDP( 49067, "127.0.0.1", 49009 ); + recvPort = openUDP( 49008, "127.0.0.1", 49009 ); + strcpy(DREFArray[0],"sim/cockpit/switches/gear_handle_status"); + for (i=0;i<1;i++) { + DREFSizes[i] = (int) strlen(DREFArray[i]); + } + POSI[0] = 37.524; // Lat + POSI[1] = -122.06899; // Lon + POSI[2] = 2500; // Alt + POSI[3] = 0; // Pitch + POSI[4] = 0; // Roll + POSI[5] = 0; // Heading + POSI[6] = 1; // Gear + + // Execution + sendPOSI( sendPort, 0, 7, POSI ); + + // Close + closeUDP(sendPort); + closeUDP(recvPort); + + // Test + + return 0; +} + +short test9() // pauseSim test +{ + printf("pauseSim - "); + + // Initialize + struct xpcSocket sendPort, recvPort; + + // Setup + sendPort = openUDP( 49067, "127.0.0.1", 49009 ); + recvPort = openUDP( 49008, "127.0.0.1", 49009 ); + + // Execute + pauseSim(sendPort, 1); + + // Close + closeUDP(sendPort); + closeUDP(recvPort); + + // Test + + return 0; +} + +short test10() // setConn test +{ + printf("setConn - "); + + // Initialize + int i; // Iterator + char DREFArray[100][100]; + float *recDATA[100]; + short DREFSizes[100]; + struct xpcSocket sendPort, recvPort; + short result = 0; + usleep(0); + + // Setup + sendPort = openUDP( 49067, "127.0.0.1", 49009 ); + recvPort = openUDP( 49055, "127.0.0.1", 49009 ); + strcpy(DREFArray[0],"sim/cockpit/switches/gear_handle_status"); + for (i=0;i<1;i++) { + DREFSizes[i] = (int) strlen(DREFArray[i]); + } + + // Execution + setCONN(sendPort, 49055); + result = requestDREF(sendPort, recvPort, DREFArray, DREFSizes, 1, recDATA, DREFSizes); // Test + + // Close + closeUDP(sendPort); + closeUDP(recvPort); + + // Test + if ( result < 0 )// No data received + { + return -1; + } + + + // Set up for next test + sendPort = openUDP( 49067, "127.0.0.1", 49009 ); + setCONN(sendPort, 49009); + closeUDP(sendPort); + return 0; +} + +int main(int argc, const char * argv[]) +{ + printf("XPC Tests-cpp "); + +#ifdef _WIN32 + printf("(Windows)\n"); +#elif (__APPLE__) + printf("(Mac) \n"); +#elif (__linux) + printf("(Linux) \n"); +#endif + + runTest(test1); + runTest(test2); + runTest(test3); + runTest(test4); + runTest(test5); + runTest(test6); + runTest(test7); + runTest(test8); + runTest(test9); + runTest(test10); + + printf( "----------------\nTest Summary\n\tFailed: %i\n\tPassed: %i\n", testFailed, testPassed ); + + return 0; +} + diff --git a/TestScripts/XPC Tests/XPC Tests/XPC_Tests.1 b/TestScripts/CPP Tests/XPC_Tests.1 similarity index 100% rename from TestScripts/XPC Tests/XPC Tests/XPC_Tests.1 rename to TestScripts/CPP Tests/XPC_Tests.1 diff --git a/TestScripts/XPC Tests/XPC Tests/main.cpp b/TestScripts/CPP Tests/main.cpp similarity index 100% rename from TestScripts/XPC Tests/XPC Tests/main.cpp rename to TestScripts/CPP Tests/main.cpp diff --git a/TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.pbxproj b/TestScripts/Cpp Tests.xcodeproj/project.pbxproj similarity index 81% rename from TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.pbxproj rename to TestScripts/Cpp Tests.xcodeproj/project.pbxproj index 76a109f..02d3e37 100644 --- a/TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.pbxproj +++ b/TestScripts/Cpp Tests.xcodeproj/project.pbxproj @@ -7,10 +7,9 @@ objects = { /* Begin PBXBuildFile section */ - BE9C6BAF1A253FA100EBE08A /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE9C6BAE1A253FA100EBE08A /* main.cpp */; }; - BE9C6BB11A253FA100EBE08A /* XPC_Tests.1 in CopyFiles */ = {isa = PBXBuildFile; fileRef = BE9C6BB01A253FA100EBE08A /* XPC_Tests.1 */; }; - BE9C6BB91A25402300EBE08A /* xplaneConnect.c in Sources */ = {isa = PBXBuildFile; fileRef = BE9C6BB71A25402300EBE08A /* xplaneConnect.c */; }; - BE9C6BBA1A25402300EBE08A /* xplaneConnect.h in Sources */ = {isa = PBXBuildFile; fileRef = BE9C6BB81A25402300EBE08A /* xplaneConnect.h */; }; + BE7C5C021A28F72F00F246B9 /* main.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BE7C5C001A28F72F00F246B9 /* main.cpp */; }; + BEB0F4F81A28F7B0001975A6 /* xplaneConnect.c in Sources */ = {isa = PBXBuildFile; fileRef = BEB0F4F61A28F7B0001975A6 /* xplaneConnect.c */; }; + BEB0F4F91A28F7B0001975A6 /* xplaneConnect.h in Sources */ = {isa = PBXBuildFile; fileRef = BEB0F4F71A28F7B0001975A6 /* xplaneConnect.h */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -20,18 +19,17 @@ dstPath = /usr/share/man/man1/; dstSubfolderSpec = 0; files = ( - BE9C6BB11A253FA100EBE08A /* XPC_Tests.1 in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 1; }; /* End PBXCopyFilesBuildPhase section */ /* Begin PBXFileReference section */ + BE7C5C001A28F72F00F246B9 /* main.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; name = main.cpp; path = "CPP Tests/main.cpp"; sourceTree = SOURCE_ROOT; }; + BE7C5C011A28F72F00F246B9 /* XPC_Tests.1 */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.man; name = XPC_Tests.1; path = "CPP Tests/XPC_Tests.1"; sourceTree = SOURCE_ROOT; }; BE9C6BAB1A253FA100EBE08A /* Cpp Tests */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = "Cpp Tests"; sourceTree = BUILT_PRODUCTS_DIR; }; - BE9C6BAE1A253FA100EBE08A /* main.cpp */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.cpp; path = main.cpp; sourceTree = ""; }; - BE9C6BB01A253FA100EBE08A /* XPC_Tests.1 */ = {isa = PBXFileReference; lastKnownFileType = text.man; path = XPC_Tests.1; sourceTree = ""; }; - BE9C6BB71A25402300EBE08A /* xplaneConnect.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = xplaneConnect.c; path = ../../C/src/xplaneConnect.c; sourceTree = ""; }; - BE9C6BB81A25402300EBE08A /* xplaneConnect.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = xplaneConnect.h; path = ../../C/src/xplaneConnect.h; sourceTree = ""; }; + BEB0F4F61A28F7B0001975A6 /* xplaneConnect.c */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.c; name = xplaneConnect.c; path = ../C/src/xplaneConnect.c; sourceTree = ""; }; + BEB0F4F71A28F7B0001975A6 /* xplaneConnect.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = xplaneConnect.h; path = ../C/src/xplaneConnect.h; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -48,8 +46,8 @@ BE9C6BA21A253FA100EBE08A = { isa = PBXGroup; children = ( - BE9C6BB71A25402300EBE08A /* xplaneConnect.c */, - BE9C6BB81A25402300EBE08A /* xplaneConnect.h */, + BEB0F4F61A28F7B0001975A6 /* xplaneConnect.c */, + BEB0F4F71A28F7B0001975A6 /* xplaneConnect.h */, BE9C6BAD1A253FA100EBE08A /* Cpp Tests */, BE9C6BAC1A253FA100EBE08A /* Products */, ); @@ -66,8 +64,8 @@ BE9C6BAD1A253FA100EBE08A /* Cpp Tests */ = { isa = PBXGroup; children = ( - BE9C6BAE1A253FA100EBE08A /* main.cpp */, - BE9C6BB01A253FA100EBE08A /* XPC_Tests.1 */, + BE7C5C001A28F72F00F246B9 /* main.cpp */, + BE7C5C011A28F72F00F246B9 /* XPC_Tests.1 */, ); name = "Cpp Tests"; path = "XPC Tests"; @@ -124,9 +122,9 @@ isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - BE9C6BB91A25402300EBE08A /* xplaneConnect.c in Sources */, - BE9C6BBA1A25402300EBE08A /* xplaneConnect.h in Sources */, - BE9C6BAF1A253FA100EBE08A /* main.cpp in Sources */, + BEB0F4F81A28F7B0001975A6 /* xplaneConnect.c in Sources */, + BEB0F4F91A28F7B0001975A6 /* xplaneConnect.h in Sources */, + BE7C5C021A28F72F00F246B9 /* main.cpp in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -234,6 +232,7 @@ BE9C6BB61A253FA100EBE08A /* Release */, ); defaultConfigurationIsVisible = 0; + defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; diff --git a/TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/TestScripts/Cpp Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata similarity index 100% rename from TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata rename to TestScripts/Cpp Tests.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.xcworkspace/xcshareddata/Cpp Tests.xccheckout b/TestScripts/Cpp Tests.xcodeproj/project.xcworkspace/xcshareddata/Cpp Tests.xccheckout similarity index 100% rename from TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.xcworkspace/xcshareddata/Cpp Tests.xccheckout rename to TestScripts/Cpp Tests.xcodeproj/project.xcworkspace/xcshareddata/Cpp Tests.xccheckout diff --git a/TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.xcworkspace/xcshareddata/XPC Tests.xccheckout b/TestScripts/Cpp Tests.xcodeproj/project.xcworkspace/xcshareddata/XPC Tests.xccheckout similarity index 100% rename from TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.xcworkspace/xcshareddata/XPC Tests.xccheckout rename to TestScripts/Cpp Tests.xcodeproj/project.xcworkspace/xcshareddata/XPC Tests.xccheckout diff --git a/TestScripts/Cpp Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/UserInterfaceState.xcuserstate b/TestScripts/Cpp Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/UserInterfaceState.xcuserstate new file mode 100644 index 0000000000000000000000000000000000000000..89a6cd4cf21152ad942556779a9d01fe57c8bfc6 GIT binary patch literal 56827 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∾bGws;Zfl+;c?*! z;Yr~s;c4L+;aTB1;d$W&;YHykVUMs^cv*NwcvW~!cwKlycvE;wcw2Z!cvpB&cwhKH z_)z#r_*nQv_*D2z_+0ox_)_>v_*(cz_*VE%_+I!y_)+*t_*wWx_*M8#_+9uz_*3{x z_*?i#_*djaBw~?>yl4{5qD2%$QItekR79&7CWebPF+z+Kqr_-2MvN8X#CS15OcY0m zNn)~?BBqLVF-;sPri&S3rkEvWi#cMhI7-YD^Th(OP#i5f#4+Mnahy0_oFGmVCyA5A zDdJRdns|sfT|88rA%{fq263afNjyqCT2w_U9wQzr9w#0zZWd1vPZUoQPZm!RPZduS zPZ!UicqPR!w^mWyMsYjE9TXo)aVN!H6n9h2uvb&OhT^ppgX36F@dk=FQoM=cqbNR_ zVwGY_@i7!1OYw0OA5Sq%-xDZ4k>ZmmhN*iB#ivqy8pWqm49%TM@mUnZY&(bIb16QL z;`1rKfZ_`&zKG(BDTbMLDaDsjd^yEeP`riWtrTygcss>AD87>7ofPk)csIpYQG7MU z*HC;d#n(}MJ;gUrd?Up-QG7GSw@`d5#kWy>JH>ZUd?&?sQG7SW_fUK<#s8!DK8o+B z_yLL^r1&9It5hxKUktmTVQ7Exe5=KclB{oVTD2b#bijrtbVkn8F zB#x4JN)jkZqy*S^lPF21B!!YxO6-)RQ8JQ}bV@QP$)qHUl59$HD9NQ{6eW3-D49)386}5NGKZ3K3S69BI>E- z!=p$fQ`v}m7Wq)AY(za#e0WqgqMj1IZz>y6PyHUaV2~R1)b62C*@$`)_h3{u zqMo0iN;b zp|TP6l;?d>*+`g45NxQu3={Jo`gsBc=E4 zipIji$b7VSH?_R?04f_v&wdT)_+V5ZlAhN(2$hYbr>O?;vuJ5seW+|CJ>7J8R5p^H zK{_avjihIU4n}1o>FJ#THl$y?26LH6dWL3NFPDm@#L!eWlAd-MU~~TWctcXzNP0?T zfT|#)p1qe5KxHH8$&mr1DuYnjNP6nyq#&t>O=TnL*^R+{AB4(A(z6o-MC^4m{itjt zJ-skM{YIw)@4F>8v*CSG*+_coUx28CQ`txjeQ~u!3hi~iKEto4>jiXa5GorEb@AY@`nv+z{o{wnH`SjZiH?d_XE2>64+Fm^K8y7qvrD*+`!=wEkoP{nXco z%0~K%RXhMH8|hnya9~t666Co6b7X&_jehcL+UQGVBmK;34{_Fqq_UBIV=(<03I-Hn z04f{l&!MVf5Got#9|khOWEz+}Mvpy%sAFWrAo{C)mKel-Q`yK?R=@w)_7Nc@eT8ge0Q;g88Hmb8j$&2!i^@ihWp(?%k{v8J z+uSq4Uc@qOy_4FqHoOXuzQ#kjh3L z&mj7*PQeiUschs)tl~kTvXQ4Uto}~X5CW3f1K#o*jLJry&Y(g&lL4TDsBGk!3?THZ zHUI+F{sF0MGj1yI?@r3~VLschsjhI0_8Y~*r=)c>8RfRXaQb}%F=8@Y-h z_K$Z%A?jg$C@LGdhQS>iDjT_uf&FJxHgbK4zWd(G943{GypX~5x41#z`cT=(OBh7| z{m{S=`=GLs8yVW5FN^LUm5toYkOzG=EEKZ-!fe3XihbX~m6s1&Y~3i?3wnc5*~mvQ z$!KrNIqYp$215??^$1u#{Pz?lV zVL&Py`FI97oEaMkX}sG#FqMsbA_E`vWzIg9;5VsWhKa$bY~)jhtz~};y2I&DWh0-? zFb91VI+WD@SJC@X*~n)x)Y`$`{tbnyOKM<;q_UCEWlapnjrCE6(F7d91XJ0_7cl7I z%)b!O!BjT##Rn>~!P?S~%0|A7K@Z3C`b8dq%0}M8;D$4P0TX3NR5tQ<*2MoAm5scU zwfBEQWg}n3+WJqZY~*Vh_I^#+&{Q_^4Ggt^Og)74a9}DM`Q`&bWW+N@Oys*(ly75* z`(@(;P}#_LGPvQaFa9YLg33m|=YS;)q_UCkJ75*|p|X)5WQhIGX#$2hV3W%tsX?i1 z7Ne zoAnGzWh3ul$b*I>p^({&`F`S!P*gVZD+ky@zydrlm5u!RFty`1i+xeq$Zs*^p|YR^ z(6|nZ%0_;7|5X&QIrNW5e<~aK1J=Tz%R$gE`&Bd;m5ux{LmhNiGcamsDjWGThB@dG z6NDLH>P!LssBGjf8RAd}aX|VMhCDcxjraMX>Ht(WN;ZQ%FuIcvR5r>e zhJDbfY?K0q`(IPpC=S-le@JDcjAJeQS5!92Lzmq}z2k~{T3VZf2@ZV32}-F_0aOLbEM>M* zrW~fsQQ&P^HzjqH%%=nxRTfgRc&AdSR4LWUT%|^V&pebYr(`81?UZy;vPR9_gO_kJ z_Tag=QK?rs^?V--W>sTLTVYd2M_~Jl_4em^Y&8c&wo^R1tFvkJ+K$%7 zHg9ozTbsA3yRa#+p{065^&Z>d2h>olx2xOT)Y;O}-8C96l{3dWv?pDop`#x5Tj7|% zW|!;DF7VhE|0m53q|;Wt%|-u(PFDnW?nu3%B_7+t|FCn0?RP8dfbL1@QC2H!l(m!` zPDvvrODSpEp{!RnaM{WxN}4J0s_?$~GL3E~zPhtzRb%J6lJ=&aRo=Gl+Ll!?R*kDV zJhqHJAI)p&YFXOqEnd;s+1S+W?W}>X?(i<2-O}uZgLplBfN#X^Q_1aZ1v~RL2iMZr zPJVgJeEj%^4UT;Km~m6aZmQofY0Q*-yJM5lmlKpzL-yq~<#g!FnUt)cq($q?5o)f6 z`SE2(SUMJMm^@|7IDnlzZt|vv4O6C!55hfPxdd?W2%LnIaf-TA-KFkUuiBwps$2$` zS5VSQ$tn%AO~?H8l-v)lWpa+4IMD%eP8l;PP|hors|UopM!6R7uBW7fk|Q;|P95*B z_pg58<3$_BjUO{!lX3hcka7IDiDLsXZ&mIJ+4sAZdjR);lyp2cbof)>KGd& z>PyPYT+TLSkFuANjg)NKro5uOO36`_9Ie?`L|KWe#Jjqs$!ieMz*oBapE=>HbX&T? zKzcg89^1&~)!ogkY(Z;#Q)6pE6MU&&4_Mk%_UDTBuI_nj;afN-jyG)N9pybBic;RC zgl<*dr{owlcQJrhHm>rzyF1})bQ-|tu&;SFNQ0D5lrMl+NBLCwO!=IW<0v_vlFi$d zFO{!QH61a|{G$9y$%&MlLCHCkT-dt+{-OM%3H_(? zm-06yCsA@TC8umx{BhXIO~XkK$5Jv+AtP=x*uvTn?}><%qGA&?iB@{obuECOzE-zI$Edt&+7=hDnpIJi=T*8( z+uORKBrqtockWG2NtNtrBh%rzyJfu>T3yDzbQ1p73_pElmfraYt4+12g2xtJSl-jr z(%d+!6R4QIb!7!b?XAr(Wo75&F3<&SgKG8quih?SbK7!80kXbh-IHG+6^?d*1oO4& z3jJb|xH}q~yhRSqMpOyl#*Q;Y+%|R;{5@eJ6f9|hIn>?;vt`=^?cwAp9$RF9UYd1{ zZJRo3z~>%Yc%^%ecb&JHxe6GG7pEUu+u7dUts+j~BDh2@oh#tRa+5e0H;1d?7II6u zcJ4^7i|gTz<~DPua~E-!a+h;kxb57P+%E1a?ndrT?m_Me?nUl3?tShf?i21a?q9^C za1@VH(MXhs#-gcc7CH=-qe|pP3(*qPggQ_cT8mCYXQC_79q4X!zpi79^q<@e-%sBU z^dKb{yaZBBwq{#%7FW6}db%57@hk!3+YXO%xoMzh?Jr|~9;-_W%(QxlDbUlFKRC0t8!(Vr%5!)3kP7hvsDm zF9b3{q3nGZa(Az5-FHbXo?s=@X9~J*Ub4=F$>_8eX{O%|A8QNu@A9YL$dp{6tE|N8 z(zWB=W-Z~S!75VQ-rTs(-q>v)pmtF@An z9b2v7(su?$^VT{&AiMIvi2Rxi8S1SIfk4pOU|m4TE=qQ9vo5kOrsOJ0u2wVa*0eNt zub8*O+p>H`clyk;JD6V5XP)ZQ4<~_snqf__dX+Nkax26**Rsvab(Guy{p{VE2uHEb z;DrIttiFiz`v0bby^UK}>zcgrzi4R102AN3-nyYq<4yIlxu3v|!{y5&vFdzKF@A6Y&TtU`t`Mko?Wgi;`BJPZgLD}jiyMrabe!g8TS zSShR$+Jz&9E};jw_I3-804>^hARg-kIt>W$C{o+&N9`Q}_J@Iq#3-MP; zk`yUSvPqFrv=l4FONmmFG+G)XjguxwlcXuqG-La`n%OaLXv_!0q*c5Se1dTX0;^c@^BTkPvGve%s>mr_w_$cC&h#w=l zNF2#Wnj?isDN>0{h#V1_9GM!K7MUKI8JQhBBL9s-Q6$P5l^B&8l@^sAl@m28DnF_)YIM|;sM4sis5w!UQPoj3QJ$#7 zqZ*@{qSi;95Os3YsZnP{ofUOX)Rw62QCCLoj=DPP+Nist?v1)H>cOaoqaKZVDeC2@ zSEJsDdMoOks86GQiuyb1-)Iy~qD|3Z(YENw=;-L!==kXI(RI{aN(S(SJn$75z^P zi7~}kV#JuFn9P{5F_U7Z#7v8s8B-Kf5>pye8?!j(h?w@6BV)Q^*2b)l*%)(F%vmuP z$9x;}S8RA}L~K-SOl(|iLhOjxo#GQ%PBtDh6C-LRPR}Xo z{1KOoxM{@QBR(GSMN&*sa#CrMJ85Ck@}!oel}W3TRwr#tqDdztotbn_(s@Z2B;Am7 zZ_=Ylk0(8u^mNj*Nv|Zmmh?u_TS@OEy_fWP(vM01B*!MFC+8;@COeYHCXY{^o;)Mj znOvOgN}iSMO+F_1%H;c!pH6-*`Gw>?$uB3rn*3$**U5h*|DF7A3Qplu%qih1(J8Sh z@hOQZ*(v!cg(;4d2`Q6Orld?uDM_hFS&-sMX-sKKS&?!?N^446%Gwl~a(c=cDQBjf zopMFWwv-(yyHc)7xhCcQlqXW2O?f`$#gsiM@1=a4@@dNFDc_`gm-0i(PbvSTT2iA^ z6H-T{CZ~=}%}C8k%}Je_TAW&&+LC%~>gB0hQn#h-kG;{}WN)>%**om(?I+kzvY%o< z&A!vV+kUnETKo0(JM4Gc@3r4&f874P{g*U*T5eiZT5a0;v=h=UPur5VEp12I&a~ZW zSEpT@c7587X*Z|cn)YepmXv z>G!8Ul>TV?+`H{vcAvyDeL#Fzq0<#M%m%nBeP4htFjkmH)c0yFVAkxZqM$_?#}MX zJ}Uc^?2EH6%ifZ`J$q;NRoT~O-;jM@_Ji4vWIvw$RQ9vkFJ$k@emVQMoU9yY&Z3+( zIa_k>$$2E_@tmh}p2>M9=gXY0a=y;_Hs`OLzjOY{<#MgLVY%VC5xMcXnYmfH*}1v7 zV{<3uPR^a0J14g;w?21a?vmWb+~;#&%l$a_tK4sMf5`ng_pjW4N8wSXQI=6*qhdx) z9#u1H(J1ez6{A*;S~Y6@s12hwjyh`838Qw6x_;Diqdpq-PoA6?ofnsvn3tSq&&$or z&l{aLHg7`Sq`c*M-Fa*B*5z%?J35c%ot$?@-r0HQ7ECIbS}?s}MnQQ&L&2f~Pr=dxZ^4R!l?7`H z))#ClIJ$rq99OWp;KYL61&G*#&o#$Iqhr@2H9$Sk1hfJjKo_6@`hY=T7(f9npaaH$ zv%q=a5^x!q0Ima*z%Ae|@BnxOJOQ2qQ@}JZ1H1=50-u3z;6iXQxD;Ftt^(JB>%ooS z&)^ntJGcwn3myOufk!|9GzBd{0!RYMAQiL&9YGh+9rOZy!2mD_3=XfO^;1XI9N zkOdwG5s(XJfqYO1iorav04xSe!3wY%tOFat7O)-c1W$s!-~gxuRiFku1scFJ;5c{@ z{0+PUUITA{H^DpLeef^vZ}1uT0-OcEVi#a{VGm(RSX-Ma1@*^E&`W`OTkHTa$GrX z1gFQH#@)g_!acz+!mq%u#+&1<@izEGJPUsuUxKf}*W=IPFXJchQ~3AzkA#hc?Sx$f zGQpAHLP#R82@s)-P)}$gj1evoE)$*+-V)wfZn4~JdBD=i(%aI{^0;M|CExO-rP5Mm z`PA}_;x^(=B9-VubSK6T=|m<`N|Y1Ji8|tW;w9oE;uLY3w1l*V^aIJ5WJbb~ zf=Mx?cv2Cmid0Kdl1`Bfq`ycnNw2LASOHe1RsmKKR?${Ms{*THt8S|ys}ZYfR(GuK zTN_!gv|eL<$lBD}!aBe@!aCYoW?g1oX??-^s`Ve%AIS^Ji^+S)hshXnC^?RtNG>2( zkgLgR@@eup@+0yTd783=a*$&DZ$&VO5=tqgR8ndv2FgXsZX^GSKPBu=?PHs*- zCyA5HY24|G(>3R1&g+~vIJ-LgIR`oyIafK?I^TAF?EKVahs!}1W0xqGWEX}@i_1xu zUYEx%uUy`^Zg)N4ddM}%HQF`KwbfPO+UNS0>r2o3$I)P3R_eJL`7YZNhz{ z`*!zT?!oRc?(yyw?v3s(?swgvxIg#U;c?Kz*dx#*(j&&B&7;So-{XzPCyy_lfG5F| zU0w>WH(sB-zIc;x{U=tt-C@$j48Ifczlc2%`y-A;WJY91Oh!D2cod0`w27oe z$|Gwd8zTRSGKyLf6&w{46(2ParHMKfy(D@~^bgSi(Gk(n(YomK(U)R&#~8<$#N@^l z#mHkG$GnPp6Kfai9_tk=iY<&Si9H`X5qmvuecYC~?QzUFPFzOZXxzED3-N2?e~#Z0 z9}%AzpAz31uZZu9e;@xXVPS$}f>(lXLPtVh!eGMJ#3hN}C;B9YB!(xRNbFA>N}Nwx zmb4-%C@DHAE@?1Ho1{zLoV+`EUotmYm@H1do%}fYX^KS(Ifa^1mQtV6lrobtPhUV^ zNH?OdrT!kbPGCxPNdW54s>U_D?OC{?|Vs)qbJgD(C^cy=(F@W z`X~Aqh7n^4<9o(R#%cz@aAtTjf*E0qNJcb+$w*_c7{?fej9Nwqql=+n^f3k*!wduC z3}c*ek?|Yj3gar{YwDrYqp8wVH1%BSh15%_ms2NFuch8eeVF<<^=az!)Vb8psb5p) znTwfAnai0gnHVOXX~%SCx-#9FK1@GmATx*=&15opOaW8GlrUw?LS_lGjM>WUV0JMT z%s%EIbC`)THOzZyE7SI;*`$S}iPDo5z$!m`X*b}UDh3(KA5#TsIbvM#bFSl3yTtXr&y ztjDY;tmmwktQpoP_BJ+wO=a7$9of$80Co&Jo}I*|vzcr*8)E0MbJ z*=qI;_Sa*(k5P}sA7es9$QrVNXpjTs47ov`kPqY!9fd-ma3~6jg%Y4-hykTR#~>I= zhccmTCi%*)Rli;0%}t z3t$l}fn{(ZTmqNDm2eGQ4>!TBa0lE4E8sqO5FUn6SPSdmG59Qe9=-%$h9}_b@FaW- zz6(EqAHh%H=kOFf4bQ;u;g9fV_#3hiS&S@2mLsc>wa9v8Bl0t{1=)`5LiQpDkVD83 z1VBs?3xt4>5HdnV><~x91#w5b5MLw!2|_}V2qYSbLlTh`Bo$#H#}NeKB3TF@5h7wF z4=F&3ky4}rsYdFMMx+I4M>>&{NG~#gC=nH+K~5nC(d(wo!U(tl6?GyOJq8+SkV7j76go}0ui;8t*}xntZ*+{@ejOonPnVT{kav({u8XPIT;vV5~bvm&ziS$SCnS#4Q8S^ZhRW!=cS$y>-<&RfMZ z<5}@2ybxY2FM(IYtK!x2MtFMOY2HKL3*M{j71gn`0f;c;P>kT0wkb_lzKmxYtUTf#Zvyl9bVx5!vzBJvl7i=srO zqB>Ed=(Olp(eI*Z(MQqe+=IDbu32tiZe(sut}wSCw>Y;acO+Mx`!e@k?g#N!@jmfE z@lkPO35jSK{6$IFZn3_ zNxD7Z0A)k*)BzLvhtTc5WjZ+l*7UR+*cUT5Awo-*%#-m|=y zvL&)LvL9r4nT?DlizICL3UO4hwNki!u-Ygd-IRv1NpxBq4^Q{wfSxN zC-Pt9&*sk+;0h=Owgub*VS%{dQo;3t$->ozn+i7~Q94|T zmVPT+TDH8*zRaV{yR4|Js;su`VcCnaSLOT5G3D6u$nvCedija+{_>&nm*wxuKUD0g zI9!3LNUcCBxD}d;GZo_%Un;+=Tvkb|bgT5N6jv5kmR4S=yjgjtYID`@s(n?-RmZB} zDoxdys`2V&)$6J^RL55{tJ&2f)%xnw)&JBO)hwxTsPU}vscEk1uIZ_nuU%HVqBgKL zvNoo6sCKkgUuRUevTjXXXkA=gVqHgFU)^Bc=laFTR;!W;S<)D5GJ>l?Q;Zf}fhOl@Q}jy9faywJ3x>0py_Q+iWQQ*P6>raMjdn~yYG zG!vRLnnlf$<_FEso2OblS^`^wTeK}_Th6!s)Vi~EPb<9@YUQ-*TQ9W!+V(@+|Jt^- zMYJWhrL+yTjkf9AjoMeXuW9#f4{eWVZ*T8yA83Ey{;gwShh2wzhgU~UM{7q%$CHlf zj+qnW6OJcbPBfqBKGD;;xN}wK+Ro6 zySt6MO}eGs^6v8P*WDkw|2gS(GU#OJ$=;KylN!Z3#b(7;g{R`EB19oq)G8Vj_Y_YR zFM5bQv>t~ZaZhniY0vGR$30JbjeE^{alMRQxHr95-+Q6=*S-yXTl;qOrS+xvW%ix# zo9MgVzrFuJ|Dk?XKes=t|6>2O{u=}P222LPfy{y20qMZs1Fr|(4%!cT40;c?5B3fY z3@sX3F|>Lpd?;Zkd1!R#+|c;Yg`pcmlS6+F-5Q!x8Y$N**DE(Fe^zc$ZddM7nkYe~ znG&b8R9Y!1N~+RB>812h`YTT>uPCo7uPY~qjfe5WmcyiB@^H&=-|)cj(D2B}rjb1( z`$i6o92((`$tsSjS=Fsl zs!pjcsjjOgRku`kRS#6pRa2^I)mzm&)tqV`U5Rc)ccaGW5fp=hs3}T9$tV@2p$@1M z>Wzk=u_z1WqM0ZU<)b-hK3asz(K56WtwvkWK2(j4qgT*t=neEHdI$X*eTKe7U!iZ% z8T7Mysd}Ayn|iL))e8*A8h% zv}&zZdscg1dsTa1`$YR(JEfi0&S^hszi8)27mh9;T{pUUbeB%36YGj~4Z3!nLZ{Y^ z>n`ek(_PVB)7{YB)IHHX*S*xe*1gru>fY-<=(p%8`XqgszFyy<@71gH8vPmlCH)os zWBn8Tw0=haPCsWbGAuECZ&+zqV_0X{X4qlaW!P)r7;+6VL!qI>P+_Px)EOEKZHAKu zrQwue+;GKk&2YnT({RUd&+yXl$}nx1G0cxG95WhQG8QxzKbAO_JjNJ1Gj?O__SnP! S6yc&p|8W)fKmPxYJ^DXy4(M$F literal 0 HcmV?d00001 diff --git a/TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/WorkspaceSettings.xcsettings b/TestScripts/Cpp Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/WorkspaceSettings.xcsettings similarity index 100% rename from TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/WorkspaceSettings.xcsettings rename to TestScripts/Cpp Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/WorkspaceSettings.xcsettings diff --git a/TestScripts/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/TestScripts/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist new file mode 100644 index 0000000..fe2b454 --- /dev/null +++ b/TestScripts/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -0,0 +1,5 @@ + + + diff --git a/TestScripts/XPC Tests/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/XPC Tests.xcscheme b/TestScripts/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/XPC Tests.xcscheme similarity index 100% rename from TestScripts/XPC Tests/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/XPC Tests.xcscheme rename to TestScripts/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/XPC Tests.xcscheme diff --git a/TestScripts/XPC Tests/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/xcschememanagement.plist b/TestScripts/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/xcschememanagement.plist similarity index 100% rename from TestScripts/XPC Tests/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/xcschememanagement.plist rename to TestScripts/Cpp Tests.xcodeproj/xcuserdata/cteubert.xcuserdatad/xcschemes/xcschememanagement.plist diff --git a/TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/UserInterfaceState.xcuserstate b/TestScripts/XPC Tests/Cpp Tests.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/UserInterfaceState.xcuserstate deleted file mode 100644 index 537c12ffc50452e4e9fe0d82fb9e09c5c5aedead..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 34178 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 LzxY%7cYyeRkWCnn diff --git a/xpcPlugin/xpcPlugin.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/UserInterfaceState.xcuserstate b/xpcPlugin/xpcPlugin.xcodeproj/project.xcworkspace/xcuserdata/cteubert.xcuserdatad/UserInterfaceState.xcuserstate index 00a99716aa3f219fb306937c6b577d6fc3096dba..bae3e194be4549dda1866e8b5b5d78640021abdc 100644 GIT binary patch delta 30664 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 Ps{i?a{`VuYIRF0--#O`e delta 30687 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