Skip to content

Commit 464e1f9

Browse files
Add unit tests for utility functions and model validation
Tests cover small, isolated functionality: - NSString+String: isEmpty, ipaURL (12 tests) - NSURL+URL: isIPA, acceptableURL, stringValue (9 tests) - NSDate+Date: string formatter (3 tests) - NSException+Description: abDescription (5 tests) - Common: generateUUID, errorWithDesc, isValidWebhookURL, getFileDirectoryForFilePath (14 tests) - IPAUploadInfo: initEmpty, setName, isValidInfoPlist, setIpaInfoPlist (23 tests) All 66 tests pass. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent c64b3c2 commit 464e1f9

11 files changed

Lines changed: 740 additions & 19 deletions

File tree

AppBox.xcodeproj/project.pbxproj

Lines changed: 61 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -7,15 +7,19 @@
77
objects = {
88

99
/* Begin PBXBuildFile section */
10+
0D4C02332FC22A63EFF72F8D /* NSStringTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 30509E5843B9CCEA2AFB2874 /* NSStringTests.m */; };
11+
407C8032774422D6217359B9 /* NSExceptionTests.m in Sources */ = {isa = PBXBuildFile; fileRef = B386EED60B876CEE11BBF89B /* NSExceptionTests.m */; };
1012
4410D18E26FF76A20046E5F9 /* DBAccountManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 4410D18D26FF76A20046E5F9 /* DBAccountManager.m */; };
1113
4410D19C26FF851D0046E5F9 /* CoreDataMigration3to4.xcmappingmodel in Sources */ = {isa = PBXBuildFile; fileRef = 4410D19B26FF851D0046E5F9 /* CoreDataMigration3to4.xcmappingmodel */; };
1214
449BD6B8282111B0008EFB2B /* AppBoxService+CoreDataProperties.m in Sources */ = {isa = PBXBuildFile; fileRef = 449BD6B4282111B0008EFB2B /* AppBoxService+CoreDataProperties.m */; };
1315
449BD6B9282111B0008EFB2B /* AppBoxService+CoreDataClass.m in Sources */ = {isa = PBXBuildFile; fileRef = 449BD6B5282111B0008EFB2B /* AppBoxService+CoreDataClass.m */; };
1416
4D3E492303A5E78B0417E17F /* ObjectiveDropboxOfficial.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = 656E98171CB7E85AA663AFE8 /* ObjectiveDropboxOfficial.xcframework */; };
17+
5D20E6B57EA90CA7D6EA21F7 /* IPAUploadInfoTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 3E65C0AF09D32F39F4259167 /* IPAUploadInfoTests.m */; };
1518
6968AADC9DEB5554A06F19BD /* CocoaLumberjack in Frameworks */ = {isa = PBXBuildFile; productRef = 33146DD70AA7C380685E53AA /* CocoaLumberjack */; };
19+
7288A761B4712E54C04CE3CA /* NSURLTests.m in Sources */ = {isa = PBXBuildFile; fileRef = BA16F2A781DF1BAB101AACAE /* NSURLTests.m */; };
1620
771E1F8D4D831C50C1178A75 /* Cocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 09E11F809EFA1C7844F25D6B /* Cocoa.framework */; };
1721
AC4CF046F7F2B76CF56BF8E4 /* ObjectiveDropboxOfficial.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = 656E98171CB7E85AA663AFE8 /* ObjectiveDropboxOfficial.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
18-
CE169D69B9BA8383673CB6A6 /* AppBoxTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 49339F0F4810664BDDE096F8 /* AppBoxTests.swift */; };
22+
D9E5B24A6827FC5AD68D29D0 /* CommonTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 544B2D28AEC66102492FA05E /* CommonTests.m */; };
1923
DB04358B2E69628F005F0173 /* appboxcli in CopyFiles */ = {isa = PBXBuildFile; fileRef = DB0435832E696255005F0173 /* appboxcli */; settings = {ATTRIBUTES = (CodeSignOnCopy, ); }; };
2024
DB0435912E6962EA005F0173 /* CLISupportHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = DB0435902E6962EA005F0173 /* CLISupportHelper.m */; };
2125
DB1A06622160DCB4008D33FD /* CoreDataMigration2to3.xcmappingmodel in Sources */ = {isa = PBXBuildFile; fileRef = DB1A06612160DCB4008D33FD /* CoreDataMigration2to3.xcmappingmodel */; };
@@ -93,6 +97,7 @@
9397
E1D12EEC1EC31AC80065E59A /* AccountPreferencesViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E1D12EEB1EC31AC80065E59A /* AccountPreferencesViewController.xib */; };
9498
E1D12EEE1EC320760065E59A /* HelpPreferencesViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = E1D12EED1EC320760065E59A /* HelpPreferencesViewController.xib */; };
9599
E1DC26001ECDBCA8001EF106 /* MBProgressHUD+ProgressHud.m in Sources */ = {isa = PBXBuildFile; fileRef = E1DC25FF1ECDBCA8001EF106 /* MBProgressHUD+ProgressHud.m */; };
100+
E6BF0C7BDA3380B61FA14F6C /* NSDateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 7E5177E6B8643457D0035658 /* NSDateTests.m */; };
96101
F6AEC01BE879A2BB998E829D /* ZipArchive in Frameworks */ = {isa = PBXBuildFile; productRef = EFE5EA7464F3539F2562A787 /* ZipArchive */; };
97102
/* End PBXBuildFile section */
98103

@@ -142,7 +147,8 @@
142147

143148
/* Begin PBXFileReference section */
144149
09E11F809EFA1C7844F25D6B /* Cocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Cocoa.framework; path = Platforms/MacOSX.platform/Developer/SDKs/MacOSX15.0.sdk/System/Library/Frameworks/Cocoa.framework; sourceTree = DEVELOPER_DIR; };
145-
410508CD3AC54858C78C571E /* AppBoxTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AppBoxTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
150+
30509E5843B9CCEA2AFB2874 /* NSStringTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = NSStringTests.m; sourceTree = "<group>"; };
151+
3E65C0AF09D32F39F4259167 /* IPAUploadInfoTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = IPAUploadInfoTests.m; sourceTree = "<group>"; };
146152
4410D18C26FF76A20046E5F9 /* DBAccountManager.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DBAccountManager.h; sourceTree = "<group>"; };
147153
4410D18D26FF76A20046E5F9 /* DBAccountManager.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DBAccountManager.m; sourceTree = "<group>"; };
148154
4410D19B26FF851D0046E5F9 /* CoreDataMigration3to4.xcmappingmodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcmappingmodel; path = CoreDataMigration3to4.xcmappingmodel; sourceTree = "<group>"; };
@@ -151,8 +157,11 @@
151157
449BD6B6282111B0008EFB2B /* AppBoxService+CoreDataProperties.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AppBoxService+CoreDataProperties.h"; sourceTree = "<group>"; };
152158
449BD6B7282111B0008EFB2B /* AppBoxService+CoreDataClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "AppBoxService+CoreDataClass.h"; sourceTree = "<group>"; };
153159
44DCC66B25EEA1910074AB1E /* AppBox4.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = AppBox4.xcdatamodel; sourceTree = "<group>"; };
154-
49339F0F4810664BDDE096F8 /* AppBoxTests.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = AppBoxTests.swift; sourceTree = "<group>"; };
160+
544B2D28AEC66102492FA05E /* CommonTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = CommonTests.m; sourceTree = "<group>"; };
155161
656E98171CB7E85AA663AFE8 /* ObjectiveDropboxOfficial.xcframework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcframework; name = ObjectiveDropboxOfficial.xcframework; path = Frameworks/ObjectiveDropboxOfficial.xcframework; sourceTree = "<group>"; };
162+
7E5177E6B8643457D0035658 /* NSDateTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = NSDateTests.m; sourceTree = "<group>"; };
163+
B386EED60B876CEE11BBF89B /* NSExceptionTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = NSExceptionTests.m; sourceTree = "<group>"; };
164+
BA16F2A781DF1BAB101AACAE /* NSURLTests.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = NSURLTests.m; sourceTree = "<group>"; };
156165
DB0435832E696255005F0173 /* appboxcli */ = {isa = PBXFileReference; explicitFileType = "compiled.mach-o.executable"; includeInIndex = 0; path = appboxcli; sourceTree = BUILT_PRODUCTS_DIR; };
157166
DB04358F2E6962EA005F0173 /* CLISupportHelper.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = CLISupportHelper.h; sourceTree = "<group>"; };
158167
DB0435902E6962EA005F0173 /* CLISupportHelper.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = CLISupportHelper.m; sourceTree = "<group>"; };
@@ -189,6 +198,8 @@
189198
DB5385692083622A004BFC84 /* NSURL+URL.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSURL+URL.m"; sourceTree = "<group>"; };
190199
DB53856C20838913004BFC84 /* DragDropView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = DragDropView.h; sourceTree = "<group>"; };
191200
DB53856D20838913004BFC84 /* DragDropView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DragDropView.m; sourceTree = "<group>"; };
201+
DB5BA11E2FC9C91D00A150BA /* AppBoxTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = AppBoxTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
202+
DB5BA12A2FC9C94E00A150BA /* AppBoxTests.xctestplan */ = {isa = PBXFileReference; lastKnownFileType = text; path = AppBoxTests.xctestplan; sourceTree = "<group>"; };
192203
DB5C5A4D2D00BA9C000C4A20 /* NSException+Description.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSException+Description.h"; sourceTree = "<group>"; };
193204
DB5C5A4E2D00BA9C000C4A20 /* NSException+Description.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSException+Description.m"; sourceTree = "<group>"; };
194205
DB6F784E215D459A00C77966 /* AppBoxColors.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = AppBoxColors.xcassets; sourceTree = "<group>"; };
@@ -292,7 +303,7 @@
292303
/* End PBXFileReference section */
293304

294305
/* Begin PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet section */
295-
DB04358D2E696299005F0173 /* Exceptions for "AppBoxCLI" folder in "" build phase */ = {
306+
DB04358D2E696299005F0173 /* Exceptions for "AppBoxCLI" folder in "Copy Files" phase from "AppBox" target */ = {
296307
isa = PBXFileSystemSynchronizedGroupBuildPhaseMembershipExceptionSet;
297308
buildPhase = DB04357E2E696172005F0173 /* CopyFiles */;
298309
membershipExceptions = (
@@ -307,7 +318,7 @@
307318
DB0435842E696255005F0173 /* AppBoxCLI */ = {
308319
isa = PBXFileSystemSynchronizedRootGroup;
309320
exceptions = (
310-
DB04358D2E696299005F0173 /* Exceptions for "AppBoxCLI" folder in "" build phase */,
321+
DB04358D2E696299005F0173 /* Exceptions for "AppBoxCLI" folder in "Copy Files" phase from "AppBox" target */,
311322
);
312323
path = AppBoxCLI;
313324
sourceTree = "<group>";
@@ -361,9 +372,14 @@
361372
AECBA8D5D0C166DA17FF6ED0 /* AppBoxTests */ = {
362373
isa = PBXGroup;
363374
children = (
364-
49339F0F4810664BDDE096F8 /* AppBoxTests.swift */,
375+
DB5BA12A2FC9C94E00A150BA /* AppBoxTests.xctestplan */,
376+
3E65C0AF09D32F39F4259167 /* IPAUploadInfoTests.m */,
377+
30509E5843B9CCEA2AFB2874 /* NSStringTests.m */,
378+
BA16F2A781DF1BAB101AACAE /* NSURLTests.m */,
379+
7E5177E6B8643457D0035658 /* NSDateTests.m */,
380+
B386EED60B876CEE11BBF89B /* NSExceptionTests.m */,
381+
544B2D28AEC66102492FA05E /* CommonTests.m */,
365382
);
366-
name = AppBoxTests;
367383
path = AppBoxTests;
368384
sourceTree = "<group>";
369385
};
@@ -592,6 +608,7 @@
592608
children = (
593609
E16437CF1D743A4E00CE8B7E /* AppBox.app */,
594610
DB0435832E696255005F0173 /* appboxcli */,
611+
DB5BA11E2FC9C91D00A150BA /* AppBoxTests.xctest */,
595612
);
596613
name = Products;
597614
sourceTree = "<group>";
@@ -936,7 +953,7 @@
936953
);
937954
name = AppBoxTests;
938955
productName = AppBoxTests;
939-
productReference = 410508CD3AC54858C78C571E /* AppBoxTests.xctest */;
956+
productReference = DB5BA11E2FC9C91D00A150BA /* AppBoxTests.xctest */;
940957
productType = "com.apple.product-type.bundle.unit-test";
941958
};
942959
DB0435822E696255005F0173 /* AppBoxCLI */ = {
@@ -1072,7 +1089,12 @@
10721089
isa = PBXSourcesBuildPhase;
10731090
buildActionMask = 2147483647;
10741091
files = (
1075-
CE169D69B9BA8383673CB6A6 /* AppBoxTests.swift in Sources */,
1092+
5D20E6B57EA90CA7D6EA21F7 /* IPAUploadInfoTests.m in Sources */,
1093+
0D4C02332FC22A63EFF72F8D /* NSStringTests.m in Sources */,
1094+
7288A761B4712E54C04CE3CA /* NSURLTests.m in Sources */,
1095+
E6BF0C7BDA3380B61FA14F6C /* NSDateTests.m in Sources */,
1096+
407C8032774422D6217359B9 /* NSExceptionTests.m in Sources */,
1097+
D9E5B24A6827FC5AD68D29D0 /* CommonTests.m in Sources */,
10761098
);
10771099
runOnlyForDeploymentPostprocessing = 0;
10781100
};
@@ -1165,33 +1187,61 @@
11651187
isa = XCBuildConfiguration;
11661188
buildSettings = {
11671189
BUNDLE_LOADER = "$(TEST_HOST)";
1190+
CODE_SIGN_IDENTITY = "Apple Development";
11681191
CODE_SIGN_STYLE = Automatic;
11691192
DEAD_CODE_STRIPPING = YES;
1193+
DEVELOPMENT_TEAM = 3PQ7E4L589;
1194+
FRAMEWORK_SEARCH_PATHS = (
1195+
"$(inherited)",
1196+
"$(PROJECT_DIR)/**",
1197+
"$(PROJECT_DIR)/Frameworks",
1198+
);
1199+
GCC_PRECOMPILE_PREFIX_HEADER = YES;
1200+
GCC_PREFIX_HEADER = AppBox/AppBoxPrefixHeader.pch;
11701201
GENERATE_INFOPLIST_FILE = YES;
1202+
HEADER_SEARCH_PATHS = (
1203+
"$(inherited)",
1204+
"$(PROJECT_DIR)/AppBox/**",
1205+
"$(PROJECT_DIR)/Frameworks/**",
1206+
);
11711207
MACOSX_DEPLOYMENT_TARGET = 12.4;
11721208
PRODUCT_BUNDLE_IDENTIFIER = com.developerinsider.AppBoxTests;
11731209
PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
11741210
PRODUCT_NAME = "$(TARGET_NAME)";
11751211
SDKROOT = macosx;
1176-
SWIFT_VERSION = 5.0;
11771212
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AppBox.app/Contents/MacOS/AppBox";
1213+
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)";
11781214
};
11791215
name = Release;
11801216
};
11811217
8F55BF9DC84A2B7F66AE5AA2 /* Debug */ = {
11821218
isa = XCBuildConfiguration;
11831219
buildSettings = {
11841220
BUNDLE_LOADER = "$(TEST_HOST)";
1221+
CODE_SIGN_IDENTITY = "Apple Development";
11851222
CODE_SIGN_STYLE = Automatic;
11861223
DEAD_CODE_STRIPPING = YES;
1224+
DEVELOPMENT_TEAM = 3PQ7E4L589;
1225+
FRAMEWORK_SEARCH_PATHS = (
1226+
"$(inherited)",
1227+
"$(PROJECT_DIR)/**",
1228+
"$(PROJECT_DIR)/Frameworks",
1229+
);
1230+
GCC_PRECOMPILE_PREFIX_HEADER = YES;
1231+
GCC_PREFIX_HEADER = AppBox/AppBoxPrefixHeader.pch;
11871232
GENERATE_INFOPLIST_FILE = YES;
1233+
HEADER_SEARCH_PATHS = (
1234+
"$(inherited)",
1235+
"$(PROJECT_DIR)/AppBox/**",
1236+
"$(PROJECT_DIR)/Frameworks/**",
1237+
);
11881238
MACOSX_DEPLOYMENT_TARGET = 12.4;
11891239
PRODUCT_BUNDLE_IDENTIFIER = com.developerinsider.AppBoxTests;
11901240
PRODUCT_MODULE_NAME = "$(TARGET_NAME:c99extidentifier)";
11911241
PRODUCT_NAME = "$(TARGET_NAME)";
11921242
SDKROOT = macosx;
1193-
SWIFT_VERSION = 5.0;
11941243
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/AppBox.app/Contents/MacOS/AppBox";
1244+
USER_HEADER_SEARCH_PATHS = "$(PROJECT_DIR)";
11951245
};
11961246
name = Debug;
11971247
};

AppBox.xcodeproj/xcshareddata/xcschemes/AppBox.xcscheme

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<?xml version="1.0" encoding="UTF-8"?>
22
<Scheme
33
LastUpgradeVersion = "1600"
4-
version = "1.7">
4+
version = "1.3">
55
<BuildAction
66
parallelizeBuildables = "YES"
77
buildImplicitDependencies = "YES">
Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,61 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<Scheme
3+
LastUpgradeVersion = "2650"
4+
version = "1.7">
5+
<BuildAction
6+
parallelizeBuildables = "YES"
7+
buildImplicitDependencies = "YES"
8+
buildArchitectures = "Automatic">
9+
</BuildAction>
10+
<TestAction
11+
buildConfiguration = "Debug"
12+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
13+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
14+
shouldUseLaunchSchemeArgsEnv = "YES">
15+
<TestPlans>
16+
<TestPlanReference
17+
reference = "container:AppBoxTests/AppBoxTests.xctestplan"
18+
default = "YES">
19+
</TestPlanReference>
20+
</TestPlans>
21+
<Testables>
22+
<TestableReference
23+
skipped = "NO"
24+
parallelizable = "YES">
25+
<BuildableReference
26+
BuildableIdentifier = "primary"
27+
BlueprintIdentifier = "367F0DC24506E92D3530690B"
28+
BuildableName = "AppBoxTests.xctest"
29+
BlueprintName = "AppBoxTests"
30+
ReferencedContainer = "container:AppBox.xcodeproj">
31+
</BuildableReference>
32+
</TestableReference>
33+
</Testables>
34+
</TestAction>
35+
<LaunchAction
36+
buildConfiguration = "Debug"
37+
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
38+
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
39+
launchStyle = "0"
40+
useCustomWorkingDirectory = "NO"
41+
ignoresPersistentStateOnLaunch = "NO"
42+
debugDocumentVersioning = "YES"
43+
debugServiceExtension = "internal"
44+
allowLocationSimulation = "YES"
45+
queueDebuggingEnableBacktraceRecording = "Yes">
46+
</LaunchAction>
47+
<ProfileAction
48+
buildConfiguration = "Release"
49+
shouldUseLaunchSchemeArgsEnv = "YES"
50+
savedToolIdentifier = ""
51+
useCustomWorkingDirectory = "NO"
52+
debugDocumentVersioning = "YES">
53+
</ProfileAction>
54+
<AnalyzeAction
55+
buildConfiguration = "Debug">
56+
</AnalyzeAction>
57+
<ArchiveAction
58+
buildConfiguration = "Release"
59+
revealArchiveInOrganizer = "YES">
60+
</ArchiveAction>
61+
</Scheme>

AppBoxTests/AppBoxTests.swift

Lines changed: 0 additions & 7 deletions
This file was deleted.

AppBoxTests/AppBoxTests.xctestplan

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
{
2+
"configurations" : [
3+
{
4+
"id" : "AB1C7CD1-7F99-468E-87A1-0D81FAE3DF2C",
5+
"name" : "Test Scheme Action",
6+
"options" : {
7+
8+
}
9+
}
10+
],
11+
"defaultOptions" : {
12+
"performanceAntipatternCheckerEnabled" : true
13+
},
14+
"testTargets" : [
15+
{
16+
"parallelizable" : true,
17+
"target" : {
18+
"containerPath" : "container:AppBox.xcodeproj",
19+
"identifier" : "367F0DC24506E92D3530690B",
20+
"name" : "AppBoxTests"
21+
}
22+
}
23+
],
24+
"version" : 1
25+
}

0 commit comments

Comments
 (0)