From 017bdb85a4170b77c4dcaa6df679d03c31114b6c Mon Sep 17 00:00:00 2001 From: Max Goedjen Date: Sun, 15 Mar 2020 17:04:20 -0700 Subject: [PATCH] Test infrastructure (#52) * Adding tests target * Adding test plan * Fixing deps * Add test workflow * Add config * More * Change workflow * Add test step to release * Signing changes * Signing changes * Remove 11.4 specific test * More signing --- .github/workflows/release.yml | 14 + .github/workflows/test.yml | 18 ++ Config/Secretive.xctestplan | 41 +++ SecretAgentKitTests/SecretAgentKitTests.swift | 15 - SecretKitTests/SecretKitTests.swift | 7 - Secretive.xcodeproj/project.pbxproj | 306 ++++++++++++++++-- .../xcschemes/SecretAgent.xcscheme | 40 ++- .../xcschemes/SecretAgentKit.xcscheme | 22 +- .../xcshareddata/xcschemes/SecretKit.xcscheme | 12 +- .../xcshareddata/xcschemes/Secretive.xcscheme | 12 +- SecretiveTests/SecretiveTests.swift | 6 - 11 files changed, 420 insertions(+), 73 deletions(-) create mode 100644 .github/workflows/test.yml create mode 100644 Config/Secretive.xctestplan diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 26cf945..4fa736b 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -5,6 +5,20 @@ on: tags: - '*' jobs: + test: + runs-on: macOS-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v1 + - name: Setup Signing + env: + SIGNING_DATA: ${{ secrets.SIGNING_DATA }} + SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} + HOST_PROFILE_DATA: ${{ secrets.HOST_PROFILE_DATA }} + AGENT_PROFILE_DATA: ${{ secrets.AGENT_PROFILE_DATA }} + run: ./.github/scripts/signing.sh + - name: Test + run: xcrun xcodebuild test -project Secretive.xcodeproj -scheme Secretive build: runs-on: macOS-latest timeout-minutes: 10 diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml new file mode 100644 index 0000000..3c08203 --- /dev/null +++ b/.github/workflows/test.yml @@ -0,0 +1,18 @@ +name: Test + +on: push +jobs: + test: + runs-on: macOS-latest + timeout-minutes: 10 + steps: + - uses: actions/checkout@v1 + - name: Setup Signing + env: + SIGNING_DATA: ${{ secrets.SIGNING_DATA }} + SIGNING_PASSWORD: ${{ secrets.SIGNING_PASSWORD }} + HOST_PROFILE_DATA: ${{ secrets.HOST_PROFILE_DATA }} + AGENT_PROFILE_DATA: ${{ secrets.AGENT_PROFILE_DATA }} + run: ./.github/scripts/signing.sh + - name: Test + run: xcrun xcodebuild test -project Secretive.xcodeproj -scheme Secretive diff --git a/Config/Secretive.xctestplan b/Config/Secretive.xctestplan new file mode 100644 index 0000000..6e10639 --- /dev/null +++ b/Config/Secretive.xctestplan @@ -0,0 +1,41 @@ +{ + "configurations" : [ + { + "id" : "5896AE5A-6D5A-48D3-837B-668B646A3273", + "name" : "Configuration 1", + "options" : { + + } + } + ], + "defaultOptions" : { + + }, + "testTargets" : [ + { + "parallelizable" : true, + "target" : { + "containerPath" : "container:Secretive.xcodeproj", + "identifier" : "50617DAF23FCE4AB0099B055", + "name" : "SecretKitTests" + } + }, + { + "parallelizable" : true, + "target" : { + "containerPath" : "container:Secretive.xcodeproj", + "identifier" : "5099A073240242BA0062B6F2", + "name" : "SecretAgentKitTests" + } + }, + { + "parallelizable" : true, + "target" : { + "containerPath" : "container:Secretive.xcodeproj", + "identifier" : "50617D9323FCE48E0099B055", + "name" : "SecretiveTests" + } + } + ], + "version" : 1 +} diff --git a/SecretAgentKitTests/SecretAgentKitTests.swift b/SecretAgentKitTests/SecretAgentKitTests.swift index 99711e7..79c8bd8 100644 --- a/SecretAgentKitTests/SecretAgentKitTests.swift +++ b/SecretAgentKitTests/SecretAgentKitTests.swift @@ -11,24 +11,9 @@ import XCTest class SecretAgentKitTests: XCTestCase { - override func setUpWithError() throws { - // Put setup code here. This method is called before the invocation of each test method in the class. - } - - override func tearDownWithError() throws { - // Put teardown code here. This method is called after the invocation of each test method in the class. - } - func testExample() throws { // This is an example of a functional test case. // Use XCTAssert and related functions to verify your tests produce the correct results. } - func testPerformanceExample() throws { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - } diff --git a/SecretKitTests/SecretKitTests.swift b/SecretKitTests/SecretKitTests.swift index ca8cfa6..051b3f0 100644 --- a/SecretKitTests/SecretKitTests.swift +++ b/SecretKitTests/SecretKitTests.swift @@ -24,11 +24,4 @@ class SecretKitTests: XCTestCase { // Use XCTAssert and related functions to verify your tests produce the correct results. } - func testPerformanceExample() { - // This is an example of a performance test case. - self.measure { - // Put the code you want to measure the time of here. - } - } - } diff --git a/Secretive.xcodeproj/project.pbxproj b/Secretive.xcodeproj/project.pbxproj index bace006..b1c924e 100644 --- a/Secretive.xcodeproj/project.pbxproj +++ b/Secretive.xcodeproj/project.pbxproj @@ -35,6 +35,8 @@ 508A58AA241E06B40069DC07 /* PreviewUpdater.swift in Sources */ = {isa = PBXBuildFile; fileRef = 508A58A9241E06B40069DC07 /* PreviewUpdater.swift */; }; 508A58B3241ED2180069DC07 /* AgentStatusChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 508A58B2241ED2180069DC07 /* AgentStatusChecker.swift */; }; 508A58B5241ED48F0069DC07 /* PreviewAgentStatusChecker.swift in Sources */ = {isa = PBXBuildFile; fileRef = 508A58B4241ED48F0069DC07 /* PreviewAgentStatusChecker.swift */; }; + 508A5911241EF09C0069DC07 /* SecretAgentKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 5099A06C240242BA0062B6F2 /* SecretAgentKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; + 508A5913241EF0B20069DC07 /* SecretKit.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 50617DA823FCE4AB0099B055 /* SecretKit.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 5099A02423FD2AAA0062B6F2 /* CreateSecretView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5099A02323FD2AAA0062B6F2 /* CreateSecretView.swift */; }; 5099A02723FE34FA0062B6F2 /* SmartCard.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5099A02623FE34FA0062B6F2 /* SmartCard.swift */; }; 5099A02923FE35240062B6F2 /* SmartCardStore.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5099A02823FE35240062B6F2 /* SmartCardStore.swift */; }; @@ -89,13 +91,6 @@ remoteGlobalIDString = 50617DA723FCE4AB0099B055; remoteInfo = SecretKit; }; - 50617DB423FCE4AB0099B055 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 50617D7723FCE48D0099B055 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 50617D7E23FCE48D0099B055; - remoteInfo = Secretive; - }; 50617DBB23FCE4AB0099B055 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = 50617D7723FCE48D0099B055 /* Project object */; @@ -110,13 +105,6 @@ remoteGlobalIDString = 5099A06B240242BA0062B6F2; remoteInfo = SecretAgentKit; }; - 5099A078240242BA0062B6F2 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = 50617D7723FCE48D0099B055 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 50617D7E23FCE48D0099B055; - remoteInfo = Secretive; - }; /* End PBXContainerItemProxy section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -131,6 +119,26 @@ name = "Embed Frameworks"; runOnlyForDeploymentPostprocessing = 0; }; + 508A5910241EF0920069DC07 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 508A5911241EF09C0069DC07 /* SecretAgentKit.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; + 508A5912241EF0AC0069DC07 /* CopyFiles */ = { + isa = PBXCopyFilesBuildPhase; + buildActionMask = 2147483647; + dstPath = ""; + dstSubfolderSpec = 10; + files = ( + 508A5913241EF0B20069DC07 /* SecretKit.framework in CopyFiles */, + ); + runOnlyForDeploymentPostprocessing = 0; + }; 50A5C18E240E4B4B00E2996C /* Embed Frameworks */ = { isa = PBXCopyFilesBuildPhase; buildActionMask = 2147483647; @@ -190,6 +198,7 @@ 508A58AB241E121B0069DC07 /* Config.xcconfig */ = {isa = PBXFileReference; lastKnownFileType = text.xcconfig; path = Config.xcconfig; sourceTree = ""; }; 508A58B2241ED2180069DC07 /* AgentStatusChecker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AgentStatusChecker.swift; sourceTree = ""; }; 508A58B4241ED48F0069DC07 /* PreviewAgentStatusChecker.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PreviewAgentStatusChecker.swift; sourceTree = ""; }; + 508A590F241EEF6D0069DC07 /* Secretive.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = Secretive.xctestplan; sourceTree = ""; }; 5099A02323FD2AAA0062B6F2 /* CreateSecretView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CreateSecretView.swift; sourceTree = ""; }; 5099A02623FE34FA0062B6F2 /* SmartCard.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmartCard.swift; sourceTree = ""; }; 5099A02823FE35240062B6F2 /* SmartCardStore.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SmartCardStore.swift; sourceTree = ""; }; @@ -394,6 +403,7 @@ 508A58AF241E144C0069DC07 /* Config */ = { isa = PBXGroup; children = ( + 508A590F241EEF6D0069DC07 /* Secretive.xctestplan */, 508A58AB241E121B0069DC07 /* Config.xcconfig */, ); path = Config; @@ -577,12 +587,12 @@ 50617DAC23FCE4AB0099B055 /* Sources */, 50617DAD23FCE4AB0099B055 /* Frameworks */, 50617DAE23FCE4AB0099B055 /* Resources */, + 508A5912241EF0AC0069DC07 /* CopyFiles */, ); buildRules = ( ); dependencies = ( 50617DB323FCE4AB0099B055 /* PBXTargetDependency */, - 50617DB523FCE4AB0099B055 /* PBXTargetDependency */, ); name = SecretKitTests; productName = SecretKitTests; @@ -614,12 +624,12 @@ 5099A070240242BA0062B6F2 /* Sources */, 5099A071240242BA0062B6F2 /* Frameworks */, 5099A072240242BA0062B6F2 /* Resources */, + 508A5910241EF0920069DC07 /* CopyFiles */, ); buildRules = ( ); dependencies = ( 5099A077240242BA0062B6F2 /* PBXTargetDependency */, - 5099A079240242BA0062B6F2 /* PBXTargetDependency */, ); name = SecretAgentKitTests; productName = SecretAgentKitTests; @@ -669,7 +679,6 @@ }; 50617DAF23FCE4AB0099B055 = { CreatedOnToolsVersion = 11.3; - TestTargetID = 50617D7E23FCE48D0099B055; }; 5099A06B240242BA0062B6F2 = { CreatedOnToolsVersion = 11.4; @@ -677,7 +686,6 @@ }; 5099A073240242BA0062B6F2 = { CreatedOnToolsVersion = 11.4; - TestTargetID = 50617D7E23FCE48D0099B055; }; 50A3B78924026B7500D209EA = { CreatedOnToolsVersion = 11.4; @@ -873,11 +881,6 @@ target = 50617DA723FCE4AB0099B055 /* SecretKit */; targetProxy = 50617DB223FCE4AB0099B055 /* PBXContainerItemProxy */; }; - 50617DB523FCE4AB0099B055 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 50617D7E23FCE48D0099B055 /* Secretive */; - targetProxy = 50617DB423FCE4AB0099B055 /* PBXContainerItemProxy */; - }; 50617DBC23FCE4AB0099B055 /* PBXTargetDependency */ = { isa = PBXTargetDependency; target = 50617DA723FCE4AB0099B055 /* SecretKit */; @@ -888,11 +891,6 @@ target = 5099A06B240242BA0062B6F2 /* SecretAgentKit */; targetProxy = 5099A076240242BA0062B6F2 /* PBXContainerItemProxy */; }; - 5099A079240242BA0062B6F2 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - target = 50617D7E23FCE48D0099B055 /* Secretive */; - targetProxy = 5099A078240242BA0062B6F2 /* PBXContainerItemProxy */; - }; /* End PBXTargetDependency section */ /* Begin PBXVariantGroup section */ @@ -1205,7 +1203,6 @@ PRODUCT_BUNDLE_IDENTIFIER = com.maxgoedjen.SecretKitTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Secretive.app/Contents/MacOS/Secretive"; }; name = Debug; }; @@ -1225,10 +1222,247 @@ PRODUCT_BUNDLE_IDENTIFIER = com.maxgoedjen.SecretKitTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Secretive.app/Contents/MacOS/Secretive"; }; name = Release; }; + 508A5914241EF1A00069DC07 /* Test */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = 508A58AB241E121B0069DC07 /* Config.xcconfig */; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = 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_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + 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; + MACOSX_DEPLOYMENT_TARGET = 10.15; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + SDKROOT = macosx; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + }; + name = Test; + }; + 508A5915241EF1A00069DC07 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = Secretive/Secretive.entitlements; + CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEVELOPMENT_ASSET_PATHS = "\"Secretive/Preview Content\""; + DEVELOPMENT_TEAM = Z72PRUAWF6; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = Secretive/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + MARKETING_VERSION = 1; + PRODUCT_BUNDLE_IDENTIFIER = com.maxgoedjen.Secretive.Host; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = "Secretive - Host"; + SWIFT_VERSION = 5.0; + }; + name = Test; + }; + 508A5916241EF1A00069DC07 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + BUNDLE_LOADER = "$(TEST_HOST)"; + CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = Z72PRUAWF6; + INFOPLIST_FILE = SecretiveTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + PRODUCT_BUNDLE_IDENTIFIER = com.maxgoedjen.SecretiveTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = ""; + SWIFT_VERSION = 5.0; + TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Secretive.app/Contents/MacOS/Secretive"; + }; + name = Test; + }; + 508A5917241EF1A00069DC07 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon; + CODE_SIGN_ENTITLEMENTS = SecretAgent/SecretAgent.entitlements; + CODE_SIGN_IDENTITY = "Developer ID Application"; + CODE_SIGN_STYLE = Manual; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_ASSET_PATHS = "\"SecretAgent/Preview Content\""; + DEVELOPMENT_TEAM = Z72PRUAWF6; + ENABLE_HARDENED_RUNTIME = YES; + ENABLE_PREVIEWS = YES; + INFOPLIST_FILE = SecretAgent/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + ); + MACOSX_DEPLOYMENT_TARGET = 10.15; + MARKETING_VERSION = 1; + PRODUCT_BUNDLE_IDENTIFIER = com.maxgoedjen.Secretive.SecretAgent; + PRODUCT_NAME = "$(TARGET_NAME)"; + PROVISIONING_PROFILE_SPECIFIER = "Secretive - Secret Agent"; + SWIFT_VERSION = 5.0; + }; + name = Test; + }; + 508A5918241EF1A00069DC07 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = Z72PRUAWF6; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = SecretKit/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.maxgoedjen.Secretive.SecretKit; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Test; + }; + 508A5919241EF1A00069DC07 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = Z72PRUAWF6; + INFOPLIST_FILE = SecretKitTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.maxgoedjen.SecretKitTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Test; + }; + 508A591A241EF1A00069DC07 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + CLANG_ENABLE_MODULES = YES; + CODE_SIGN_IDENTITY = "-"; + CODE_SIGN_STYLE = Automatic; + COMBINE_HIDPI_IMAGES = YES; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DEVELOPMENT_TEAM = Z72PRUAWF6; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = SecretAgentKit/Info.plist; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.maxgoedjen.SecretAgentKit; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SKIP_INSTALL = YES; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Test; + }; + 508A591B241EF1A00069DC07 /* Test */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; + CODE_SIGN_IDENTITY = "-"; + COMBINE_HIDPI_IMAGES = YES; + DEVELOPMENT_TEAM = Z72PRUAWF6; + INFOPLIST_FILE = SecretAgentKitTests/Info.plist; + LD_RUNPATH_SEARCH_PATHS = ( + "$(inherited)", + "@executable_path/../Frameworks", + "@loader_path/../Frameworks", + ); + PRODUCT_BUNDLE_IDENTIFIER = com.maxgoedjen.SecretAgentKitTests; + PRODUCT_NAME = "$(TARGET_NAME)"; + SWIFT_VERSION = 5.0; + }; + name = Test; + }; 5099A084240242BA0062B6F2 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1292,7 +1526,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; DEVELOPMENT_TEAM = Z72PRUAWF6; INFOPLIST_FILE = SecretAgentKitTests/Info.plist; @@ -1304,7 +1537,6 @@ PRODUCT_BUNDLE_IDENTIFIER = com.maxgoedjen.SecretAgentKitTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Secretive.app/Contents/MacOS/Secretive"; }; name = Debug; }; @@ -1312,7 +1544,6 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES; - CODE_SIGN_STYLE = Automatic; COMBINE_HIDPI_IMAGES = YES; DEVELOPMENT_TEAM = Z72PRUAWF6; INFOPLIST_FILE = SecretAgentKitTests/Info.plist; @@ -1324,7 +1555,6 @@ PRODUCT_BUNDLE_IDENTIFIER = com.maxgoedjen.SecretAgentKitTests; PRODUCT_NAME = "$(TARGET_NAME)"; SWIFT_VERSION = 5.0; - TEST_HOST = "$(BUILT_PRODUCTS_DIR)/Secretive.app/Contents/MacOS/Secretive"; }; name = Release; }; @@ -1385,6 +1615,7 @@ isa = XCConfigurationList; buildConfigurations = ( 50617D9B23FCE48E0099B055 /* Debug */, + 508A5914241EF1A00069DC07 /* Test */, 50617D9C23FCE48E0099B055 /* Release */, ); defaultConfigurationIsVisible = 0; @@ -1394,6 +1625,7 @@ isa = XCConfigurationList; buildConfigurations = ( 50617D9E23FCE48E0099B055 /* Debug */, + 508A5915241EF1A00069DC07 /* Test */, 50617D9F23FCE48E0099B055 /* Release */, ); defaultConfigurationIsVisible = 0; @@ -1403,6 +1635,7 @@ isa = XCConfigurationList; buildConfigurations = ( 50617DA123FCE48E0099B055 /* Debug */, + 508A5916241EF1A00069DC07 /* Test */, 50617DA223FCE48E0099B055 /* Release */, ); defaultConfigurationIsVisible = 0; @@ -1412,6 +1645,7 @@ isa = XCConfigurationList; buildConfigurations = ( 50617DC023FCE4AB0099B055 /* Debug */, + 508A5918241EF1A00069DC07 /* Test */, 50617DC123FCE4AB0099B055 /* Release */, ); defaultConfigurationIsVisible = 0; @@ -1421,6 +1655,7 @@ isa = XCConfigurationList; buildConfigurations = ( 50617DC223FCE4AB0099B055 /* Debug */, + 508A5919241EF1A00069DC07 /* Test */, 50617DC323FCE4AB0099B055 /* Release */, ); defaultConfigurationIsVisible = 0; @@ -1430,6 +1665,7 @@ isa = XCConfigurationList; buildConfigurations = ( 5099A084240242BA0062B6F2 /* Debug */, + 508A591A241EF1A00069DC07 /* Test */, 5099A085240242BA0062B6F2 /* Release */, ); defaultConfigurationIsVisible = 0; @@ -1439,6 +1675,7 @@ isa = XCConfigurationList; buildConfigurations = ( 5099A087240242BA0062B6F2 /* Debug */, + 508A591B241EF1A00069DC07 /* Test */, 5099A088240242BA0062B6F2 /* Release */, ); defaultConfigurationIsVisible = 0; @@ -1448,6 +1685,7 @@ isa = XCConfigurationList; buildConfigurations = ( 50A3B79B24026B7600D209EA /* Debug */, + 508A5917241EF1A00069DC07 /* Test */, 50A3B79C24026B7600D209EA /* Release */, ); defaultConfigurationIsVisible = 0; diff --git a/Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgent.xcscheme b/Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgent.xcscheme index aac72c9..e425e9c 100644 --- a/Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgent.xcscheme +++ b/Secretive.xcodeproj/xcshareddata/xcschemes/SecretAgent.xcscheme @@ -1,7 +1,7 @@ + version = "1.7"> @@ -23,11 +23,47 @@ + + + + + + + + + + + + + + + + + version = "1.7"> @@ -23,11 +23,29 @@ + + + + + + + + + version = "1.7"> @@ -23,12 +23,16 @@ - - + + + + + version = "1.7"> @@ -23,10 +23,16 @@ + + + + @@ -61,7 +67,7 @@