diff --git a/BPSampleApp/BPSampleApp.xcodeproj/project.pbxproj b/BPSampleApp/BPSampleApp.xcodeproj/project.pbxproj index d52b84f1..882c848c 100644 --- a/BPSampleApp/BPSampleApp.xcodeproj/project.pbxproj +++ b/BPSampleApp/BPSampleApp.xcodeproj/project.pbxproj @@ -21,6 +21,7 @@ BAB24F4C1DB5D45E00867756 /* BPSampleAppTests.m in Sources */ = {isa = PBXBuildFile; fileRef = BAB24F4B1DB5D45E00867756 /* BPSampleAppTests.m */; }; BAB24F5D1DB5D83C00867756 /* BPAppNegativeTests.m in Sources */ = {isa = PBXBuildFile; fileRef = BAB24F5C1DB5D83C00867756 /* BPAppNegativeTests.m */; }; BAFCCA601E36DC2000E33C31 /* BPSampleAppUITests.m in Sources */ = {isa = PBXBuildFile; fileRef = BAFCCA5F1E36DC2000E33C31 /* BPSampleAppUITests.m */; }; + E492360122EF61F300395D98 /* BPSampleAppMoarTests.m in Sources */ = {isa = PBXBuildFile; fileRef = E492360022EF61F300395D98 /* BPSampleAppMoarTests.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ @@ -101,6 +102,7 @@ BAFCCA5D1E36DC2000E33C31 /* BPSampleAppUITests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = BPSampleAppUITests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; BAFCCA5F1E36DC2000E33C31 /* BPSampleAppUITests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BPSampleAppUITests.m; sourceTree = ""; }; BAFCCA611E36DC2000E33C31 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; + E492360022EF61F300395D98 /* BPSampleAppMoarTests.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BPSampleAppMoarTests.m; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -240,6 +242,7 @@ BAB24F4A1DB5D45E00867756 /* BPSampleAppTests */ = { isa = PBXGroup; children = ( + E492360022EF61F300395D98 /* BPSampleAppMoarTests.m */, BAB24F4B1DB5D45E00867756 /* BPSampleAppTests.m */, BAB24F4D1DB5D45E00867756 /* Info.plist */, 32FEEBBC2012B93D005916EF /* BPSampleAppSwiftTests.swift */, @@ -567,6 +570,7 @@ buildActionMask = 2147483647; files = ( BAB24F4C1DB5D45E00867756 /* BPSampleAppTests.m in Sources */, + E492360122EF61F300395D98 /* BPSampleAppMoarTests.m in Sources */, 32FEEBBD2012B93D005916EF /* BPSampleAppSwiftTests.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; diff --git a/BPSampleApp/BPSampleAppTests/BPSampleAppMoarTests.m b/BPSampleApp/BPSampleAppTests/BPSampleAppMoarTests.m new file mode 100644 index 00000000..c306e076 --- /dev/null +++ b/BPSampleApp/BPSampleAppTests/BPSampleAppMoarTests.m @@ -0,0 +1,35 @@ +// +// BPSampleAppMoarTests.m +// BPSampleAppTests +// +// Created by Ravi K. Mandala on 7/29/19. +// Copyright © 2019 LinkedIn. All rights reserved. +// + +#import + +@interface BPSampleAppMoarTests : XCTestCase + +@end + + +@implementation BPSampleAppMoarTests + +- (void)setUp { + [super setUp]; + // Put setup code here. This method is called before the invocation of each test method in the class. + +} + +- (void)tearDown { + // Put teardown code here. This method is called after the invocation of each test method in the class. + [super tearDown]; +} + +- (void)testCase000 { XCTAssert(YES);} +- (void)testCase001 { XCTAssert(YES);} +- (void)testCase002 { XCTAssert(YES);} +- (void)testCase003 { XCTAssert(YES);} +- (void)testCase004 { XCTAssert(YES);} + +@end diff --git a/Bluepill-cli/BPInstanceTests/BPTestHelper.h b/Bluepill-cli/BPInstanceTests/BPTestHelper.h index 2f4c33ed..3b1f1200 100644 --- a/Bluepill-cli/BPInstanceTests/BPTestHelper.h +++ b/Bluepill-cli/BPInstanceTests/BPTestHelper.h @@ -50,6 +50,9 @@ // Return path to the sample video file. + (NSString *)sampleVideoPath; +// Return path to the sample times json file. ++ (NSString *)sampleTimesJsonPath; + // Return the sample photo path. + (NSString *)samplePhotoPath; diff --git a/Bluepill-cli/BPInstanceTests/BPTestHelper.m b/Bluepill-cli/BPInstanceTests/BPTestHelper.m index 037042d8..2fdeb95a 100644 --- a/Bluepill-cli/BPInstanceTests/BPTestHelper.m +++ b/Bluepill-cli/BPInstanceTests/BPTestHelper.m @@ -60,6 +60,10 @@ + (NSString *)sampleVideoPath { return [[[NSBundle bundleForClass:[self class]] resourcePath] stringByAppendingPathComponent:@"demo.mov"]; } ++ (NSString *)sampleTimesJsonPath { + return [[[NSBundle bundleForClass:[self class]] resourcePath] stringByAppendingPathComponent:@"times.json"]; +} + + (NSString *)samplePhotoPath { return [[[NSBundle bundleForClass:[self class]] resourcePath] stringByAppendingPathComponent:@"image.png"]; } diff --git a/Bluepill-runner/BluepillRunnerTests/BPPackerTests.m b/Bluepill-runner/BluepillRunnerTests/BPPackerTests.m index 9e18e0cb..d02f0195 100644 --- a/Bluepill-runner/BluepillRunnerTests/BPPackerTests.m +++ b/Bluepill-runner/BluepillRunnerTests/BPPackerTests.m @@ -85,6 +85,51 @@ - (void)testPackingProvidesBalancedBundles { } } +- (void)testSmartPackIfJsonFound { + self.config.testTimeEstimatesJsonFile = [BPTestHelper sampleTimesJsonPath]; + self.config.testBundlePath = [BPTestHelper sampleAppBalancingTestsBundlePath]; + self.config.testCasesToSkip = @[@"BPSampleAppTests/testCase000"]; + self.config.numSims = @8; + BPApp *app = [BPApp appWithConfig:self.config withError:nil]; + XCTAssert(app != nil); + NSArray *bundles; + NSError *error; + bundles = [BPPacker packTests:app.testBundles configuration:self.config andError:&error]; + XCTAssert(error == nil); + XCTAssert([app.testBundles count] == [bundles count]); +} + +- (void)testSmartPackIfJsonMissing { + self.config.testTimeEstimatesJsonFile = @"invalid/times/file/path.json"; + self.config.testBundlePath = [BPTestHelper sampleAppBalancingTestsBundlePath]; + self.config.testCasesToSkip = @[@"BPSampleAppTests/testCase000"]; + self.config.numSims = @8; + BPApp *app = [BPApp appWithConfig:self.config withError:nil]; + XCTAssert(app != nil); + NSArray *bundles; + NSError *error; + bundles = [BPPacker packTests:app.testBundles configuration:self.config andError:&error]; + XCTAssert(error != nil); + XCTAssert([bundles count] == 0); +} + +- (void)testSortByTimeEstimates { + self.config.testTimeEstimatesJsonFile = [BPTestHelper sampleTimesJsonPath]; + self.config.testBundlePath = nil; + BPApp *app = [BPApp appWithConfig:self.config withError:nil]; + XCTAssert(app != nil); + XCTAssert([app.testBundles count] == 5); + // Make sure we don't split when we don't want to + self.config.numSims = @4; + NSArray *bundles = [BPPacker packTests:app.testBundles configuration:self.config andError:nil]; + XCTAssert([bundles count] == [app.testBundles count]); + XCTAssert([[[bundles objectAtIndex:0] name] isEqualToString:@"BPSampleAppTests"]); + XCTAssert([[[bundles objectAtIndex:1] name] isEqualToString:@"BPSampleAppHangingTests"]); + XCTAssert([[[bundles objectAtIndex:2] name] isEqualToString:@"BPSampleAppCrashingTests"]); + XCTAssert([[[bundles objectAtIndex:3] name] isEqualToString:@"BPAppNegativeTests"]); + XCTAssert([[[bundles objectAtIndex:4] name] isEqualToString:@"BPSampleAppFatalErrorTests"]); +} + - (void)testPacking { NSArray *want, *got; NSArray *allTests; @@ -139,10 +184,10 @@ - (void)testPacking { XCTAssertEqual([bundles[1].skipTestIdentifiers count], 0); XCTAssertEqual([bundles[2].skipTestIdentifiers count], 0); XCTAssertEqual([bundles[3].skipTestIdentifiers count], 0); - XCTAssertEqual([bundles[4].skipTestIdentifiers count], 149); - XCTAssertEqual([bundles[5].skipTestIdentifiers count], 149); - XCTAssertEqual([bundles[6].skipTestIdentifiers count], 149); - XCTAssertEqual([bundles[7].skipTestIdentifiers count], 159); + XCTAssertEqual([bundles[4].skipTestIdentifiers count], 152); + XCTAssertEqual([bundles[5].skipTestIdentifiers count], 152); + XCTAssertEqual([bundles[6].skipTestIdentifiers count], 152); + XCTAssertEqual([bundles[7].skipTestIdentifiers count], 165); self.config.numSims = @1; bundles = [BPPacker packTests:app.testBundles configuration:self.config andError:nil]; @@ -156,21 +201,21 @@ - (void)testPacking { XCTAssertEqual([bundles[1].skipTestIdentifiers count], 0); XCTAssertEqual([bundles[2].skipTestIdentifiers count], 0); XCTAssertEqual([bundles[3].skipTestIdentifiers count], 0); - XCTAssertEqual([bundles[4].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[5].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[6].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[7].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[8].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[9].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[10].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[11].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[12].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[13].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[14].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[15].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[16].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[17].skipTestIdentifiers count], 189); - XCTAssertEqual([bundles[18].skipTestIdentifiers count], 189); + XCTAssertEqual([bundles[4].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[5].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[6].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[7].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[8].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[9].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[10].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[11].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[12].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[13].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[14].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[15].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[16].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[17].skipTestIdentifiers count], 194); + XCTAssertEqual([bundles[18].skipTestIdentifiers count], 194); XCTAssertEqual([bundles[19].skipTestIdentifiers count], 195); NSMutableArray *toRun = [[NSMutableArray alloc] init]; @@ -183,7 +228,7 @@ - (void)testPacking { XCTAssertEqual(bundles.count, 4); for (BPXCTestFile *bundle in bundles) { - XCTAssertEqual(bundle.skipTestIdentifiers.count, 197); + XCTAssertEqual(bundle.skipTestIdentifiers.count, 202); } } @@ -198,7 +243,6 @@ - (void)testPackingWithTestsToSkip { for (BPXCTestFile *bundle in bundles) { XCTAssertTrue([bundle.skipTestIdentifiers containsObject:@"BPSampleAppTests/testCase000"], @"testCase000 should be in testToSkip for all bundles"); } - } @end diff --git a/Bluepill-runner/BluepillRunnerTests/Resource Files/times.json b/Bluepill-runner/BluepillRunnerTests/Resource Files/times.json new file mode 100644 index 00000000..b2be08cc --- /dev/null +++ b/Bluepill-runner/BluepillRunnerTests/Resource Files/times.json @@ -0,0 +1,222 @@ +{ + "BPSampleAppHangingTests/testAppHanging": 0.02, + "BPSampleAppTests/testCase021": 0.02, + "BPSampleAppTests/testCase086": 0.02, + "BPSampleAppTests/testCase104": 0.02, + "BPSampleAppTests/testCase169": 0.02, + "BPSampleAppTests/testCase194": 0.02, + "BPSampleAppTests/testCase045": 0.02, + "BPSampleAppTests/testCase070": 0.02, + "BPSampleAppTests/testCase128": 0.02, + "BPSampleAppTests/testCase153": 0.02, + "BPSampleAppTests/testCase004": 0.02, + "BPSampleAppTests/testCase069": 0.02, + "BPSampleAppTests/testCase094": 0.02, + "BPSampleAppTests/testCase112": 0.02, + "BPSampleAppTests/testCase177": 0.02, + "BPSampleAppTests/testCase028": 0.02, + "BPSampleAppTests/testCase053": 0.02, + "BPSampleAppTests/testCase136": 0.02, + "BPSampleAppTests/testCase161": 0.02, + "BPSampleAppTests/testCase012": 0.02, + "BPSampleAppTests/testCase077": 0.02, + "BPSampleAppTests/testCase120": 0.02, + "BPSampleAppTests/testCase185": 0.02, + "BPSampleAppTests/testCase036": 0.02, + "BPSampleAppTests/testCase061": 0.02, + "BPSampleAppTests/testCase119": 0.02, + "BPSampleAppSwiftTests/testZPass": 0.02, + "BPSampleAppTests/testCase144": 0.02, + "BPSampleAppMoarTests/testCase000": 0.02, + "BPSampleAppTests/testCase020": 0.02, + "BPSampleAppMoarTests/testCase001": 0.02, + "BPSampleAppTests/testCase085": 0.02, + "BPSampleAppMoarTests/testCase002": 0.02, + "BPSampleAppTests/testCase103": 0.02, + "BPSampleAppMoarTests/testCase003": 0.02, + "BPSampleAppTests/testCase168": 0.02, + "BPSampleAppMoarTests/testCase004": 0.02, + "BPSampleAppTests/testCase019": 0.02, + "BPSampleAppTests/testCase044": 0.02, + "BPSampleAppTests/testCase193": 0.02, + "BPSampleAppTests/testCase127": 0.02, + "BPSampleAppTests/testCase152": 0.02, + "BPSampleAppTests/testCase003": 0.02, + "BPSampleAppTests/testCase068": 0.02, + "BPSampleAppTests/testCase093": 0.02, + "BPSampleAppTests/testCase111": 0.02, + "BPSampleAppTests/testCase176": 0.02, + "BPSampleAppTests/testCase027": 0.02, + "BPSampleAppTests/testCase052": 0.02, + "BPSampleAppTests/testCase135": 0.02, + "BPSampleAppTests/testCase160": 0.02, + "BPSampleAppTests/testCase011": 0.02, + "BPSampleAppTests/testCase076": 0.02, + "BPSampleAppTests/testCase159": 0.02, + "BPSampleAppTests/testCase184": 0.02, + "BPSampleAppTests/testCase035": 0.02, + "BPSampleAppTests/testCase060": 0.02, + "BPSampleAppTests/testCase118": 0.02, + "BPSampleAppTests/testCase143": 0.02, + "BPSampleAppTests/testCase059": 0.02, + "BPSampleAppTests/testCase084": 0.02, + "BPSampleAppTests/testCase102": 0.02, + "BPSampleAppTests/testCase167": 0.02, + "BPSampleAppTests/testCase192": 0.02, + "BPSampleAppTests/testCase018": 0.02, + "BPSampleAppTests/testCase043": 0.02, + "BPSampleAppTests/testCase126": 0.02, + "BPSampleAppTests/testCase151": 0.02, + "BPSampleAppTests/testCase002": 0.02, + "BPSampleAppTests/testCase067": 0.02, + "BPSampleAppTests/testCase092": 0.02, + "BPSampleAppTests/testCase110": 0.02, + "BPSampleAppTests/testCase175": 0.02, + "BPSampleAppTests/testCase026": 0.02, + "BPSampleAppTests/testCase051": 0.02, + "BPSampleAppTests/testCase109": 0.02, + "BPSampleAppTests/testCase134": 0.02, + "BPSampleAppTests/testCase199": 0.02, + "BPSampleAppTests/testCase010": 0.02, + "BPSampleAppTests/testCase075": 0.02, + "BPSampleAppTests/testCase158": 0.02, + "BPSampleAppTests/testCase183": 0.02, + "BPSampleAppTests/testCase009": 0.02, + "BPSampleAppTests/testCase034": 0.02, + "BPSampleAppTests/testCase099": 0.02, + "BPSampleAppTests/testCase117": 0.02, + "BPSampleAppTests/testCase142": 0.02, + "BPSampleAppTests/testCase058": 0.02, + "BPSampleAppTests/testCase083": 0.02, + "BPSampleAppTests/testCase101": 0.02, + "BPSampleAppTests/testCase166": 0.02, + "BPSampleAppTests/testCase191": 0.02, + "BPSampleAppTests/testCase017": 0.02, + "BPSampleAppTests/testCase042": 0.02, + "BPSampleAppTests/testCase125": 0.02, + "BPSampleAppTests/testCase150": 0.02, + "BPSampleAppTests/testCase001": 0.02, + "BPSampleAppTests/testCase066": 0.02, + "BPSampleAppTests/testCase091": 0.02, + "BPSampleAppTests/testCase149": 0.02, + "BPSampleAppTests/testCase174": 0.02, + "BPSampleAppTests/testCase025": 0.02, + "BPSampleAppTests/testCase050": 0.02, + "BPSampleAppTests/testCase108": 0.02, + "BPSampleAppTests/testCase133": 0.02, + "BPSampleAppTests/testCase198": 0.02, + "BPSampleAppTests/testCase049": 0.02, + "BPSampleAppTests/testCase074": 0.02, + "BPSampleAppTests/testCase157": 0.02, + "BPSampleAppTests/testCase182": 0.02, + "BPSampleAppTests/testCase200": 0.02, + "BPSampleAppTests/testCase008": 0.02, + "BPSampleAppTests/testCase033": 0.02, + "BPSampleAppTests/testCase098": 0.02, + "BPSampleAppTests/testCase116": 0.02, + "BPSampleAppTests/testCase141": 0.02, + "BPSampleAppTests/testCase057": 0.02, + "BPSampleAppTests/testCase082": 0.02, + "BPSampleAppTests/testCase100": 0.02, + "BPSampleAppTests/testCase165": 0.02, + "BPSampleAppTests/testCase190": 0.02, + "BPSampleAppTests/testCase016": 0.02, + "BPSampleAppTests/testCase041": 0.02, + "BPSampleAppTests/testCase124": 0.02, + "BPSampleAppTests/testCase189": 0.02, + "BPSampleAppTests/testCase000": 0.02, + "BPSampleAppTests/testCase065": 0.02, + "BPSampleAppTests/testCase090": 0.02, + "BPSampleAppTests/testCase148": 0.02, + "BPSampleAppTests/testCase173": 0.02, + "BPSampleAppTests/testCase024": 0.02, + "BPSampleAppTests/testCase089": 0.02, + "BPSampleAppTests/testCase107": 0.02, + "BPSampleAppTests/testCase132": 0.02, + "BPSampleAppTests/testCase197": 0.02, + "BPSampleAppTests/testCase048": 0.02, + "BPSampleAppTests/testCase073": 0.02, + "BPSampleAppTests/testCase156": 0.02, + "BPSampleAppTests/testCase181": 0.02, + "BPSampleAppTests/testCase007": 0.02, + "BPSampleAppTests/testCase032": 0.02, + "BPSampleAppTests/testCase097": 0.02, + "BPSampleAppTests/testCase115": 0.02, + "BPSampleAppTests/testCase140": 0.02, + "BPSampleAppTests/testCase056": 0.02, + "BPSampleAppTests/testCase081": 0.02, + "BPSampleAppTests/testCase139": 0.02, + "BPSampleAppTests/testCase164": 0.02, + "BPSampleAppTests/testCase015": 0.02, + "BPSampleAppTests/testCase040": 0.02, + "BPSampleAppTests/testCase123": 0.02, + "BPSampleAppTests/testCase188": 0.02, + "BPSampleAppTests/testCase039": 0.02, + "BPSampleAppTests/testCase064": 0.02, + "BPSampleAppTests/testCase147": 0.02, + "BPSampleAppTests/testCase172": 0.02, + "BPSampleAppTests/testCase023": 0.02, + "BPSampleAppTests/testCase088": 0.02, + "BPSampleAppTests/testCase106": 0.02, + "BPSampleAppTests/testCase131": 0.02, + "BPSampleAppTests/testCase196": 0.02, + "BPSampleAppTests/testCase047": 0.02, + "BPSampleAppTests/testCase072": 0.02, + "BPSampleAppTests/testCase155": 0.02, + "BPSampleAppTests/testCase180": 0.02, + "BPSampleAppTests/testCase006": 0.02, + "BPSampleAppTests/testCase031": 0.02, + "BPSampleAppTests/testCase096": 0.02, + "BPSampleAppTests/testCase114": 0.02, + "BPSampleAppTests/testCase179": 0.02, + "BPSampleAppTests/testCase055": 0.02, + "BPSampleAppTests/testCase080": 0.02, + "BPSampleAppTests/testCase138": 0.02, + "BPSampleAppTests/testCase163": 0.02, + "BPSampleAppTests/testCase014": 0.02, + "BPSampleAppTests/testCase079": 0.02, + "BPSampleAppTests/testCase122": 0.02, + "BPSampleAppTests/testCase187": 0.02, + "BPSampleAppTests/testCase038": 0.02, + "BPSampleAppTests/testCase063": 0.02, + "BPSampleAppTests/testCase146": 0.02, + "BPSampleAppTests/testCase171": 0.02, + "BPSampleAppTests/testCase022": 0.02, + "BPSampleAppTests/testCase087": 0.02, + "BPSampleAppTests/testCase105": 0.02, + "BPSampleAppTests/testCase130": 0.02, + "BPSampleAppTests/testCase195": 0.02, + "BPSampleAppTests/testCase046": 0.02, + "BPSampleAppTests/testCase071": 0.02, + "BPSampleAppTests/testCase129": 0.02, + "BPSampleAppTests/testCase154": 0.02, + "BPSampleAppTests/testCase005": 0.02, + "BPSampleAppTests/testCase030": 0.02, + "BPSampleAppTests/testCase095": 0.02, + "BPSampleAppTests/testCase113": 0.02, + "BPSampleAppTests/testCase178": 0.02, + "BPSampleAppTests/testCase029": 0.02, + "BPSampleAppTests/testCase054": 0.02, + "BPSampleAppTests/testCase137": 0.02, + "BPSampleAppTests/testCase162": 0.02, + "BPSampleAppTests/testCase013": 0.02, + "BPSampleAppTests/testCase078": 0.02, + "BPSampleAppTests/testCase121": 0.02, + "BPSampleAppTests/testCase186": 0.02, + "BPSampleAppTests/testCase037": 0.02, + "BPSampleAppTests/testCase062": 0.02, + "BPSampleAppTests/testCase145": 0.02, + "BPSampleAppTests/testCase170": 0.02, + "BPSampleAppCrashingTests/testAppCrash1": 0.02, + "BPSampleAppCrashingTests/testAppCrash0": 0.02, + "BPSampleAppCrashingTests/testAppCrash2": 0.02, + "BPAppNegativeTests/testRaiseException": 0.02, + "BPAppNegativeTests/testAssertFailure": 0.02, + "BPAppNegativeTests/testAssertTrue": 0.02, + "BPAppNegativeTests/testBPDoesNotHangWithBigOutput": 0.02, + "BPSampleAppSwiftFatalErrorTests/testZPass": 0.02, + "BPSampleAppFatalErrorTests/testCZ": 0.02, + "BPSampleAppFatalErrorTests/test0": 0.02, + "BPSampleAppSwiftFatalErrorTests/testForceUnwrap": 0.02, + "BPSampleAppFatalErrorTests/testCrashAppError": 0.02 +} diff --git a/Bluepill-runner/bluepill.xcodeproj/project.pbxproj b/Bluepill-runner/bluepill.xcodeproj/project.pbxproj index ed9b6626..073fdd95 100644 --- a/Bluepill-runner/bluepill.xcodeproj/project.pbxproj +++ b/Bluepill-runner/bluepill.xcodeproj/project.pbxproj @@ -32,6 +32,7 @@ C49EEB84225570EC002CC956 /* result4.xml in Resources */ = {isa = PBXBuildFile; fileRef = C49EEB83225570EC002CC956 /* result4.xml */; }; C4C614A421814C5C008A2C39 /* BPTestHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = C4C614A321814C5C008A2C39 /* BPTestHelper.m */; }; C4FD8C581DB6E09B000ED28C /* BPPacker.m in Sources */ = {isa = PBXBuildFile; fileRef = C4FD8C571DB6E09B000ED28C /* BPPacker.m */; }; + E49235FF22EA847700395D98 /* times.json in Resources */ = {isa = PBXBuildFile; fileRef = E49235FE22EA847700395D98 /* times.json */; }; /* End PBXBuildFile section */ /* Begin PBXFileReference section */ @@ -66,6 +67,7 @@ C4C614A321814C5C008A2C39 /* BPTestHelper.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = BPTestHelper.m; path = "../../Bluepill-cli/BPInstanceTests/BPTestHelper.m"; sourceTree = ""; }; C4FD8C561DB6E09B000ED28C /* BPPacker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BPPacker.h; sourceTree = ""; }; C4FD8C571DB6E09B000ED28C /* BPPacker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BPPacker.m; sourceTree = ""; }; + E49235FE22EA847700395D98 /* times.json */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.json; path = times.json; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ @@ -144,6 +146,7 @@ BA9C2DAD1DD674AD007CB967 /* Resource Files */ = { isa = PBXGroup; children = ( + E49235FE22EA847700395D98 /* times.json */, BA9C2DB01DD67B66007CB967 /* testScheme.xcscheme */, BA9C2DAE1DD674AD007CB967 /* BPSampleAppTests.xctest */, ); @@ -294,6 +297,7 @@ BA70318A1DE4ED2F008B3539 /* result3.xml in Resources */, BA7031881DE4ED2F008B3539 /* result1.xml in Resources */, BA9C2DAF1DD674AD007CB967 /* BPSampleAppTests.xctest in Resources */, + E49235FF22EA847700395D98 /* times.json in Resources */, BA7031891DE4ED2F008B3539 /* result2.xml in Resources */, ); runOnlyForDeploymentPostprocessing = 0;