question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Xcode 11.4 beta (11N111s) XCTestCase does not have internalImplementation

See original GitHub issue

The problem

Xcode 11.4 beta (11N111s) XCTestCase does not have internalImplementation

it will crash at runtime (_XCTestCaseImplementation *)[FBXCTestCaseImplementationFailureHoldingProxy proxyWithXCTestCaseImplementation:self.internalImplementation];

I use objc runtime log all method of XCTestCase, did no have internalImplementation found

  unsigned int count = 0;
  Method *list = class_copyMethodList(XCTestCase.class, &count);
  for (unsigned int i = 0; i < count; i++) {
    struct objc_method_description *des = method_getDescription(list[i]);
    SEL sel = des->name;
    NSLog(@"%@", NSStringFromSelector(sel));
  }
2020-02-17 12:07:01.478802+0800 WebDriverAgentRunner-Runner[68633:654356] waitForExpectations:timeout:
2020-02-17 12:07:01.478897+0800 WebDriverAgentRunner-Runner[68633:654356] startActivityWithTitle:block:
2020-02-17 12:07:01.478966+0800 WebDriverAgentRunner-Runner[68633:654356] addUIInterruptionMonitorWithDescription:handler:
2020-02-17 12:07:01.479037+0800 WebDriverAgentRunner-Runner[68633:654356] removeUIInterruptionMonitor:
2020-02-17 12:07:01.479148+0800 WebDriverAgentRunner-Runner[68633:654356] _currentWaiter
2020-02-17 12:07:01.479227+0800 WebDriverAgentRunner-Runner[68633:654356] _expectations
2020-02-17 12:07:01.479288+0800 WebDriverAgentRunner-Runner[68633:654356] set_currentWaiter:
2020-02-17 12:07:01.479401+0800 WebDriverAgentRunner-Runner[68633:654356] waitForExpectations:timeout:enforceOrder:
2020-02-17 12:07:01.479546+0800 WebDriverAgentRunner-Runner[68633:654356] _resetExpectations
2020-02-17 12:07:01.479624+0800 WebDriverAgentRunner-Runner[68633:654356] _dequeueFailures
2020-02-17 12:07:01.479687+0800 WebDriverAgentRunner-Runner[68633:654356] _resetExpectationsInArray:
2020-02-17 12:07:01.479755+0800 WebDriverAgentRunner-Runner[68633:654356] _addExpectation:
2020-02-17 12:07:01.479820+0800 WebDriverAgentRunner-Runner[68633:654356] expectationForNotification:object:notificationCenter:handler:
2020-02-17 12:07:01.479929+0800 WebDriverAgentRunner-Runner[68633:654356] _symbolicationRecordForTestCodeInAddressStack:
2020-02-17 12:07:01.480033+0800 WebDriverAgentRunner-Runner[68633:654356] _enqueueFailureWithDescription:inFile:atLine:expected:interruptTest:breakWhenDequeued:
2020-02-17 12:07:01.480131+0800 WebDriverAgentRunner-Runner[68633:654356] keyValueObservingExpectationForObject:keyPath:expectedValue:
2020-02-17 12:07:01.480234+0800 WebDriverAgentRunner-Runner[68633:654356] keyValueObservingExpectationForObject:keyPath:handler:
2020-02-17 12:07:01.480338+0800 WebDriverAgentRunner-Runner[68633:654356] expectationForNotification:object:handler:
2020-02-17 12:07:01.480428+0800 WebDriverAgentRunner-Runner[68633:654356] expectationForPredicate:evaluatedWithObject:handler:
2020-02-17 12:07:01.480524+0800 WebDriverAgentRunner-Runner[68633:654356] waiter:didTimeoutWithUnfulfilledExpectations:
2020-02-17 12:07:01.480647+0800 WebDriverAgentRunner-Runner[68633:654356] waiter:fulfillmentDidViolateOrderingConstraintsForExpectation:requiredExpectation:
2020-02-17 12:07:01.480723+0800 WebDriverAgentRunner-Runner[68633:654356] waiter:didFulfillInvertedExpectation:
2020-02-17 12:07:01.480826+0800 WebDriverAgentRunner-Runner[68633:654356] nestedWaiter:wasInterruptedByTimedOutWaiter:
2020-02-17 12:07:01.480910+0800 WebDriverAgentRunner-Runner[68633:654356] _expectationForDarwinNotification:
2020-02-17 12:07:01.481017+0800 WebDriverAgentRunner-Runner[68633:654356] _expectationForDistributedNotification:object:handler:
2020-02-17 12:07:01.481147+0800 WebDriverAgentRunner-Runner[68633:654356] _recordValues:forPerformanceMetricID:name:unitsOfMeasurement:baselineName:baselineAverage:maxPercentRegression:maxPercentRelativeStandardDeviation:maxRegression:maxStandardDeviation:file:line:
2020-02-17 12:07:01.481342+0800 WebDriverAgentRunner-Runner[68633:654356] activityAggregateStatistics
2020-02-17 12:07:01.481452+0800 WebDriverAgentRunner-Runner[68633:654356] defaultExecutionOrderCompare:
2020-02-17 12:07:01.481586+0800 WebDriverAgentRunner-Runner[68633:654356] _requiredTestRunBaseClass
2020-02-17 12:07:01.481649+0800 WebDriverAgentRunner-Runner[68633:654356] performTest:
2020-02-17 12:07:01.481751+0800 WebDriverAgentRunner-Runner[68633:654356] setContinueAfterFailure:
2020-02-17 12:07:01.481848+0800 WebDriverAgentRunner-Runner[68633:654356] languageAgnosticTestMethodName
2020-02-17 12:07:01.481958+0800 WebDriverAgentRunner-Runner[68633:654356] runLoopNestingCount
2020-02-17 12:07:01.482108+0800 WebDriverAgentRunner-Runner[68633:654356] setShouldHaltWhenReceivesControl:
2020-02-17 12:07:01.482272+0800 WebDriverAgentRunner-Runner[68633:654356] _recordFailureWithDescription:inFile:atLine:expected:
2020-02-17 12:07:01.482362+0800 WebDriverAgentRunner-Runner[68633:654356] startActivityWithTitle:type:block:
2020-02-17 12:07:01.482439+0800 WebDriverAgentRunner-Runner[68633:654356] set_signpostID:
2020-02-17 12:07:01.482504+0800 WebDriverAgentRunner-Runner[68633:654356] registerDefaultMetrics
2020-02-17 12:07:01.482633+0800 WebDriverAgentRunner-Runner[68633:654356] _performSetUpSequenceWithSelector:
2020-02-17 12:07:01.482756+0800 WebDriverAgentRunner-Runner[68633:654356] skippedTestContext
2020-02-17 12:07:01.482913+0800 WebDriverAgentRunner-Runner[68633:654356] _needsErrorHandling
2020-02-17 12:07:01.483036+0800 WebDriverAgentRunner-Runner[68633:654356] _performTurningExceptionsIntoFailuresInterruptAfterHandling:block:
2020-02-17 12:07:01.483157+0800 WebDriverAgentRunner-Runner[68633:654356] _dequeueAndReportBackgroundAttachments
2020-02-17 12:07:01.483399+0800 WebDriverAgentRunner-Runner[68633:654356] _recordFailureForCaughtError:usingContextFromIssue:
2020-02-17 12:07:01.483555+0800 WebDriverAgentRunner-Runner[68633:654356] setSkippedTestContext:
2020-02-17 12:07:01.483721+0800 WebDriverAgentRunner-Runner[68633:654356] _reportFailuresForUnwaitedExpectations
2020-02-17 12:07:01.483857+0800 WebDriverAgentRunner-Runner[68633:654356] testCaseRun
2020-02-17 12:07:01.483921+0800 WebDriverAgentRunner-Runner[68633:654356] _recordSkipWithContext:
2020-02-17 12:07:01.484026+0800 WebDriverAgentRunner-Runner[68633:654356] _performTearDownSequenceWithSelector:
2020-02-17 12:07:01.484137+0800 WebDriverAgentRunner-Runner[68633:654356] _recordFailure:
2020-02-17 12:07:01.484247+0800 WebDriverAgentRunner-Runner[68633:654356] primaryThread
2020-02-17 12:07:01.484326+0800 WebDriverAgentRunner-Runner[68633:654356] filePathForNestedFailure
2020-02-17 12:07:01.484432+0800 WebDriverAgentRunner-Runner[68633:654356] setFilePathForNestedFailure:
2020-02-17 12:07:01.484518+0800 WebDriverAgentRunner-Runner[68633:654356] setLineNumberForNestedFailure:
2020-02-17 12:07:01.484623+0800 WebDriverAgentRunner-Runner[68633:654356] setPrimaryThread:
2020-02-17 12:07:01.484723+0800 WebDriverAgentRunner-Runner[68633:654356] setTestCaseRun:
2020-02-17 12:07:01.484798+0800 WebDriverAgentRunner-Runner[68633:654356] setRunLoopNestingCount:
2020-02-17 12:07:01.484898+0800 WebDriverAgentRunner-Runner[68633:654356] shouldHaltWhenReceivesControl
2020-02-17 12:07:01.485020+0800 WebDriverAgentRunner-Runner[68633:654356] _interruptTest
2020-02-17 12:07:01.485122+0800 WebDriverAgentRunner-Runner[68633:654356] invokeTest
2020-02-17 12:07:01.485255+0800 WebDriverAgentRunner-Runner[68633:654356] setActivityAggregateStatistics:
2020-02-17 12:07:01.485375+0800 WebDriverAgentRunner-Runner[68633:654356] _perfMetricsForID
2020-02-17 12:07:01.485469+0800 WebDriverAgentRunner-Runner[68633:654356] set_perfMetricsForID:
2020-02-17 12:07:01.485573+0800 WebDriverAgentRunner-Runner[68633:654356] setUpTestWithSelector:
2020-02-17 12:07:01.485687+0800 WebDriverAgentRunner-Runner[68633:654356] _runTeardownBlocks
2020-02-17 12:07:01.485763+0800 WebDriverAgentRunner-Runner[68633:654356] _stopTimeoutTimer
2020-02-17 12:07:01.485862+0800 WebDriverAgentRunner-Runner[68633:654356] tearDownTestWithSelector:
2020-02-17 12:07:01.485968+0800 WebDriverAgentRunner-Runner[68633:654356] _teardownBlocks
2020-02-17 12:07:01.486053+0800 WebDriverAgentRunner-Runner[68633:654356] setHasDequeuedTeardownBlocks:
2020-02-17 12:07:01.486151+0800 WebDriverAgentRunner-Runner[68633:654356] _dequeueTeardownBlocks
2020-02-17 12:07:01.486244+0800 WebDriverAgentRunner-Runner[68633:654356] hasDequeuedTeardownBlocks
2020-02-17 12:07:01.486333+0800 WebDriverAgentRunner-Runner[68633:654356] addTeardownBlock:
2020-02-17 12:07:01.486448+0800 WebDriverAgentRunner-Runner[68633:654356] _logMemoryGraphData:withTitle:
2020-02-17 12:07:01.486514+0800 WebDriverAgentRunner-Runner[68633:654356] _instrument
2020-02-17 12:07:01.486613+0800 WebDriverAgentRunner-Runner[68633:654356] set_didStartMeasuring:
2020-02-17 12:07:01.486724+0800 WebDriverAgentRunner-Runner[68633:654356] _isMeasuringMetrics
2020-02-17 12:07:01.486799+0800 WebDriverAgentRunner-Runner[68633:654356] _didStartMeasuring
2020-02-17 12:07:01.486900+0800 WebDriverAgentRunner-Runner[68633:654356] _activePerformanceMetricIDs
2020-02-17 12:07:01.486989+0800 WebDriverAgentRunner-Runner[68633:654356] set_startWallClockTime:
2020-02-17 12:07:01.487120+0800 WebDriverAgentRunner-Runner[68633:654356] set_startUserTime:
2020-02-17 12:07:01.487254+0800 WebDriverAgentRunner-Runner[68633:654356] set_startSystemTime:
2020-02-17 12:07:01.487387+0800 WebDriverAgentRunner-Runner[68633:654356] set_didStopMeasuring:
2020-02-17 12:07:01.487475+0800 WebDriverAgentRunner-Runner[68633:654356] _didStopMeasuring
2020-02-17 12:07:01.487582+0800 WebDriverAgentRunner-Runner[68633:654356] _startWallClockTime
2020-02-17 12:07:01.487700+0800 WebDriverAgentRunner-Runner[68633:654356] _startUserTime
2020-02-17 12:07:01.487771+0800 WebDriverAgentRunner-Runner[68633:654356] _startSystemTime
2020-02-17 12:07:01.487888+0800 WebDriverAgentRunner-Runner[68633:654356] measureMetrics:automaticallyStartMeasuring:forBlock:
2020-02-17 12:07:01.487996+0800 WebDriverAgentRunner-Runner[68633:654356] measureWithMetrics:options:block:
2020-02-17 12:07:01.488139+0800 WebDriverAgentRunner-Runner[68633:654356] _didMeasureMetrics
2020-02-17 12:07:01.488227+0800 WebDriverAgentRunner-Runner[68633:654356] set_instrument:
2020-02-17 12:07:01.488362+0800 WebDriverAgentRunner-Runner[68633:654356] registerMetricID:name:unitString:
2020-02-17 12:07:01.488493+0800 WebDriverAgentRunner-Runner[68633:654356] reportMeasurements:forMetricID:reportFailures:
2020-02-17 12:07:01.488638+0800 WebDriverAgentRunner-Runner[68633:654356] set_didMeasureMetrics:
2020-02-17 12:07:01.488776+0800 WebDriverAgentRunner-Runner[68633:654356] _symbolicationRecordForAddress:
2020-02-17 12:07:01.488925+0800 WebDriverAgentRunner-Runner[68633:654356] reportMetric:reportFailures:
2020-02-17 12:07:01.489014+0800 WebDriverAgentRunner-Runner[68633:654356] baselinesDictionaryForTest
2020-02-17 12:07:01.489135+0800 WebDriverAgentRunner-Runner[68633:654356] set_isMeasuringMetrics:
2020-02-17 12:07:01.489208+0800 WebDriverAgentRunner-Runner[68633:654356] set_activePerformanceMetricIDs:
2020-02-17 12:07:01.489297+0800 WebDriverAgentRunner-Runner[68633:654356] set_measuringIteration:
2020-02-17 12:07:01.489450+0800 WebDriverAgentRunner-Runner[68633:654356] startMeasuring
2020-02-17 12:07:01.489650+0800 WebDriverAgentRunner-Runner[68633:654356] stopMeasuring
2020-02-17 12:07:01.489831+0800 WebDriverAgentRunner-Runner[68633:654356] _measuringIteration
2020-02-17 12:07:01.490000+0800 WebDriverAgentRunner-Runner[68633:654356] activityRecordStackDepth
2020-02-17 12:07:01.490134+0800 WebDriverAgentRunner-Runner[68633:654356] setExecutionTimeAllowance:
2020-02-17 12:07:01.490332+0800 WebDriverAgentRunner-Runner[68633:654356] executionTimeAllowance
2020-02-17 12:07:01.490619+0800 WebDriverAgentRunner-Runner[68633:654356] nameForLegacyLogging
2020-02-17 12:07:01.490923+0800 WebDriverAgentRunner-Runner[68633:654356] _effectiveExecutionTimeAllowance
2020-02-17 12:07:01.491035+0800 WebDriverAgentRunner-Runner[68633:654356] set_timeoutSource:
2020-02-17 12:07:01.491100+0800 WebDriverAgentRunner-Runner[68633:654356] _exceededExecutionTimeAllowance
2020-02-17 12:07:01.491195+0800 WebDriverAgentRunner-Runner[68633:654356] _preciseTimeoutsEnabled
2020-02-17 12:07:01.491297+0800 WebDriverAgentRunner-Runner[68633:654356] _reportFailuresAtFile:line:forTestAssertionsInScope:
2020-02-17 12:07:01.491395+0800 WebDriverAgentRunner-Runner[68633:654356] _purgeTeardownBlocks
2020-02-17 12:07:01.491517+0800 WebDriverAgentRunner-Runner[68633:654356] _addTeardownBlock:
2020-02-17 12:07:01.491626+0800 WebDriverAgentRunner-Runner[68633:654356] beforeTestIteration:selector:
2020-02-17 12:07:01.491746+0800 WebDriverAgentRunner-Runner[68633:654356] afterTestIteration:selector:
2020-02-17 12:07:01.491875+0800 WebDriverAgentRunner-Runner[68633:654356] numberOfTestIterationsForTestWithSelector:
2020-02-17 12:07:01.491961+0800 WebDriverAgentRunner-Runner[68633:654356] _logMemoryGraphDataFromFilePath:withTitle:
2020-02-17 12:07:01.492066+0800 WebDriverAgentRunner-Runner[68633:654356] measureWithMetrics:block:
2020-02-17 12:07:01.492200+0800 WebDriverAgentRunner-Runner[68633:654356] registerMetricID:name:unit:
2020-02-17 12:07:01.492268+0800 WebDriverAgentRunner-Runner[68633:654356] _logAndReportPerformanceMetrics:perfMetricResultsForIDs:withBaselinesForTest:defaultBaselinesForPerfMetricID:
2020-02-17 12:07:01.492396+0800 WebDriverAgentRunner-Runner[68633:654356] _logAndReportPerformanceMetrics:perfMetricResultsForIDs:withBaselinesForTest:
2020-02-17 12:07:01.492521+0800 WebDriverAgentRunner-Runner[68633:654356] recordActivityWithFormat:
2020-02-17 12:07:01.492643+0800 WebDriverAgentRunner-Runner[68633:654356] runActivityNamed:inScope:
2020-02-17 12:07:01.492741+0800 WebDriverAgentRunner-Runner[68633:654356] setMaxDurationInMinutes:
2020-02-17 12:07:01.492836+0800 WebDriverAgentRunner-Runner[68633:654356] maxDurationInMinutes
2020-02-17 12:07:01.492953+0800 WebDriverAgentRunner-Runner[68633:654356] set_expectations:
2020-02-17 12:07:01.493097+0800 WebDriverAgentRunner-Runner[68633:654356] set_preciseTimeoutsEnabled:
2020-02-17 12:07:01.493169+0800 WebDriverAgentRunner-Runner[68633:654356] continueAfterFailure
2020-02-17 12:07:01.493274+0800 WebDriverAgentRunner-Runner[68633:654356] lineNumberForNestedFailure
2020-02-17 12:07:01.493379+0800 WebDriverAgentRunner-Runner[68633:654356] shouldSetShouldHaltWhenReceivesControl
2020-02-17 12:07:01.493468+0800 WebDriverAgentRunner-Runner[68633:654356] setShouldSetShouldHaltWhenReceivesControl:
2020-02-17 12:07:01.493555+0800 WebDriverAgentRunner-Runner[68633:654356] shouldIgnoreSubsequentFailures
2020-02-17 12:07:01.493654+0800 WebDriverAgentRunner-Runner[68633:654356] setShouldIgnoreSubsequentFailures:
2020-02-17 12:07:01.493747+0800 WebDriverAgentRunner-Runner[68633:654356] hasAttemptedToCaptureScreenshotOnFailure
2020-02-17 12:07:01.493842+0800 WebDriverAgentRunner-Runner[68633:654356] setHasAttemptedToCaptureScreenshotOnFailure:
2020-02-17 12:07:01.493935+0800 WebDriverAgentRunner-Runner[68633:654356] _recordActivityWithFailure:
2020-02-17 12:07:01.494053+0800 WebDriverAgentRunner-Runner[68633:654356] isEqual:
2020-02-17 12:07:01.494119+0800 WebDriverAgentRunner-Runner[68633:654356] description
2020-02-17 12:07:01.494216+0800 WebDriverAgentRunner-Runner[68633:654356] .cxx_destruct
2020-02-17 12:07:01.494306+0800 WebDriverAgentRunner-Runner[68633:654356] dealloc
2020-02-17 12:07:01.494410+0800 WebDriverAgentRunner-Runner[68633:654356] init
2020-02-17 12:07:01.494519+0800 WebDriverAgentRunner-Runner[68633:654356] name
2020-02-17 12:07:01.494592+0800 WebDriverAgentRunner-Runner[68633:654356] bundle
2020-02-17 12:07:01.494683+0800 WebDriverAgentRunner-Runner[68633:654356] _identifier
2020-02-17 12:07:01.494771+0800 WebDriverAgentRunner-Runner[68633:654356] _startTimeoutTimer
2020-02-17 12:07:01.494896+0800 WebDriverAgentRunner-Runner[68633:654356] _timeoutSource
2020-02-17 12:07:01.495026+0800 WebDriverAgentRunner-Runner[68633:654356] _resetTimer
2020-02-17 12:07:01.495146+0800 WebDriverAgentRunner-Runner[68633:654356] addAttachment:
2020-02-17 12:07:01.495235+0800 WebDriverAgentRunner-Runner[68633:654356] initWithInvocation:
2020-02-17 12:07:01.495342+0800 WebDriverAgentRunner-Runner[68633:654356] invocation
2020-02-17 12:07:01.495458+0800 WebDriverAgentRunner-Runner[68633:654356] _signpostID
2020-02-17 12:07:01.495560+0800 WebDriverAgentRunner-Runner[68633:654356] attachmentManager
2020-02-17 12:07:01.495694+0800 WebDriverAgentRunner-Runner[68633:654356] failureRecords
2020-02-17 12:07:01.495804+0800 WebDriverAgentRunner-Runner[68633:654356] initWithSelector:
2020-02-17 12:07:01.495906+0800 WebDriverAgentRunner-Runner[68633:654356] testCaseCount
2020-02-17 12:07:01.496005+0800 WebDriverAgentRunner-Runner[68633:654356] recordFailureWithDescription:inFile:atLine:expected:
2020-02-17 12:07:01.496106+0800 WebDriverAgentRunner-Runner[68633:654356] testRunClass
2020-02-17 12:07:01.496214+0800 WebDriverAgentRunner-Runner[68633:654356] expectationWithDescription:
2020-02-17 12:07:01.496290+0800 WebDriverAgentRunner-Runner[68633:654356] waitForExpectationsWithTimeout:handler:
2020-02-17 12:07:01.496411+0800 WebDriverAgentRunner-Runner[68633:654356] setAttachmentManager:
2020-02-17 12:07:01.496539+0800 WebDriverAgentRunner-Runner[68633:654356] measureBlock:
2020-02-17 12:07:01.496657+0800 WebDriverAgentRunner-Runner[68633:654356] measureWithOptions:block:
2020-02-17 12:07:01.496730+0800 WebDriverAgentRunner-Runner[68633:654356] setInvocation:

Issue Analytics

  • State:closed
  • Created 4 years ago
  • Reactions:1
  • Comments:15 (3 by maintainers)

github_iconTop GitHub Comments

1reaction
bottotlcommented, Feb 17, 2020

it’s so strange… i copy code from e358ecf8190994dd7ba7d54d451288400e052879 got error above. Checkout e358ecf8190994dd7ba7d54d451288400e052879 works fine for me. thanks!

0reactions
imurchiecommented, Mar 31, 2020

Copying should not be necessary. You can provide the path to the clones repository in the bootstrapPath capability.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Linker error with XCTest.framework | Apple Developer Forums
I have my macOS app compiling and running under Big Sur and Xcode 12, however when I attempt to run the unit tests,...
Read more >
WWDC20: What's New in Unit Testing - Quality Coding
But not this year! The XCTest team put a lot of unit testing improvements into the Xcode 12 beta. They also snuck some...
Read more >
Can I run an XCTest suite multiple times? - Stack Overflow
I know other unit testing frameworks make it quite easy to run a single test, test case, or test suite multiple times. Do...
Read more >
Skipping Tests in Xcode - matrixprojects.net
XCTest only runs test methods that have a test prefix, as such renaming to anything else will result in that test no longer...
Read more >
XCTest Error Handling Improvements - Use Your Loaf
Xcode 11.4 has some interesting XCTest improvements that make it a little easier to write tests that handle throwing errors.
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found