diff options
author | Benoit Foucher <benoit@zeroc.com> | 2016-12-13 17:40:25 +0100 |
---|---|---|
committer | Benoit Foucher <benoit@zeroc.com> | 2016-12-13 17:40:25 +0100 |
commit | be3f1d1fc29f0b13c26149a5e654e335eda75450 (patch) | |
tree | 3a41e2a92b3dfd6606ee212e1a2e476db4c321d3 /cpp/test | |
parent | Another fix for Windows bin PATH (diff) | |
download | ice-be3f1d1fc29f0b13c26149a5e654e335eda75450.tar.bz2 ice-be3f1d1fc29f0b13c26149a5e654e335eda75450.tar.xz ice-be3f1d1fc29f0b13c26149a5e654e335eda75450.zip |
Support for C++ iOS Simulator controller
Diffstat (limited to 'cpp/test')
72 files changed, 1391 insertions, 89 deletions
diff --git a/cpp/test/Ice/proxy/AllTests.cpp b/cpp/test/Ice/proxy/AllTests.cpp index 25ce9ac8ffb..269988a9119 100644 --- a/cpp/test/Ice/proxy/AllTests.cpp +++ b/cpp/test/Ice/proxy/AllTests.cpp @@ -1297,6 +1297,10 @@ allTests(const Ice::CommunicatorPtr& communicator) } else if(tcp) { + if(pstr != "test -t -e 1.0:opaque -t 2 -e 1.0 -v CTEyNy4wLjAuMREnAAD/////AA==:opaque -t 99 -e 1.0 -v abch") + { + cerr << pstr << endl; + } test(pstr == "test -t -e 1.0:opaque -t 2 -e 1.0 -v CTEyNy4wLjAuMREnAAD/////AA==:opaque -t 99 -e 1.0 -v abch"); } diff --git a/cpp/test/include/TestCommon.h b/cpp/test/include/TestCommon.h index e41d75c9234..e9c34484361 100644 --- a/cpp/test/include/TestCommon.h +++ b/cpp/test/include/TestCommon.h @@ -20,7 +20,7 @@ #include <Ice/ProxyF.h> #include <Ice/Initialize.h> -#if defined(ICE_OS_WINRT) || (TARGET_OS_IPHONE) +#if defined(ICE_OS_WINRT) || (TARGET_OS_IPHONE != 0) # include <Ice/Initialize.h> # include <Ice/Logger.h> # include <Ice/LocalException.h> diff --git a/cpp/test/ios/BundleInfo.plist b/cpp/test/ios/BundleInfo.plist deleted file mode 100644 index eefb65fecea..00000000000 --- a/cpp/test/ios/BundleInfo.plist +++ /dev/null @@ -1,48 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> -<plist version="1.0"> -<dict> - <key>BuildMachineOSBuild</key> - <string>12C60</string> - <key>CFBundleDevelopmentRegion</key> - <string>English</string> - <key>CFBundleExecutable</key> - <string>NAME.dylib</string> - <key>CFBundleIdentifier</key> - <string>com.zeroc.NAME</string> - <key>CFBundleInfoDictionaryVersion</key> - <string>6.0</string> - <key>CFBundleName</key> - <string>NAME</string> - <key>CFBundlePackageType</key> - <string>BNDL</string> - <key>CFBundleShortVersionString</key> - <string>1.0</string> - <key>CFBundleSignature</key> - <string>????</string> - <key>CFBundleVersion</key> - <string>1</string> - <key>CFPlugInDynamicRegisterFunction</key> - <string></string> - <key>CFPlugInDynamicRegistration</key> - <string>NO</string> - <key>CFPlugInUnloadFunction</key> - <string></string> - <key>DTCompiler</key> - <string></string> - <key>DTPlatformBuild</key> - <string>4H127</string> - <key>DTPlatformVersion</key> - <string>GM</string> - <key>DTSDKBuild</key> - <string>12C37</string> - <key>DTSDKName</key> - <string>macosx10.8</string> - <key>DTXcode</key> - <string>0460</string> - <key>DTXcodeBuild</key> - <string>4H127</string> - <key>NSHumanReadableCopyright</key> - <string>Copyright © 2013 ZeroC. All rights reserved.</string> -</dict> -</plist> diff --git a/cpp/test/ios/README.md b/cpp/test/ios/README.md deleted file mode 100644 index 69b15dc494a..00000000000 --- a/cpp/test/ios/README.md +++ /dev/null @@ -1,5 +0,0 @@ -This project builds the iOS C++ Test Suite application for running tests with the iOS simulator or on an iOS device. - -You should use the "C++ Test Suite iOS 7" target if you plan to run the tests on an iOS 7.x device, use the -"C++ Test Suite" target otherwise. Bundles are not signed with the iOS 7 target (iOS 7.x doesn't support loading -signed bundles). diff --git a/cpp/test/ios/C++ Test Suite.entitlements b/cpp/test/ios/controller/C++ Test Controller.entitlements index 903def2af53..903def2af53 100644 --- a/cpp/test/ios/C++ Test Suite.entitlements +++ b/cpp/test/ios/controller/C++ Test Controller.entitlements diff --git a/cpp/test/ios/controller/C++ Test Controller.xcodeproj/project.pbxproj b/cpp/test/ios/controller/C++ Test Controller.xcodeproj/project.pbxproj new file mode 100644 index 00000000000..002fafa04da --- /dev/null +++ b/cpp/test/ios/controller/C++ Test Controller.xcodeproj/project.pbxproj @@ -0,0 +1,569 @@ +// !$*UTF8*$! +{ + archiveVersion = 1; + classes = { + }; + objectVersion = 48; + objects = { + +/* Begin PBXBuildFile section */ + 148ABA191DFB12C800594F70 /* cacert.der in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA161DFB12C800594F70 /* cacert.der */; }; + 148ABA1A1DFB12C800594F70 /* client.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA171DFB12C800594F70 /* client.p12 */; }; + 148ABA1B1DFB12C800594F70 /* server.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA181DFB12C800594F70 /* server.p12 */; }; + 148ABA1D1DFB12DB00594F70 /* certs in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA1C1DFB12DB00594F70 /* certs */; }; + 148ABA421DFEEAEE00594F70 /* Controller.ice in Sources */ = {isa = PBXBuildFile; fileRef = 14905C6D1DF991F2002AE61B /* Controller.ice */; }; + 148ABA431DFEEAEE00594F70 /* ViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 14905C5B1DF98FD8002AE61B /* ViewController.mm */; }; + 148ABA441DFEEAEE00594F70 /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 14905C581DF98FD8002AE61B /* AppDelegate.m */; }; + 148ABA451DFEEAEE00594F70 /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 14905C551DF98FD8002AE61B /* main.m */; }; + 148ABA481DFEEAEE00594F70 /* client.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA171DFB12C800594F70 /* client.p12 */; }; + 148ABA491DFEEAEE00594F70 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 14905C621DF98FD8002AE61B /* LaunchScreen.storyboard */; }; + 148ABA4A1DFEEAEE00594F70 /* Controller.ice in Resources */ = {isa = PBXBuildFile; fileRef = 14905C6D1DF991F2002AE61B /* Controller.ice */; }; + 148ABA4B1DFEEAEE00594F70 /* server.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA181DFB12C800594F70 /* server.p12 */; }; + 148ABA4C1DFEEAEE00594F70 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 14905C601DF98FD8002AE61B /* Assets.xcassets */; }; + 148ABA4D1DFEEAEE00594F70 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 14905C5D1DF98FD8002AE61B /* Main.storyboard */; }; + 148ABA4E1DFEEAEE00594F70 /* certs in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA1C1DFB12DB00594F70 /* certs */; }; + 148ABA4F1DFEEAEE00594F70 /* cacert.der in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA161DFB12C800594F70 /* cacert.der */; }; + 148ABA581DFEEB7000594F70 /* C++11-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA571DFEEB7000594F70 /* C++11-Info.plist */; }; + 14905C561DF98FD8002AE61B /* main.m in Sources */ = {isa = PBXBuildFile; fileRef = 14905C551DF98FD8002AE61B /* main.m */; }; + 14905C591DF98FD8002AE61B /* AppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 14905C581DF98FD8002AE61B /* AppDelegate.m */; }; + 14905C5C1DF98FD8002AE61B /* ViewController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 14905C5B1DF98FD8002AE61B /* ViewController.mm */; }; + 14905C5F1DF98FD8002AE61B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 14905C5D1DF98FD8002AE61B /* Main.storyboard */; }; + 14905C611DF98FD8002AE61B /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 14905C601DF98FD8002AE61B /* Assets.xcassets */; }; + 14905C641DF98FD8002AE61B /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 14905C621DF98FD8002AE61B /* LaunchScreen.storyboard */; }; + 14905C6E1DF991F3002AE61B /* Controller.ice in Resources */ = {isa = PBXBuildFile; fileRef = 14905C6D1DF991F2002AE61B /* Controller.ice */; }; + 14905C711DF9923D002AE61B /* Controller.ice in Sources */ = {isa = PBXBuildFile; fileRef = 14905C6D1DF991F2002AE61B /* Controller.ice */; }; +/* End PBXBuildFile section */ + +/* Begin PBXBuildRule section */ + 148ABA511DFEEAEE00594F70 /* PBXBuildRule */ = { + isa = PBXBuildRule; + compilerSpec = com.apple.compilers.proxy.script; + filePatterns = "*.ice"; + fileType = pattern.proxy; + isEditable = 1; + outputFiles = ( + "$(DERIVED_FILE_DIR)/$(INPUT_FILE_BASE).cpp", + "$(DERIVED_FILE_DIR)/$(INPUT_FILE_BASE).h", + ); + script = "/usr/local/bin/icebuilder --cpp"; + }; + 14905C701DF991FB002AE61B /* PBXBuildRule */ = { + isa = PBXBuildRule; + compilerSpec = com.apple.compilers.proxy.script; + filePatterns = "*.ice"; + fileType = pattern.proxy; + isEditable = 1; + outputFiles = ( + "$(DERIVED_FILE_DIR)/$(INPUT_FILE_BASE).cpp", + "$(DERIVED_FILE_DIR)/$(INPUT_FILE_BASE).h", + ); + script = "/usr/local/bin/icebuilder --cpp"; + }; +/* End PBXBuildRule section */ + +/* Begin PBXFileReference section */ + 148ABA161DFB12C800594F70 /* cacert.der */ = {isa = PBXFileReference; lastKnownFileType = file; name = cacert.der; path = ../../../../certs/cacert.der; sourceTree = "<group>"; }; + 148ABA171DFB12C800594F70 /* client.p12 */ = {isa = PBXFileReference; lastKnownFileType = file; name = client.p12; path = ../../../../certs/client.p12; sourceTree = "<group>"; }; + 148ABA181DFB12C800594F70 /* server.p12 */ = {isa = PBXFileReference; lastKnownFileType = file; name = server.p12; path = ../../../../certs/server.p12; sourceTree = "<group>"; }; + 148ABA1C1DFB12DB00594F70 /* certs */ = {isa = PBXFileReference; lastKnownFileType = folder; name = certs; path = ../../IceSSL/certs; sourceTree = "<group>"; }; + 148ABA1E1DFB18A300594F70 /* C++ Test Controller.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "C++ Test Controller.entitlements"; sourceTree = "<group>"; }; + 148ABA551DFEEAEE00594F70 /* C++11 Test Controller.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "C++11 Test Controller.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 148ABA571DFEEB7000594F70 /* C++11-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "C++11-Info.plist"; sourceTree = "<group>"; }; + 14905C511DF98FD8002AE61B /* C++98 Test Controller.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "C++98 Test Controller.app"; sourceTree = BUILT_PRODUCTS_DIR; }; + 14905C551DF98FD8002AE61B /* main.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = main.m; sourceTree = "<group>"; }; + 14905C571DF98FD8002AE61B /* AppDelegate.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AppDelegate.h; sourceTree = "<group>"; }; + 14905C581DF98FD8002AE61B /* AppDelegate.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AppDelegate.m; sourceTree = "<group>"; }; + 14905C5A1DF98FD8002AE61B /* ViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ViewController.h; sourceTree = "<group>"; }; + 14905C5B1DF98FD8002AE61B /* ViewController.mm */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.cpp.objcpp; path = ViewController.mm; sourceTree = "<group>"; }; + 14905C5E1DF98FD8002AE61B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; }; + 14905C601DF98FD8002AE61B /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; }; + 14905C631DF98FD8002AE61B /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; }; + 14905C651DF98FD8002AE61B /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; + 14905C6D1DF991F2002AE61B /* Controller.ice */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; name = Controller.ice; path = ../../../../../scripts/Controller.ice; sourceTree = "<group>"; }; +/* End PBXFileReference section */ + +/* Begin PBXFrameworksBuildPhase section */ + 148ABA461DFEEAEE00594F70 /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 14905C4E1DF98FD8002AE61B /* Frameworks */ = { + isa = PBXFrameworksBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXFrameworksBuildPhase section */ + +/* Begin PBXGroup section */ + 148ABA151DFB12A500594F70 /* Resources */ = { + isa = PBXGroup; + children = ( + 148ABA1C1DFB12DB00594F70 /* certs */, + 148ABA161DFB12C800594F70 /* cacert.der */, + 148ABA171DFB12C800594F70 /* client.p12 */, + 148ABA181DFB12C800594F70 /* server.p12 */, + ); + name = Resources; + sourceTree = "<group>"; + }; + 14905C481DF98FD8002AE61B = { + isa = PBXGroup; + children = ( + 148ABA1E1DFB18A300594F70 /* C++ Test Controller.entitlements */, + 148ABA151DFB12A500594F70 /* Resources */, + 14905C531DF98FD8002AE61B /* Classes */, + 14905C521DF98FD8002AE61B /* Products */, + ); + sourceTree = "<group>"; + }; + 14905C521DF98FD8002AE61B /* Products */ = { + isa = PBXGroup; + children = ( + 14905C511DF98FD8002AE61B /* C++98 Test Controller.app */, + 148ABA551DFEEAEE00594F70 /* C++11 Test Controller.app */, + ); + name = Products; + sourceTree = "<group>"; + }; + 14905C531DF98FD8002AE61B /* Classes */ = { + isa = PBXGroup; + children = ( + 14905C6D1DF991F2002AE61B /* Controller.ice */, + 14905C571DF98FD8002AE61B /* AppDelegate.h */, + 14905C581DF98FD8002AE61B /* AppDelegate.m */, + 14905C5A1DF98FD8002AE61B /* ViewController.h */, + 14905C5B1DF98FD8002AE61B /* ViewController.mm */, + 14905C5D1DF98FD8002AE61B /* Main.storyboard */, + 14905C601DF98FD8002AE61B /* Assets.xcassets */, + 14905C621DF98FD8002AE61B /* LaunchScreen.storyboard */, + 14905C651DF98FD8002AE61B /* Info.plist */, + 148ABA571DFEEB7000594F70 /* C++11-Info.plist */, + 14905C541DF98FD8002AE61B /* Supporting Files */, + ); + path = Classes; + sourceTree = "<group>"; + }; + 14905C541DF98FD8002AE61B /* Supporting Files */ = { + isa = PBXGroup; + children = ( + 14905C551DF98FD8002AE61B /* main.m */, + ); + name = "Supporting Files"; + sourceTree = "<group>"; + }; +/* End PBXGroup section */ + +/* Begin PBXNativeTarget section */ + 148ABA401DFEEAEE00594F70 /* C++11 Test Controller */ = { + isa = PBXNativeTarget; + buildConfigurationList = 148ABA521DFEEAEE00594F70 /* Build configuration list for PBXNativeTarget "C++11 Test Controller" */; + buildPhases = ( + 148ABA411DFEEAEE00594F70 /* Sources */, + 148ABA461DFEEAEE00594F70 /* Frameworks */, + 148ABA471DFEEAEE00594F70 /* Resources */, + 148ABA501DFEEAEE00594F70 /* Run Script */, + ); + buildRules = ( + 148ABA511DFEEAEE00594F70 /* PBXBuildRule */, + ); + dependencies = ( + ); + name = "C++11 Test Controller"; + productName = "C++ Test Controller"; + productReference = 148ABA551DFEEAEE00594F70 /* C++11 Test Controller.app */; + productType = "com.apple.product-type.application"; + }; + 14905C501DF98FD8002AE61B /* C++98 Test Controller */ = { + isa = PBXNativeTarget; + buildConfigurationList = 14905C681DF98FD8002AE61B /* Build configuration list for PBXNativeTarget "C++98 Test Controller" */; + buildPhases = ( + 14905C4D1DF98FD8002AE61B /* Sources */, + 14905C4E1DF98FD8002AE61B /* Frameworks */, + 14905C4F1DF98FD8002AE61B /* Resources */, + 148ABA141DF9B74A00594F70 /* Run Script */, + ); + buildRules = ( + 14905C701DF991FB002AE61B /* PBXBuildRule */, + ); + dependencies = ( + ); + name = "C++98 Test Controller"; + productName = "C++ Test Controller"; + productReference = 14905C511DF98FD8002AE61B /* C++98 Test Controller.app */; + productType = "com.apple.product-type.application"; + }; +/* End PBXNativeTarget section */ + +/* Begin PBXProject section */ + 14905C491DF98FD8002AE61B /* Project object */ = { + isa = PBXProject; + attributes = { + LastUpgradeCheck = 0820; + ORGANIZATIONNAME = "ZeroC, Inc."; + TargetAttributes = { + 148ABA401DFEEAEE00594F70 = { + DevelopmentTeam = U4TBVKNQ7F; + }; + 14905C501DF98FD8002AE61B = { + CreatedOnToolsVersion = 8.1; + DevelopmentTeam = U4TBVKNQ7F; + ProvisioningStyle = Automatic; + SystemCapabilities = { + com.apple.Push = { + enabled = 1; + }; + }; + }; + }; + }; + buildConfigurationList = 14905C4C1DF98FD8002AE61B /* Build configuration list for PBXProject "C++ Test Controller" */; + compatibilityVersion = "Xcode 8.0"; + developmentRegion = English; + hasScannedForEncodings = 0; + knownRegions = ( + en, + Base, + ); + mainGroup = 14905C481DF98FD8002AE61B; + productRefGroup = 14905C521DF98FD8002AE61B /* Products */; + projectDirPath = ""; + projectRoot = ""; + targets = ( + 14905C501DF98FD8002AE61B /* C++98 Test Controller */, + 148ABA401DFEEAEE00594F70 /* C++11 Test Controller */, + ); + }; +/* End PBXProject section */ + +/* Begin PBXResourcesBuildPhase section */ + 148ABA471DFEEAEE00594F70 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 148ABA481DFEEAEE00594F70 /* client.p12 in Resources */, + 148ABA491DFEEAEE00594F70 /* LaunchScreen.storyboard in Resources */, + 148ABA4A1DFEEAEE00594F70 /* Controller.ice in Resources */, + 148ABA4B1DFEEAEE00594F70 /* server.p12 in Resources */, + 148ABA4C1DFEEAEE00594F70 /* Assets.xcassets in Resources */, + 148ABA4D1DFEEAEE00594F70 /* Main.storyboard in Resources */, + 148ABA4E1DFEEAEE00594F70 /* certs in Resources */, + 148ABA4F1DFEEAEE00594F70 /* cacert.der in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 14905C4F1DF98FD8002AE61B /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 148ABA1A1DFB12C800594F70 /* client.p12 in Resources */, + 14905C641DF98FD8002AE61B /* LaunchScreen.storyboard in Resources */, + 14905C6E1DF991F3002AE61B /* Controller.ice in Resources */, + 148ABA1B1DFB12C800594F70 /* server.p12 in Resources */, + 14905C611DF98FD8002AE61B /* Assets.xcassets in Resources */, + 14905C5F1DF98FD8002AE61B /* Main.storyboard in Resources */, + 148ABA581DFEEB7000594F70 /* C++11-Info.plist in Resources */, + 148ABA1D1DFB12DB00594F70 /* certs in Resources */, + 148ABA191DFB12C800594F70 /* cacert.der in Resources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + +/* Begin PBXShellScriptBuildPhase section */ + 148ABA141DF9B74A00594F70 /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "#\n# We don't use a CopyFile build phase here to copy the test bundles because the test\n# bundles are located in different location depending on the platform. This script\n# copies the bundles if updated and sign them.\n#\n\nFRAMEWORKS_PATH=\"${TARGET_BUILD_DIR}\"/\"${FRAMEWORKS_FOLDER_PATH}\"\ncd \"../bundles/Bundles-${PLATFORM_NAME}\"\nif [ ! -d \"$FRAMEWORKS_PATH\" ]; then\nmkdir -p \"$FRAMEWORKS_PATH\"\nfi;\nfor i in `ls -d */*.bundle`;\n do\n if [ ! -d \"$FRAMEWORKS_PATH/$i\" -o \"$i\" -nt \"$FRAMEWORKS_PATH/$i\" ]; then\n echo \"Copying $i\"\n mkdir -p \"$FRAMEWORKS_PATH/$(dirname $i)\"\n cp -rf $i \"$FRAMEWORKS_PATH/$(dirname $i)\"\n if [ -n \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" ]; then\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --preserve-metadata=identifier,entitlements \"${FRAMEWORKS_PATH}/$i\"\n fi;\n fi;\n done\n \n"; + }; + 148ABA501DFEEAEE00594F70 /* Run Script */ = { + isa = PBXShellScriptBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + inputPaths = ( + ); + name = "Run Script"; + outputPaths = ( + ); + runOnlyForDeploymentPostprocessing = 0; + shellPath = /bin/sh; + shellScript = "#\n# We don't use a CopyFile build phase here to copy the test bundles because the test\n# bundles are located in different location depending on the platform. This script\n# copies the bundles if updated and sign them.\n#\n\nFRAMEWORKS_PATH=\"${TARGET_BUILD_DIR}\"/\"${FRAMEWORKS_FOLDER_PATH}\"\ncd \"../bundles/Bundles++11-${PLATFORM_NAME}\"\nif [ ! -d \"$FRAMEWORKS_PATH\" ]; then\nmkdir -p \"$FRAMEWORKS_PATH\"\nfi;\nfor i in `ls -d */*.bundle`;\n do\n if [ ! -d \"$FRAMEWORKS_PATH/$i\" -o \"$i\" -nt \"$FRAMEWORKS_PATH/$i\" ]; then\n echo \"Copying $i\"\n mkdir -p \"$FRAMEWORKS_PATH/$(dirname $i)\"\n cp -rf $i \"$FRAMEWORKS_PATH/$(dirname $i)\"\n if [ -n \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" ]; then\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --preserve-metadata=identifier,entitlements \"${FRAMEWORKS_PATH}/$i\"\n fi;\n fi;\n done\n \n"; + }; +/* End PBXShellScriptBuildPhase section */ + +/* Begin PBXSourcesBuildPhase section */ + 148ABA411DFEEAEE00594F70 /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 148ABA421DFEEAEE00594F70 /* Controller.ice in Sources */, + 148ABA431DFEEAEE00594F70 /* ViewController.mm in Sources */, + 148ABA441DFEEAEE00594F70 /* AppDelegate.m in Sources */, + 148ABA451DFEEAEE00594F70 /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 14905C4D1DF98FD8002AE61B /* Sources */ = { + isa = PBXSourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + 14905C711DF9923D002AE61B /* Controller.ice in Sources */, + 14905C5C1DF98FD8002AE61B /* ViewController.mm in Sources */, + 14905C591DF98FD8002AE61B /* AppDelegate.m in Sources */, + 14905C561DF98FD8002AE61B /* main.m in Sources */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXSourcesBuildPhase section */ + +/* Begin PBXVariantGroup section */ + 14905C5D1DF98FD8002AE61B /* Main.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 14905C5E1DF98FD8002AE61B /* Base */, + ); + name = Main.storyboard; + sourceTree = "<group>"; + }; + 14905C621DF98FD8002AE61B /* LaunchScreen.storyboard */ = { + isa = PBXVariantGroup; + children = ( + 14905C631DF98FD8002AE61B /* Base */, + ); + name = LaunchScreen.storyboard; + sourceTree = "<group>"; + }; +/* End PBXVariantGroup section */ + +/* Begin XCBuildConfiguration section */ + 148ABA531DFEEAEE00594F70 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = "C++ Test Controller.entitlements"; + DEVELOPMENT_TEAM = U4TBVKNQ7F; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + ICE_CPP11_MAPPING, + ICE_STATIC_LIBS, + ); + HEADER_SEARCH_PATHS = ../../include; + INFOPLIST_FILE = "Classes/C++11-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "-lIce++11", + "-lIceDiscovery++11", + "-lbz2", + "-liconv", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.zeroc.Cpp11-Test-Controller"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 148ABA541DFEEAEE00594F70 /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = "C++ Test Controller.entitlements"; + DEVELOPMENT_TEAM = U4TBVKNQ7F; + GCC_PREPROCESSOR_DEFINITIONS = ( + ICE_STATIC_LIBS, + ICE_CPP11_MAPPING, + ); + HEADER_SEARCH_PATHS = ../../include; + INFOPLIST_FILE = "Classes/C++11-Info.plist"; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "-lIce++11", + "-lIceDiscovery++11", + "-lbz2", + "-liconv", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.zeroc.Cpp11-Test-Controller"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; + 14905C661DF98FD8002AE61B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ADDITIONAL_SDKS = "../../../../IceSDK/$(PLATFORM_NAME).sdk"; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + 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_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "DEBUG=1", + "$(inherited)", + ); + 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_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 14905C671DF98FD8002AE61B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ADDITIONAL_SDKS = "../../../../IceSDK/$(PLATFORM_NAME).sdk"; + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + 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_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; + ENABLE_NS_ASSERTIONS = NO; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu99; + GCC_NO_COMMON_BLOCKS = 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_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + SDKROOT = iphoneos; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + }; + name = Release; + }; + 14905C691DF98FD8002AE61B /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = "C++ Test Controller.entitlements"; + DEVELOPMENT_TEAM = U4TBVKNQ7F; + HEADER_SEARCH_PATHS = ../../include; + INFOPLIST_FILE = Classes/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "-lIce", + "-lIceDiscovery", + "-lbz2", + "-liconv", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.zeroc.Cpp98-Test-Controller"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Debug; + }; + 14905C6A1DF98FD8002AE61B /* Release */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = "C++ Test Controller.entitlements"; + DEVELOPMENT_TEAM = U4TBVKNQ7F; + HEADER_SEARCH_PATHS = ../../include; + INFOPLIST_FILE = Classes/Info.plist; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks"; + OTHER_LDFLAGS = ( + "-lIce", + "-lIceDiscovery", + "-lbz2", + "-liconv", + ); + PRODUCT_BUNDLE_IDENTIFIER = "com.zeroc.Cpp98-Test-Controller"; + PRODUCT_NAME = "$(TARGET_NAME)"; + TARGETED_DEVICE_FAMILY = "1,2"; + }; + name = Release; + }; +/* End XCBuildConfiguration section */ + +/* Begin XCConfigurationList section */ + 148ABA521DFEEAEE00594F70 /* Build configuration list for PBXNativeTarget "C++11 Test Controller" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 148ABA531DFEEAEE00594F70 /* Debug */, + 148ABA541DFEEAEE00594F70 /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 14905C4C1DF98FD8002AE61B /* Build configuration list for PBXProject "C++ Test Controller" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 14905C661DF98FD8002AE61B /* Debug */, + 14905C671DF98FD8002AE61B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; + 14905C681DF98FD8002AE61B /* Build configuration list for PBXNativeTarget "C++98 Test Controller" */ = { + isa = XCConfigurationList; + buildConfigurations = ( + 14905C691DF98FD8002AE61B /* Debug */, + 14905C6A1DF98FD8002AE61B /* Release */, + ); + defaultConfigurationIsVisible = 0; + defaultConfigurationName = Debug; + }; +/* End XCConfigurationList section */ + }; + rootObject = 14905C491DF98FD8002AE61B /* Project object */; +} diff --git a/cpp/test/ios/controller/C++ Test Controller.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/cpp/test/ios/controller/C++ Test Controller.xcodeproj/project.xcworkspace/contents.xcworkspacedata new file mode 100644 index 00000000000..77a88b77420 --- /dev/null +++ b/cpp/test/ios/controller/C++ Test Controller.xcodeproj/project.xcworkspace/contents.xcworkspacedata @@ -0,0 +1,7 @@ +<?xml version="1.0" encoding="UTF-8"?> +<Workspace + version = "1.0"> + <FileRef + location = "self:C++ Test Controller.xcodeproj"> + </FileRef> +</Workspace> diff --git a/cpp/test/ios/controller/Classes/AppDelegate.h b/cpp/test/ios/controller/Classes/AppDelegate.h new file mode 100644 index 00000000000..d5adf138722 --- /dev/null +++ b/cpp/test/ios/controller/Classes/AppDelegate.h @@ -0,0 +1,18 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#import <UIKit/UIKit.h> + +@interface AppDelegate : UIResponder <UIApplicationDelegate> + +@property (strong, nonatomic) UIWindow *window; + + +@end + diff --git a/cpp/test/ios/controller/Classes/AppDelegate.m b/cpp/test/ios/controller/Classes/AppDelegate.m new file mode 100644 index 00000000000..6e3bd3ce574 --- /dev/null +++ b/cpp/test/ios/controller/Classes/AppDelegate.m @@ -0,0 +1,52 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#import "AppDelegate.h" + +@interface AppDelegate () + +@end + +@implementation AppDelegate + + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + // Override point for customization after application launch. + return YES; +} + + +- (void)applicationWillResignActive:(UIApplication *)application { + // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state. + // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game. +} + + +- (void)applicationDidEnterBackground:(UIApplication *)application { + // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. + // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits. +} + + +- (void)applicationWillEnterForeground:(UIApplication *)application { + // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background. +} + + +- (void)applicationDidBecomeActive:(UIApplication *)application { + // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface. +} + + +- (void)applicationWillTerminate:(UIApplication *)application { + // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. +} + + +@end diff --git a/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/Contents.json b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/Contents.json new file mode 100644 index 00000000000..ef0fccfaf08 --- /dev/null +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/Contents.json @@ -0,0 +1,110 @@ +{ + "images" : [ + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "test_suite-Small-20@2x.png", + "scale" : "2x" + }, + { + "size" : "20x20", + "idiom" : "iphone", + "filename" : "test_suite-Small-20@3x-1.png", + "scale" : "3x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "test_suite-Small@2x-1.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "iphone", + "filename" : "test_suite-Small@3x.png", + "scale" : "3x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "test_suite-Small-40@2x-1.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "iphone", + "filename" : "test_suite-Small-40@3x.png", + "scale" : "3x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "test_suite-Small-40@3x-1.png", + "scale" : "2x" + }, + { + "size" : "60x60", + "idiom" : "iphone", + "filename" : "test_suite-Small-60@3x.png", + "scale" : "3x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "test_suite-Small-20.png", + "scale" : "1x" + }, + { + "size" : "20x20", + "idiom" : "ipad", + "filename" : "test_suite-Small-41.png", + "scale" : "2x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "test_suite-Small.png", + "scale" : "1x" + }, + { + "size" : "29x29", + "idiom" : "ipad", + "filename" : "test_suite-Small@2x-2.png", + "scale" : "2x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "test_suite-Small-40.png", + "scale" : "1x" + }, + { + "size" : "40x40", + "idiom" : "ipad", + "filename" : "test_suite-Small-40@2x-2.png", + "scale" : "2x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "test_suite-76.png", + "scale" : "1x" + }, + { + "size" : "76x76", + "idiom" : "ipad", + "filename" : "test_suite-76@2x.png", + "scale" : "2x" + }, + { + "size" : "83.5x83.5", + "idiom" : "ipad", + "filename" : "test_suite-Small-83,5@2x-1.png", + "scale" : "2x" + } + ], + "info" : { + "version" : 1, + "author" : "xcode" + } +}
\ No newline at end of file diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-76.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-76.png Binary files differindex 2855a8b674b..2855a8b674b 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-76.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-76.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-76@2x.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-76@2x.png Binary files differindex 29047dc5a52..29047dc5a52 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-76@2x.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-76@2x.png diff --git a/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-20.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-20.png Binary files differnew file mode 100644 index 00000000000..caacf7e7f46 --- /dev/null +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-20.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small-40.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-20@2x.png Binary files differindex e76086fb3d6..e76086fb3d6 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small-40.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-20@2x.png diff --git a/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-20@3x-1.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-20@3x-1.png Binary files differnew file mode 100644 index 00000000000..7018d04d7a9 --- /dev/null +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-20@3x-1.png diff --git a/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-40.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-40.png Binary files differnew file mode 100644 index 00000000000..e76086fb3d6 --- /dev/null +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-40.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-1.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-1.png Binary files differindex 7615d3255bc..7615d3255bc 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-1.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-1.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-2.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-2.png Binary files differindex 7615d3255bc..7615d3255bc 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-2.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-2.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@3x-1.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-40@3x-1.png Binary files differindex f04f442176a..f04f442176a 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@3x-1.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-40@3x-1.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@3x.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-40@3x.png Binary files differindex f04f442176a..f04f442176a 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@3x.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-40@3x.png diff --git a/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-41.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-41.png Binary files differnew file mode 100644 index 00000000000..e76086fb3d6 --- /dev/null +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-41.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/New icon-60@3x.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-60@3x.png Binary files differindex a37f851e642..a37f851e642 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/New icon-60@3x.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-60@3x.png diff --git a/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-83,5@2x-1.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-83,5@2x-1.png Binary files differnew file mode 100644 index 00000000000..70fa6059084 --- /dev/null +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small-83,5@2x-1.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small.png Binary files differindex d57695edc28..d57695edc28 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small@2x-1.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small@2x-1.png Binary files differindex 79edc547e2c..79edc547e2c 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small@2x-1.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small@2x-1.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small@2x-2.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small@2x-2.png Binary files differindex 79edc547e2c..79edc547e2c 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small@2x-2.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small@2x-2.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small@3x.png b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small@3x.png Binary files differindex 49cdc033096..49cdc033096 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/test_suite-Small@3x.png +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/AppIcon.appiconset/test_suite-Small@3x.png diff --git a/cpp/test/ios/controller/Classes/Assets.xcassets/Contents.json b/cpp/test/ios/controller/Classes/Assets.xcassets/Contents.json new file mode 100644 index 00000000000..da4a164c918 --- /dev/null +++ b/cpp/test/ios/controller/Classes/Assets.xcassets/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "version" : 1, + "author" : "xcode" + } +}
\ No newline at end of file diff --git a/cpp/test/ios/controller/Classes/Base.lproj/LaunchScreen.storyboard b/cpp/test/ios/controller/Classes/Base.lproj/LaunchScreen.storyboard new file mode 100644 index 00000000000..fdf3f97d1b6 --- /dev/null +++ b/cpp/test/ios/controller/Classes/Base.lproj/LaunchScreen.storyboard @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="UTF-8" standalone="no"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11134" systemVersion="15F34" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="01J-lp-oVM"> + <dependencies> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11106"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <scenes> + <!--View Controller--> + <scene sceneID="EHf-IW-A2E"> + <objects> + <viewController id="01J-lp-oVM" sceneMemberID="viewController"> + <layoutGuides> + <viewControllerLayoutGuide type="top" id="Llm-lL-Icb"/> + <viewControllerLayoutGuide type="bottom" id="xb3-aO-Qok"/> + </layoutGuides> + <view key="view" contentMode="scaleToFill" id="Ze5-6b-2t3"> + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </view> + </viewController> + <placeholder placeholderIdentifier="IBFirstResponder" id="iYj-Kq-Ea1" userLabel="First Responder" sceneMemberID="firstResponder"/> + </objects> + <point key="canvasLocation" x="53" y="375"/> + </scene> + </scenes> +</document> diff --git a/cpp/test/ios/controller/Classes/Base.lproj/Main.storyboard b/cpp/test/ios/controller/Classes/Base.lproj/Main.storyboard new file mode 100644 index 00000000000..9550d1821c9 --- /dev/null +++ b/cpp/test/ios/controller/Classes/Base.lproj/Main.storyboard @@ -0,0 +1,43 @@ +<?xml version="1.0" encoding="UTF-8"?> +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="11542" systemVersion="16B2555" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="BYZ-38-t0r"> + <device id="retina4_7" orientation="portrait"> + <adaptation id="fullscreen"/> + </device> + <dependencies> + <deployment identifier="iOS"/> + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11524"/> + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> + </dependencies> + <scenes> + <!--View Controller--> + <scene sceneID="tne-QT-ifu"> + <objects> + <viewController id="BYZ-38-t0r" customClass="ViewController" sceneMemberID="viewController"> + <layoutGuides> + <viewControllerLayoutGuide type="top" id="y3c-jy-aDJ"/> + <viewControllerLayoutGuide type="bottom" id="wfy-db-euE"/> + </layoutGuides> + <view key="view" contentMode="scaleToFill" id="8bC-Xf-vdC"> + <rect key="frame" x="0.0" y="0.0" width="375" height="667"/> + <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> + <subviews> + <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" fixedFrame="YES" editable="NO" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="nZ9-dY-qBC" userLabel="Output"> + <rect key="frame" x="16" y="20" width="343" height="627"/> + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> + <fontDescription key="fontDescription" type="system" pointSize="14"/> + <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> + </textView> + </subviews> + <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> + </view> + <connections> + <outlet property="output" destination="nZ9-dY-qBC" id="drk-4a-vAK"/> + </connections> + </viewController> + <placeholder placeholderIdentifier="IBFirstResponder" id="dkx-z0-nzr" sceneMemberID="firstResponder"/> + </objects> + <point key="canvasLocation" x="136.80000000000001" y="138.98050974512745"/> + </scene> + </scenes> +</document> diff --git a/cpp/test/ios/controller/Classes/C++11-Info.plist b/cpp/test/ios/controller/Classes/C++11-Info.plist new file mode 100644 index 00000000000..d0524738680 --- /dev/null +++ b/cpp/test/ios/controller/Classes/C++11-Info.plist @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleExecutable</key> + <string>$(EXECUTABLE_NAME)</string> + <key>CFBundleIdentifier</key> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>$(PRODUCT_NAME)</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleVersion</key> + <string>1</string> + <key>LSRequiresIPhoneOS</key> + <true/> + <key>UILaunchStoryboardName</key> + <string>LaunchScreen</string> + <key>UIMainStoryboardFile</key> + <string>Main</string> + <key>UIRequiredDeviceCapabilities</key> + <array> + <string>armv7</string> + </array> + <key>UISupportedInterfaceOrientations</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> + <key>UISupportedInterfaceOrientations~ipad</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationPortraitUpsideDown</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> +</dict> +</plist> diff --git a/cpp/test/ios/controller/Classes/Info.plist b/cpp/test/ios/controller/Classes/Info.plist new file mode 100644 index 00000000000..d0524738680 --- /dev/null +++ b/cpp/test/ios/controller/Classes/Info.plist @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>CFBundleDevelopmentRegion</key> + <string>en</string> + <key>CFBundleExecutable</key> + <string>$(EXECUTABLE_NAME)</string> + <key>CFBundleIdentifier</key> + <string>$(PRODUCT_BUNDLE_IDENTIFIER)</string> + <key>CFBundleInfoDictionaryVersion</key> + <string>6.0</string> + <key>CFBundleName</key> + <string>$(PRODUCT_NAME)</string> + <key>CFBundlePackageType</key> + <string>APPL</string> + <key>CFBundleShortVersionString</key> + <string>1.0</string> + <key>CFBundleVersion</key> + <string>1</string> + <key>LSRequiresIPhoneOS</key> + <true/> + <key>UILaunchStoryboardName</key> + <string>LaunchScreen</string> + <key>UIMainStoryboardFile</key> + <string>Main</string> + <key>UIRequiredDeviceCapabilities</key> + <array> + <string>armv7</string> + </array> + <key>UISupportedInterfaceOrientations</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> + <key>UISupportedInterfaceOrientations~ipad</key> + <array> + <string>UIInterfaceOrientationPortrait</string> + <string>UIInterfaceOrientationPortraitUpsideDown</string> + <string>UIInterfaceOrientationLandscapeLeft</string> + <string>UIInterfaceOrientationLandscapeRight</string> + </array> +</dict> +</plist> diff --git a/cpp/test/ios/controller/Classes/ViewController.h b/cpp/test/ios/controller/Classes/ViewController.h new file mode 100644 index 00000000000..82e72ca876a --- /dev/null +++ b/cpp/test/ios/controller/Classes/ViewController.h @@ -0,0 +1,18 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#import <UIKit/UIKit.h> + +@interface ViewController : UIViewController +{ +@private + IBOutlet UITextView* output; +} +@end + diff --git a/cpp/test/ios/controller/Classes/ViewController.mm b/cpp/test/ios/controller/Classes/ViewController.mm new file mode 100644 index 00000000000..e1d2e95fa32 --- /dev/null +++ b/cpp/test/ios/controller/Classes/ViewController.mm @@ -0,0 +1,397 @@ +// ********************************************************************** +// +// Copyright (c) 2003-2016 ZeroC, Inc. All rights reserved. +// +// This copy of Ice is licensed to you under the terms described in the +// ICE_LICENSE file included in this distribution. +// +// ********************************************************************** + +#import "ViewController.h" + +#include <Ice/Ice.h> +#include <Controller.h> +#include <TestHelper.h> + +#include <dlfcn.h> + +using namespace std; +using namespace Test::Common; + +@interface ViewController() +-(void) print:(NSString*)msg; +-(void) println:(NSString*)msg; +@end + + +namespace +{ + +typedef int (*MAIN_ENTRY_POINT)(int argc, char** argv, Test::MainHelper* helper); +typedef int (*SHUTDOWN_ENTRY_POINT)(); + +class MainHelperI : public Test::MainHelper, private IceUtil::Monitor<IceUtil::Mutex>, public IceUtil::Thread +{ +public: + + MainHelperI(ViewController*, const string&, const StringSeq&); + virtual ~MainHelperI(); + + virtual void serverReady(); + virtual void shutdown(); + virtual void waitForCompleted() {} + virtual bool redirect(); + virtual void print(const std::string&); + + virtual void run(); + + void completed(int); + void waitReady(int) const; + int waitSuccess(int) const; + string getOutput() const; + +private: + + ViewController* _controller; + std::string _dll; + StringSeq _args; + CFBundleRef _handle; + SHUTDOWN_ENTRY_POINT _dllTestShutdown; + bool _ready; + bool _completed; + int _status; + std::ostringstream _out; +}; + +class ProcessI : public Process +{ +public: + + ProcessI(ViewController*, MainHelperI*); + virtual ~ProcessI(); + + void waitReady(int, const Ice::Current&); + int waitSuccess(int, const Ice::Current&); + string terminate(const Ice::Current&); + +private: + + ViewController* _controller; + IceUtil::Handle<MainHelperI> _helper; +}; + +class ProcessControllerI : public ProcessController +{ +public: + + ProcessControllerI(ViewController*); + +#ifdef ICE_CPP11_MAPPING + virtual shared_ptr<ProcessPrx> + start(string, string, StringSeq, const Ice::Current&); +#else + virtual ProcessPrx + start(const string&, const string&, const StringSeq&, const Ice::Current&); +#endif + +private: + + ViewController* _controller; +}; + +class ControllerHelper +{ +public: + + ControllerHelper(ViewController*); + virtual ~ControllerHelper(); + +private: + + Ice::CommunicatorPtr _communicator; +}; + +} + +MainHelperI::MainHelperI(ViewController* controller, const string& dll, const StringSeq& args) : + _controller(controller), + _dll(dll), + _args(args), + _ready(false), + _completed(false), + _status(0) +{ +} + +MainHelperI::~MainHelperI() +{ + if(_handle) + { + CFBundleUnloadExecutable(_handle); + } +} + +void +MainHelperI::serverReady() +{ + Lock sync(*this); + _ready = true; + notifyAll(); +} + +void +MainHelperI::shutdown() +{ + Lock sync(*this); + if(_completed) + { + return; + } + + if(_dllTestShutdown) + { + _dllTestShutdown(); + } +} + +bool +MainHelperI::redirect() +{ + return _dll.find("client") != string::npos || _dll.find("collocated") != string::npos; +} + +void + +MainHelperI::print(const std::string& msg) +{ + _out << msg; +} + +void +MainHelperI::run() +{ + NSString* bundlePath = [[NSBundle mainBundle] privateFrameworksPath]; + + bundlePath = [bundlePath stringByAppendingPathComponent:[NSString stringWithUTF8String:_dll.c_str()]]; + + NSURL* bundleURL = [NSURL fileURLWithPath:bundlePath]; + _handle = CFBundleCreate(NULL, (CFURLRef)bundleURL); + if(!_handle) + { + print([[NSString stringWithFormat:@"Could not find bundle %@", bundlePath] UTF8String]); + completed(EXIT_FAILURE); + return; + } + + CFErrorRef error = nil; + Boolean loaded = CFBundleLoadExecutableAndReturnError(_handle, &error); + if(error != nil || !loaded) + { + print([[(__bridge NSError *)error description] UTF8String]); + completed(EXIT_FAILURE); + return; + } + + void* sym = dlsym(_handle, "dllTestShutdown"); + sym = CFBundleGetFunctionPointerForName(_handle, CFSTR("dllTestShutdown")); + if(sym == 0) + { + NSString* err = [NSString stringWithFormat:@"Could not get function pointer dllTestShutdown from bundle %@", + bundlePath]; + print([err UTF8String]); + completed(EXIT_FAILURE); + return; + } + _dllTestShutdown = (SHUTDOWN_ENTRY_POINT)sym; + + sym = CFBundleGetFunctionPointerForName(_handle, CFSTR("dllMain")); + if(sym == 0) + { + NSString* err = [NSString stringWithFormat:@"Could not get function pointer dllMain from bundle %@", + bundlePath]; + print([err UTF8String]); + completed(EXIT_FAILURE); + return; + } + + MAIN_ENTRY_POINT dllMain = (MAIN_ENTRY_POINT)sym; + char** argv = new char*[_args.size() + 1]; + for(unsigned int i = 0; i < _args.size(); ++i) + { + argv[i] = const_cast<char*>(_args[i].c_str()); + } + argv[_args.size()] = 0; + try + { + completed(dllMain(static_cast<int>(_args.size()), argv, this)); + } + catch(const std::exception& ex) + { + print("unexpected exception while running `" + _args[0] + "':\n" + ex.what()); + } + catch(...) + { + print("unexpected unknown exception while running `" + _args[0] + "'"); + } + delete[] argv; +} + +void +MainHelperI::completed(int status) +{ + Lock sync(*this); + _completed = true; + _status = status; + notifyAll(); +} + +void +MainHelperI::waitReady(int timeout) const +{ + Lock sync(*this); + while(!_ready && !_completed) + { + if(!timedWait(IceUtil::Time::seconds(timeout))) + { + throw ProcessFailedException("timed out waiting for the process to be ready"); + } + } + if(_completed && _status == EXIT_FAILURE) + { + throw ProcessFailedException(_out.str()); + } +} + +int +MainHelperI::waitSuccess(int timeout) const +{ + Lock sync(*this); + while(!_completed) + { + if(!timedWait(IceUtil::Time::seconds(timeout))) + { + throw ProcessFailedException("timed out waiting for the process to succeed"); + } + } + return _status; +} + +string +MainHelperI::getOutput() const +{ + assert(_completed); + return _out.str(); +} + +ProcessI::ProcessI(ViewController* controller, MainHelperI* helper) : _controller(controller), _helper(helper) +{ +} + +ProcessI::~ProcessI() +{ +} + +void +ProcessI::waitReady(int timeout, const Ice::Current&) +{ + _helper->waitReady(timeout); +} + +int +ProcessI::waitSuccess(int timeout, const Ice::Current&) +{ + return _helper->waitSuccess(timeout); +} + +string +ProcessI::terminate(const Ice::Current& current) +{ + _helper->shutdown(); + current.adapter->remove(current.id); + _helper->getThreadControl().join(); + return _helper->getOutput(); +} + +ProcessControllerI::ProcessControllerI(ViewController* controller) : _controller(controller) +{ +} + +#ifdef ICE_CPP11_MAPPING +shared_ptr<ProcessPrx> +ProcessControllerI::start(string testSuite, string exe, StringSeq args, const Ice::Current& c) +#else +ProcessPrx +ProcessControllerI::start(const string& testSuite, const string& exe, const StringSeq& args, const Ice::Current& c) +#endif +{ + std::string prefix = std::string("test/") + testSuite; + replace(prefix.begin(), prefix.end(), '/', '_'); + [_controller println:[NSString stringWithFormat:@"starting %s %s... ", testSuite.c_str(), exe.c_str()]]; + IceUtil::Handle<MainHelperI> helper = new MainHelperI(_controller, prefix + '/' + exe + ".bundle", args); + helper->start(); + return ICE_UNCHECKED_CAST(ProcessPrx, c.adapter->addWithUUID(ICE_MAKE_SHARED(ProcessI, _controller, helper.get()))); +} + +ControllerHelper::ControllerHelper(ViewController* controller) +{ + Ice::registerIceDiscovery(); + + Ice::InitializationData initData = Ice::InitializationData(); + initData.properties = Ice::createProperties(); + initData.properties->setProperty("Ice.ThreadPool.Server.SizeMax", "10"); + initData.properties->setProperty("IceDiscovery.DomainId", "TestController"); + initData.properties->setProperty("IceDiscovery.Interface", "127.0.0.1"); + initData.properties->setProperty("Ice.Default.Host", "127.0.0.1"); + initData.properties->setProperty("ControllerAdapter.Endpoints", "tcp"); + //initData.properties->setProperty("Ice.Trace.Network", "2"); + //initData.properties->setProperty("Ice.Trace.Protocol", "2"); + initData.properties->setProperty("ControllerAdapter.AdapterId", Ice::generateUUID()); + + _communicator = Ice::initialize(initData); + + Ice::ObjectAdapterPtr adapter = _communicator->createObjectAdapter("ControllerAdapter"); + Ice::Identity ident; +#if TARGET_IPHONE_SIMULATOR != 0 + ident.category = "iPhoneSimulator"; +#else + ident.category = "iPhoneOS"; +#endif + ident.name = [[[NSBundle mainBundle] bundleIdentifier] UTF8String]; + adapter->add(ICE_MAKE_SHARED(ProcessControllerI, controller), ident); + adapter->activate(); +} + +ControllerHelper::~ControllerHelper() +{ + _communicator->destroy(); + _communicator = 0; +} + +static ControllerHelper* controllerHelper = 0; + +@implementation ViewController + +- (void)viewDidLoad +{ + [super viewDidLoad]; + controllerHelper = new ControllerHelper(self); +} +- (void) dealloc +{ + delete controllerHelper; +} +-(void) write:(NSString*)msg +{ + [output insertText:msg]; + [output layoutIfNeeded]; + [output scrollRangeToVisible:NSMakeRange([output.text length] - 1, 1)]; +} +-(void) print:(NSString*)msg +{ + [self performSelectorOnMainThread:@selector(write:) withObject:msg waitUntilDone:NO]; +} +-(void) println:(NSString*)msg +{ + [self print:[msg stringByAppendingString:@"\n"]]; +} +@end diff --git a/cpp/test/ios/controller/Classes/main.m b/cpp/test/ios/controller/Classes/main.m new file mode 100644 index 00000000000..bd3a0a0c555 --- /dev/null +++ b/cpp/test/ios/controller/Classes/main.m @@ -0,0 +1,16 @@ +// +// main.m +// C++ Test Controller +// +// Created by Benoit Foucher on 08/12/2016. +// Copyright © 2016 ZeroC, Inc. All rights reserved. +// + +#import <UIKit/UIKit.h> +#import "AppDelegate.h" + +int main(int argc, char * argv[]) { + @autoreleasepool { + return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class])); + } +} diff --git a/cpp/test/ios/dummy.ice b/cpp/test/ios/dummy.ice deleted file mode 100644 index 7f9b5ae69a3..00000000000 --- a/cpp/test/ios/dummy.ice +++ /dev/null @@ -1,3 +0,0 @@ -// -// Dummy Slice file to enable Slice Xcode Plug-in -//
\ No newline at end of file diff --git a/cpp/test/ios/testSuiteApp/C++ Test Suite.entitlements b/cpp/test/ios/testSuiteApp/C++ Test Suite.entitlements new file mode 100644 index 00000000000..903def2af53 --- /dev/null +++ b/cpp/test/ios/testSuiteApp/C++ Test Suite.entitlements @@ -0,0 +1,8 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> +<plist version="1.0"> +<dict> + <key>aps-environment</key> + <string>development</string> +</dict> +</plist> diff --git a/cpp/test/ios/C++ Test Suite.xcodeproj/project.pbxproj b/cpp/test/ios/testSuiteApp/C++ Test Suite.xcodeproj/project.pbxproj index aa66e2e309e..8305e373205 100755 --- a/cpp/test/ios/C++ Test Suite.xcodeproj/project.pbxproj +++ b/cpp/test/ios/testSuiteApp/C++ Test Suite.xcodeproj/project.pbxproj @@ -9,11 +9,8 @@ /* Begin PBXBuildFile section */ 14103B101CFC5E0E0097DE5A /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; }; 14103B111CFC5E0E0097DE5A /* TestSelect.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34B7662B0E8D55FE00CE4701 /* TestSelect.xib */; }; - 14103B121CFC5E0E0097DE5A /* server.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 342EBA880E926E9F000051FA /* server.p12 */; }; 14103B131CFC5E0E0097DE5A /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D8842ED91BFF87E700A8B607 /* Images.xcassets */; }; 14103B141CFC5E0E0097DE5A /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D8842EDB1BFF885600A8B607 /* Default-568h@2x.png */; }; - 14103B151CFC5E0E0097DE5A /* client.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 1450A10B1ABC5E9C00A71895 /* client.p12 */; }; - 14103B161CFC5E0E0097DE5A /* cacert.der in Resources */ = {isa = PBXBuildFile; fileRef = 342EBA8A0E926F90000051FA /* cacert.der */; }; 14103B171CFC5E0E0097DE5A /* TestSelect-iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34730A10122BF6C300D293CC /* TestSelect-iPad.xib */; }; 14103B181CFC5E0E0097DE5A /* MainWindow-iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34C618AE122C035000F60A28 /* MainWindow-iPad.xib */; }; 14103B191CFC5E0E0097DE5A /* TestView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 82CD7277145795AA008B9128 /* TestView.xib */; }; @@ -30,8 +27,6 @@ 14103B261CFC5E0E0097DE5A /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34E396620FF1D71400FBACD6 /* CoreGraphics.framework */; }; 144B48261A78F71F00C0E06B /* MainWindow.xib in Resources */ = {isa = PBXBuildFile; fileRef = 28AD733E0D9D9553002E5188 /* MainWindow.xib */; }; 144B48271A78F71F00C0E06B /* TestSelect.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34B7662B0E8D55FE00CE4701 /* TestSelect.xib */; }; - 144B482A1A78F71F00C0E06B /* server.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 342EBA880E926E9F000051FA /* server.p12 */; }; - 144B482B1A78F71F00C0E06B /* cacert.der in Resources */ = {isa = PBXBuildFile; fileRef = 342EBA8A0E926F90000051FA /* cacert.der */; }; 144B482C1A78F71F00C0E06B /* TestSelect-iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34730A10122BF6C300D293CC /* TestSelect-iPad.xib */; }; 144B482D1A78F71F00C0E06B /* MainWindow-iPad.xib in Resources */ = {isa = PBXBuildFile; fileRef = 34C618AE122C035000F60A28 /* MainWindow-iPad.xib */; }; 144B482E1A78F71F00C0E06B /* TestView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 82CD7277145795AA008B9128 /* TestView.xib */; }; @@ -46,10 +41,11 @@ 144B483B1A78F71F00C0E06B /* Security.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 344126360FD8E8EA00C8D69C /* Security.framework */; }; 144B483C1A78F71F00C0E06B /* CFNetwork.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 344126370FD8E8EA00C8D69C /* CFNetwork.framework */; }; 144B483D1A78F71F00C0E06B /* CoreGraphics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 34E396620FF1D71400FBACD6 /* CoreGraphics.framework */; }; - 1450A10C1ABC5E9C00A71895 /* client.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 1450A10B1ABC5E9C00A71895 /* client.p12 */; }; + 148ABA201DFEBBA400594F70 /* certs in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA1F1DFEBBA400594F70 /* certs */; }; + 148ABA241DFEBBBA00594F70 /* cacert.der in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA211DFEBBBA00594F70 /* cacert.der */; }; + 148ABA251DFEBBBA00594F70 /* client.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA221DFEBBBA00594F70 /* client.p12 */; }; + 148ABA261DFEBBBA00594F70 /* server.p12 in Resources */ = {isa = PBXBuildFile; fileRef = 148ABA231DFEBBBA00594F70 /* server.p12 */; }; 14905C6C1DF9908E002AE61B /* C++11 Test Suite-Info.plist in Resources */ = {isa = PBXBuildFile; fileRef = 14905C6B1DF9908E002AE61B /* C++11 Test Suite-Info.plist */; }; - 14D7F3391D0ED442008C79C9 /* certs in Resources */ = {isa = PBXBuildFile; fileRef = 14D7F3381D0ED442008C79C9 /* certs */; }; - 14D7F33B1D0ED442008C79C9 /* certs in Resources */ = {isa = PBXBuildFile; fileRef = 14D7F3381D0ED442008C79C9 /* certs */; }; D8842EDA1BFF87E700A8B607 /* Images.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = D8842ED91BFF87E700A8B607 /* Images.xcassets */; }; D8842EDC1BFF885600A8B607 /* Default-568h@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = D8842EDB1BFF885600A8B607 /* Default-568h@2x.png */; }; /* End PBXBuildFile section */ @@ -72,17 +68,17 @@ /* Begin PBXFileReference section */ 14103B2B1CFC5E0E0097DE5A /* C++11 Test Suite.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "C++11 Test Suite.app"; sourceTree = BUILT_PRODUCTS_DIR; }; 144B48931A78F71F00C0E06B /* C++ Test Suite.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = "C++ Test Suite.app"; sourceTree = BUILT_PRODUCTS_DIR; }; - 1450A10B1ABC5E9C00A71895 /* client.p12 */ = {isa = PBXFileReference; lastKnownFileType = file; name = client.p12; path = ../../../../ice/certs/client.p12; sourceTree = "<group>"; }; 1477FACD1A652B7E00BC2890 /* C++98 Test Suite-Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = "C++98 Test Suite-Info.plist"; sourceTree = "<group>"; }; 148668D31B6BAFD300234C12 /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; }; + 148ABA1F1DFEBBA400594F70 /* certs */ = {isa = PBXFileReference; lastKnownFileType = folder; name = certs; path = ../../IceSSL/certs; sourceTree = "<group>"; }; + 148ABA211DFEBBBA00594F70 /* cacert.der */ = {isa = PBXFileReference; lastKnownFileType = file; name = cacert.der; path = ../../../../certs/cacert.der; sourceTree = "<group>"; }; + 148ABA221DFEBBBA00594F70 /* client.p12 */ = {isa = PBXFileReference; lastKnownFileType = file; name = client.p12; path = ../../../../certs/client.p12; sourceTree = "<group>"; }; + 148ABA231DFEBBBA00594F70 /* server.p12 */ = {isa = PBXFileReference; lastKnownFileType = file; name = server.p12; path = ../../../../certs/server.p12; sourceTree = "<group>"; }; 14905C6B1DF9908E002AE61B /* C++11 Test Suite-Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "C++11 Test Suite-Info.plist"; sourceTree = "<group>"; }; - 14D7F3381D0ED442008C79C9 /* certs */ = {isa = PBXFileReference; lastKnownFileType = folder; name = certs; path = ../IceSSL/certs; sourceTree = "<group>"; }; 14EA328B1DF8117C00B63D43 /* C++ Test Suite.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = "C++ Test Suite.entitlements"; sourceTree = "<group>"; }; 1D30AB110D05D00D00671497 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 1DF5F4DF0D08C38300B7A737 /* UIKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = UIKit.framework; path = System/Library/Frameworks/UIKit.framework; sourceTree = SDKROOT; }; 28AD733E0D9D9553002E5188 /* MainWindow.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MainWindow.xib; sourceTree = "<group>"; }; - 342EBA880E926E9F000051FA /* server.p12 */ = {isa = PBXFileReference; lastKnownFileType = file; name = server.p12; path = ../../../certs/server.p12; sourceTree = SOURCE_ROOT; }; - 342EBA8A0E926F90000051FA /* cacert.der */ = {isa = PBXFileReference; lastKnownFileType = file; name = cacert.der; path = ../../../certs/cacert.der; sourceTree = SOURCE_ROOT; }; 344126360FD8E8EA00C8D69C /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; 344126370FD8E8EA00C8D69C /* CFNetwork.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = CFNetwork.framework; path = System/Library/Frameworks/CFNetwork.framework; sourceTree = SDKROOT; }; 34730A10122BF6C300D293CC /* TestSelect-iPad.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = "TestSelect-iPad.xib"; sourceTree = "<group>"; }; @@ -185,13 +181,13 @@ 29B97317FDCFA39411CA2CEA /* Resources */ = { isa = PBXGroup; children = ( - 14D7F3381D0ED442008C79C9 /* certs */, - 342EBA8A0E926F90000051FA /* cacert.der */, - 1450A10B1ABC5E9C00A71895 /* client.p12 */, + 148ABA211DFEBBBA00594F70 /* cacert.der */, + 148ABA221DFEBBBA00594F70 /* client.p12 */, + 148ABA231DFEBBBA00594F70 /* server.p12 */, + 148ABA1F1DFEBBA400594F70 /* certs */, D8842EDB1BFF885600A8B607 /* Default-568h@2x.png */, D8842ED91BFF87E700A8B607 /* Images.xcassets */, 28AD733E0D9D9553002E5188 /* MainWindow.xib */, - 342EBA880E926E9F000051FA /* server.p12 */, 34B7662B0E8D55FE00CE4701 /* TestSelect.xib */, 82CD7277145795AA008B9128 /* TestView.xib */, ); @@ -307,12 +303,8 @@ files = ( 14103B101CFC5E0E0097DE5A /* MainWindow.xib in Resources */, 14103B111CFC5E0E0097DE5A /* TestSelect.xib in Resources */, - 14103B121CFC5E0E0097DE5A /* server.p12 in Resources */, 14103B131CFC5E0E0097DE5A /* Images.xcassets in Resources */, 14103B141CFC5E0E0097DE5A /* Default-568h@2x.png in Resources */, - 14103B151CFC5E0E0097DE5A /* client.p12 in Resources */, - 14103B161CFC5E0E0097DE5A /* cacert.der in Resources */, - 14D7F33B1D0ED442008C79C9 /* certs in Resources */, 14103B171CFC5E0E0097DE5A /* TestSelect-iPad.xib in Resources */, 14103B181CFC5E0E0097DE5A /* MainWindow-iPad.xib in Resources */, 14103B191CFC5E0E0097DE5A /* TestView.xib in Resources */, @@ -324,18 +316,18 @@ isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( + 148ABA201DFEBBA400594F70 /* certs in Resources */, 144B48261A78F71F00C0E06B /* MainWindow.xib in Resources */, 144B48271A78F71F00C0E06B /* TestSelect.xib in Resources */, - 144B482A1A78F71F00C0E06B /* server.p12 in Resources */, + 148ABA241DFEBBBA00594F70 /* cacert.der in Resources */, D8842EDA1BFF87E700A8B607 /* Images.xcassets in Resources */, D8842EDC1BFF885600A8B607 /* Default-568h@2x.png in Resources */, - 1450A10C1ABC5E9C00A71895 /* client.p12 in Resources */, - 144B482B1A78F71F00C0E06B /* cacert.der in Resources */, - 14D7F3391D0ED442008C79C9 /* certs in Resources */, + 148ABA251DFEBBBA00594F70 /* client.p12 in Resources */, 144B482C1A78F71F00C0E06B /* TestSelect-iPad.xib in Resources */, 144B482D1A78F71F00C0E06B /* MainWindow-iPad.xib in Resources */, 14905C6C1DF9908E002AE61B /* C++11 Test Suite-Info.plist in Resources */, 144B482E1A78F71F00C0E06B /* TestView.xib in Resources */, + 148ABA261DFEBBBA00594F70 /* server.p12 in Resources */, 144B482F1A78F71F00C0E06B /* TestView-iPad.xib in Resources */, ); runOnlyForDeploymentPostprocessing = 0; @@ -355,7 +347,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "#\n# We don't use a CopyFile build phase here to copy the test bundles because the test\n# bundles are located in different location depending on the platform. This script\n# copies the bundles if updated and sign them.\n#\n\nFRAMEWORKS_PATH=\"${TARGET_BUILD_DIR}\"/\"${FRAMEWORKS_FOLDER_PATH}\"\ncd \"Bundles++11-${PLATFORM_NAME}\"\nif [ ! -d \"$FRAMEWORKS_PATH\" ]; then\n mkdir -p \"$FRAMEWORKS_PATH\"\nfi;\nfor i in `ls -d */*.bundle`;\ndo\n if [ ! -d \"$FRAMEWORKS_PATH/$i\" -o \"$i\" -nt \"$FRAMEWORKS_PATH/$i\" ]; then\n echo \"Copying $i\"\n mkdir -p \"$FRAMEWORKS_PATH/$(dirname $i)\"\n cp -rf $i \"$FRAMEWORKS_PATH/$(dirname $i)\"\n if [ -n \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" ]; then\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --preserve-metadata=identifier,entitlements \"${FRAMEWORKS_PATH}/$i\"\n fi;\n fi;\ndone\n\n"; + shellScript = "#\n# We don't use a CopyFile build phase here to copy the test bundles because the test\n# bundles are located in different location depending on the platform. This script\n# copies the bundles if updated and sign them.\n#\n\nFRAMEWORKS_PATH=\"${TARGET_BUILD_DIR}\"/\"${FRAMEWORKS_FOLDER_PATH}\"\ncd \"../bundles/Bundles++11-${PLATFORM_NAME}\"\nif [ ! -d \"$FRAMEWORKS_PATH\" ]; then\n mkdir -p \"$FRAMEWORKS_PATH\"\nfi;\nfor i in `ls -d */*.bundle`;\ndo\n if [ ! -d \"$FRAMEWORKS_PATH/$i\" -o \"$i\" -nt \"$FRAMEWORKS_PATH/$i\" ]; then\n echo \"Copying $i\"\n mkdir -p \"$FRAMEWORKS_PATH/$(dirname $i)\"\n cp -rf $i \"$FRAMEWORKS_PATH/$(dirname $i)\"\n if [ -n \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" ]; then\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --preserve-metadata=identifier,entitlements \"${FRAMEWORKS_PATH}/$i\"\n fi;\n fi;\ndone\n\n"; }; 144B488F1A78F71F00C0E06B /* Run Script */ = { isa = PBXShellScriptBuildPhase; @@ -369,7 +361,7 @@ ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "#\n# We don't use a CopyFile build phase here to copy the test bundles because the test\n# bundles are located in different location depending on the platform. This script\n# copies the bundles if updated and sign them.\n#\n\nFRAMEWORKS_PATH=\"${TARGET_BUILD_DIR}\"/\"${FRAMEWORKS_FOLDER_PATH}\"\ncd \"Bundles-${PLATFORM_NAME}\"\nif [ ! -d \"$FRAMEWORKS_PATH\" ]; then\n mkdir -p \"$FRAMEWORKS_PATH\"\nfi;\nfor i in `ls -d */*.bundle`;\ndo\n if [ ! -d \"$FRAMEWORKS_PATH/$i\" -o \"$i\" -nt \"$FRAMEWORKS_PATH/$i\" ]; then\n echo \"Copying $i\"\n mkdir -p \"$FRAMEWORKS_PATH/$(dirname $i)\"\n cp -rf $i \"$FRAMEWORKS_PATH/$(dirname $i)\"\n if [ -n \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" ]; then\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --preserve-metadata=identifier,entitlements \"${FRAMEWORKS_PATH}/$i\"\n fi;\n fi;\ndone\n\n"; + shellScript = "#\n# We don't use a CopyFile build phase here to copy the test bundles because the test\n# bundles are located in different location depending on the platform. This script\n# copies the bundles if updated and sign them.\n#\n\nFRAMEWORKS_PATH=\"${TARGET_BUILD_DIR}\"/\"${FRAMEWORKS_FOLDER_PATH}\"\ncd \"../bundles/Bundles-${PLATFORM_NAME}\"\nif [ ! -d \"$FRAMEWORKS_PATH\" ]; then\n mkdir -p \"$FRAMEWORKS_PATH\"\nfi;\nfor i in `ls -d */*.bundle`;\ndo\n if [ ! -d \"$FRAMEWORKS_PATH/$i\" -o \"$i\" -nt \"$FRAMEWORKS_PATH/$i\" ]; then\n echo \"Copying $i\"\n mkdir -p \"$FRAMEWORKS_PATH/$(dirname $i)\"\n cp -rf $i \"$FRAMEWORKS_PATH/$(dirname $i)\"\n if [ -n \"${EXPANDED_CODE_SIGN_IDENTITY_NAME}\" ]; then\n codesign --force --sign \"${EXPANDED_CODE_SIGN_IDENTITY}\" --preserve-metadata=identifier,entitlements \"${FRAMEWORKS_PATH}/$i\"\n fi;\n fi;\ndone\n\n"; }; /* End PBXShellScriptBuildPhase section */ @@ -419,9 +411,8 @@ GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( - .., Classes, - ../../../../ice/cpp/test/include/, + ../../include/, ); INFOPLIST_FILE = "$(SRCROOT)/C++11 Test Suite-Info.plist"; OTHER_CFLAGS = ""; @@ -463,9 +454,8 @@ GCC_SYMBOLS_PRIVATE_EXTERN = NO; GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( - .., Classes, - ../../../../ice/cpp/test/include/, + ../../include/, ); INFOPLIST_FILE = "$(SRCROOT)/C++11 Test Suite-Info.plist"; OTHER_CFLAGS = ""; @@ -511,7 +501,7 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( Classes, - ../include/, + ../../include/, ); INFOPLIST_FILE = "$(SRCROOT)/C++98 Test Suite-Info.plist"; PRODUCT_BUNDLE_IDENTIFIER = "com.zeroc.Ice-Cpp-Test-Suite"; @@ -539,7 +529,7 @@ GCC_VERSION = ""; HEADER_SEARCH_PATHS = ( Classes, - ../include/, + ../../include/, ); INFOPLIST_FILE = "$(SRCROOT)/C++98 Test Suite-Info.plist"; PRODUCT_BUNDLE_IDENTIFIER = "com.zeroc.Ice-Cpp-Test-Suite"; @@ -554,6 +544,7 @@ C01FCF4F08A954540054247B /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { + ADDITIONAL_SDKS = "../../../../IceSDK/$(PLATFORM_NAME).sdk"; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_EMPTY_BODY = YES; @@ -583,6 +574,7 @@ C01FCF5008A954540054247B /* Release */ = { isa = XCBuildConfiguration; buildSettings = { + ADDITIONAL_SDKS = "../../../../IceSDK/$(PLATFORM_NAME).sdk"; CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_EMPTY_BODY = YES; diff --git a/cpp/test/ios/C++ Test Suite.xcodeproj/project.xcworkspace/contents.xcworkspacedata b/cpp/test/ios/testSuiteApp/C++ Test Suite.xcodeproj/project.xcworkspace/contents.xcworkspacedata index 0e7018e8c78..0e7018e8c78 100644 --- a/cpp/test/ios/C++ Test Suite.xcodeproj/project.xcworkspace/contents.xcworkspacedata +++ b/cpp/test/ios/testSuiteApp/C++ Test Suite.xcodeproj/project.xcworkspace/contents.xcworkspacedata diff --git a/cpp/test/ios/C++11 Test Suite-Info.plist b/cpp/test/ios/testSuiteApp/C++11 Test Suite-Info.plist index dd48f53e201..dd48f53e201 100644 --- a/cpp/test/ios/C++11 Test Suite-Info.plist +++ b/cpp/test/ios/testSuiteApp/C++11 Test Suite-Info.plist diff --git a/cpp/test/ios/C++11 Test Suite.plist b/cpp/test/ios/testSuiteApp/C++11 Test Suite.plist index dd48f53e201..dd48f53e201 100644 --- a/cpp/test/ios/C++11 Test Suite.plist +++ b/cpp/test/ios/testSuiteApp/C++11 Test Suite.plist diff --git a/cpp/test/ios/C++98 Test Suite-Info.plist b/cpp/test/ios/testSuiteApp/C++98 Test Suite-Info.plist index dd48f53e201..dd48f53e201 100644 --- a/cpp/test/ios/C++98 Test Suite-Info.plist +++ b/cpp/test/ios/testSuiteApp/C++98 Test Suite-Info.plist diff --git a/cpp/test/ios/Classes/AppDelegate.h b/cpp/test/ios/testSuiteApp/Classes/AppDelegate.h index a456d72b8be..a456d72b8be 100644 --- a/cpp/test/ios/Classes/AppDelegate.h +++ b/cpp/test/ios/testSuiteApp/Classes/AppDelegate.h diff --git a/cpp/test/ios/Classes/AppDelegate.mm b/cpp/test/ios/testSuiteApp/Classes/AppDelegate.mm index 2028ae2b2d3..2028ae2b2d3 100644 --- a/cpp/test/ios/Classes/AppDelegate.mm +++ b/cpp/test/ios/testSuiteApp/Classes/AppDelegate.mm diff --git a/cpp/test/ios/Classes/TestSelectController.h b/cpp/test/ios/testSuiteApp/Classes/TestSelectController.h index db3d8a28ce7..db3d8a28ce7 100644 --- a/cpp/test/ios/Classes/TestSelectController.h +++ b/cpp/test/ios/testSuiteApp/Classes/TestSelectController.h diff --git a/cpp/test/ios/Classes/TestSelectController.m b/cpp/test/ios/testSuiteApp/Classes/TestSelectController.m index 5d99c9bebab..5d99c9bebab 100644 --- a/cpp/test/ios/Classes/TestSelectController.m +++ b/cpp/test/ios/testSuiteApp/Classes/TestSelectController.m diff --git a/cpp/test/ios/Classes/TestUtil.h b/cpp/test/ios/testSuiteApp/Classes/TestUtil.h index 30b8dcab2b7..30b8dcab2b7 100644 --- a/cpp/test/ios/Classes/TestUtil.h +++ b/cpp/test/ios/testSuiteApp/Classes/TestUtil.h diff --git a/cpp/test/ios/Classes/TestUtil.mm b/cpp/test/ios/testSuiteApp/Classes/TestUtil.mm index 3badcb20416..3badcb20416 100644 --- a/cpp/test/ios/Classes/TestUtil.mm +++ b/cpp/test/ios/testSuiteApp/Classes/TestUtil.mm diff --git a/cpp/test/ios/Classes/TestViewController.h b/cpp/test/ios/testSuiteApp/Classes/TestViewController.h index 1f901ffdd8f..1f901ffdd8f 100644 --- a/cpp/test/ios/Classes/TestViewController.h +++ b/cpp/test/ios/testSuiteApp/Classes/TestViewController.h diff --git a/cpp/test/ios/Classes/TestViewController.mm b/cpp/test/ios/testSuiteApp/Classes/TestViewController.mm index 0a8eac6ff8f..0a8eac6ff8f 100644 --- a/cpp/test/ios/Classes/TestViewController.mm +++ b/cpp/test/ios/testSuiteApp/Classes/TestViewController.mm diff --git a/cpp/test/ios/Default-568h@2x.png b/cpp/test/ios/testSuiteApp/Default-568h@2x.png Binary files differindex 0891b7aabfc..0891b7aabfc 100644 --- a/cpp/test/ios/Default-568h@2x.png +++ b/cpp/test/ios/testSuiteApp/Default-568h@2x.png diff --git a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/Contents.json b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/Contents.json index 5a94148ba69..5a94148ba69 100644 --- a/cpp/test/ios/Images.xcassets/AppIcon.appiconset/Contents.json +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/Contents.json diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/New icon-60@3x.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/New icon-60@3x.png Binary files differnew file mode 100644 index 00000000000..a37f851e642 --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/New icon-60@3x.png diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-76.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-76.png Binary files differnew file mode 100644 index 00000000000..2855a8b674b --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-76.png diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-76@2x.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-76@2x.png Binary files differnew file mode 100644 index 00000000000..29047dc5a52 --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-76@2x.png diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40.png Binary files differnew file mode 100644 index 00000000000..e76086fb3d6 --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40.png diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-1.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-1.png Binary files differnew file mode 100644 index 00000000000..7615d3255bc --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-1.png diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-2.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-2.png Binary files differnew file mode 100644 index 00000000000..7615d3255bc --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@2x-2.png diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@3x-1.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@3x-1.png Binary files differnew file mode 100644 index 00000000000..f04f442176a --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@3x-1.png diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@3x.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@3x.png Binary files differnew file mode 100644 index 00000000000..f04f442176a --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small-40@3x.png diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small.png Binary files differnew file mode 100644 index 00000000000..d57695edc28 --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small.png diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small@2x-1.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small@2x-1.png Binary files differnew file mode 100644 index 00000000000..79edc547e2c --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small@2x-1.png diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small@2x-2.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small@2x-2.png Binary files differnew file mode 100644 index 00000000000..79edc547e2c --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small@2x-2.png diff --git a/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small@3x.png b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small@3x.png Binary files differnew file mode 100644 index 00000000000..49cdc033096 --- /dev/null +++ b/cpp/test/ios/testSuiteApp/Images.xcassets/AppIcon.appiconset/test_suite-Small@3x.png diff --git a/cpp/test/ios/MainWindow-iPad.xib b/cpp/test/ios/testSuiteApp/MainWindow-iPad.xib index 1313995e567..1313995e567 100644 --- a/cpp/test/ios/MainWindow-iPad.xib +++ b/cpp/test/ios/testSuiteApp/MainWindow-iPad.xib diff --git a/cpp/test/ios/MainWindow.xib b/cpp/test/ios/testSuiteApp/MainWindow.xib index 330ffa0c297..330ffa0c297 100644 --- a/cpp/test/ios/MainWindow.xib +++ b/cpp/test/ios/testSuiteApp/MainWindow.xib diff --git a/cpp/test/ios/testSuiteApp/README.md b/cpp/test/ios/testSuiteApp/README.md new file mode 100644 index 00000000000..356e1e407c9 --- /dev/null +++ b/cpp/test/ios/testSuiteApp/README.md @@ -0,0 +1 @@ +This project builds the iOS C++ Test Suite application for running tests with the iOS simulator or on an iOS device. diff --git a/cpp/test/ios/TestSelect-iPad.xib b/cpp/test/ios/testSuiteApp/TestSelect-iPad.xib index 77817e380d6..77817e380d6 100644 --- a/cpp/test/ios/TestSelect-iPad.xib +++ b/cpp/test/ios/testSuiteApp/TestSelect-iPad.xib diff --git a/cpp/test/ios/TestSelect.xib b/cpp/test/ios/testSuiteApp/TestSelect.xib index 1db89250692..1db89250692 100644 --- a/cpp/test/ios/TestSelect.xib +++ b/cpp/test/ios/testSuiteApp/TestSelect.xib diff --git a/cpp/test/ios/TestView-iPad.xib b/cpp/test/ios/testSuiteApp/TestView-iPad.xib index 309191a0c2a..309191a0c2a 100644 --- a/cpp/test/ios/TestView-iPad.xib +++ b/cpp/test/ios/testSuiteApp/TestView-iPad.xib diff --git a/cpp/test/ios/TestView.xib b/cpp/test/ios/testSuiteApp/TestView.xib index affe669bf13..affe669bf13 100644 --- a/cpp/test/ios/TestView.xib +++ b/cpp/test/ios/testSuiteApp/TestView.xib diff --git a/cpp/test/ios/main.m b/cpp/test/ios/testSuiteApp/main.m index 11648fea71b..11648fea71b 100644 --- a/cpp/test/ios/main.m +++ b/cpp/test/ios/testSuiteApp/main.m |