Граф коммитов

19 Коммитов

Автор SHA1 Сообщение Дата
Marek Cirkos 41e61d75ad Fix TestFBTestManagerAPIMediator when used from command line
Summary: When xctest is bootstrapped from command line testmanagerd "hangs up" XPC connection, probobaly because of protocol differences.

Reviewed By: lawrencelomax

Differential Revision: D3144335

fb-gh-sync-id: 7a740fab46d045f516e49ba11b47e83442895db6
fbshipit-source-id: 7a740fab46d045f516e49ba11b47e83442895db6
2016-04-06 07:45:59 -07:00
Marek Cirkos 2c507333a6 Making sure that working directory exists and is clear, when preparing xctest
Reviewed By: migchez

Differential Revision: D3138968

fb-gh-sync-id: 0670add94f6d024afa2455399ec3249bdece7416
fbshipit-source-id: 0670add94f6d024afa2455399ec3249bdece7416
2016-04-06 01:05:27 -07:00
Lawrence Lomax c21b770d41 Don't load the XCTestBootstrap private Frameworks from FBSimulatorControl
Summary: `XCTestBootstrap` has to load a whole bunch of Private Frameworks. Instead of requiring every time that `FBSimulatorControl` is used the Frameworks are loaded, we can load the frameworks when the `XCTestBootstrap` interaction is used. This will save on Framework loading time for invocations of `FBSimulatorControl` that don't use the `XCTestBootstrap` methods.

Reviewed By: marekcirkos

Differential Revision: D3139023

fb-gh-sync-id: e91fe2ce7b4d03a49441b42659a7fd7a39613dc3
fbshipit-source-id: e91fe2ce7b4d03a49441b42659a7fd7a39613dc3
2016-04-05 10:20:19 -07:00
Marek Cirkos a576833c4e Add README for XCTestBootstrap
Reviewed By: nqmtuan

Differential Revision: D3133228

fb-gh-sync-id: 3963ac4252f50dd710b71711b57d555cefec5378
fbshipit-source-id: 3963ac4252f50dd710b71711b57d555cefec5378
2016-04-05 01:55:18 -07:00
Marek Cirkos d788a10ec0 Properly disconnecting testmanagerd
Summary:I noticed that on xcode 7.3 tests hang on semaphore during "DTXConnection" deallocation and  happens pretty often.
Probably there is race condition, during simulator termination and socket handling.
This diff disconnects testmanagerd before simulator is terminated.

Reviewed By: lawrencelomax

Differential Revision: D3115134

fb-gh-sync-id: 36c4d848a5a7ba9c16df873a2a6721c52f6fd999
fbshipit-source-id: 36c4d848a5a7ba9c16df873a2a6721c52f6fd999
2016-04-04 05:45:21 -07:00
Marek Cirkos 9b97af33e2 Removed need for XCTStubApp for simulators
Summary:We can kick off test bundle from any application so instead of forcing creating own application for that added posiibility to start test with any bundle id (our own app, or existing apple apps).

Unfortunately devices are more tricky so, this is simulator solution for now.

Reviewed By: lawrencelomax

Differential Revision: D3120820

fb-gh-sync-id: 712197ea41624947b50527c9b4db8aa8703418d0
fbshipit-source-id: 712197ea41624947b50527c9b4db8aa8703418d0
2016-04-01 03:30:28 -07:00
Marek Cirkos 50d7194104 Resolved private framework and plugins linking
Summary:Added support for linking frameworks that requires other frameworks to link beforehand.
This is required to link 'IDEiOSSupportCore.plugin' (used by XCTestBootstrap).

Also added check for multiple classes to confirm successful framework load.

Reviewed By: lawrencelomax

Differential Revision: D3120290

fb-gh-sync-id: 95f1c064406a6965d583c85d4b16b674e68f543b
fbshipit-source-id: 95f1c064406a6965d583c85d4b16b674e68f543b
2016-04-01 02:35:23 -07:00
Lawrence Lomax 2e9315b235 Restore true xcode cross-linking
Summary: With the inclusion of `XCTBoostrap` the `LD_RUNPATH_SEARCH_PATHS` was getting burned in with the current xcode version to the framework binaries, this meant that the executables were loaded before the dynamic framework loading. This is problematic as a different `DEVELOPER_DIR` or `xcode-select` default for a previously built binary could result in Frameworks failing to load at runtime as there is an xcode version conflict.

Reviewed By: marekcirkos

Differential Revision: D3092735

fb-gh-sync-id: 0724b46a3de0635170154707af3106844df6d786
shipit-source-id: 0724b46a3de0635170154707af3106844df6d786
2016-03-24 08:20:22 -07:00
Marek Cirkos 3b2fdf2dd1 Use FBControlCoreLogger when logging in testmanagermediator
Reviewed By: nqmtuan

Differential Revision: D3058301

fb-gh-sync-id: 1f00292d7e12b05bd70c020c918962bbce1fdc32
shipit-source-id: 1f00292d7e12b05bd70c020c918962bbce1fdc32
2016-03-16 07:10:29 -07:00
Marek Cirkos 439c084c34 Terminating launched applications when test finishes
Summary: Properly ends testing session

Reviewed By: sigmix

Differential Revision: D3047945

fb-gh-sync-id: 9fbd1ad5092657a3b6f563d46b1ca9d942b9b79e
shipit-source-id: 9fbd1ad5092657a3b6f563d46b1ca9d942b9b79e
2016-03-14 13:45:20 -07:00
Lawrence Lomax bd29acd54d Fix Hard-Linking of Xcode Plugins
Summary: Removing these for now until there is a better solution

Reviewed By: asm89

Differential Revision: D3048109

fb-gh-sync-id: fce12f59bcd4a4af738e568de22b8d5edce37cd3
shipit-source-id: fce12f59bcd4a4af738e568de22b8d5edce37cd3
2016-03-14 11:50:28 -07:00
Marek Cirkos f5b573a969 Added description to FBTestManager
Summary: This will provide some debug information.

Reviewed By: lawrencelomax

Differential Revision: D3047338

fb-gh-sync-id: 0a7a53e482ce5144cf10f8563c91feb3ded25c6b
shipit-source-id: 0a7a53e482ce5144cf10f8563c91feb3ded25c6b
2016-03-14 09:11:17 -07:00
Marek Cirkos 9b2bc587ee Not installing test runner if it is already installed
Summary: It generates operations that don't need to be always executed.

Reviewed By: lawrencelomax

Differential Revision: D3047227

fb-gh-sync-id: 7c15284894d5c413ef583e8fef6612442da98e6b
shipit-source-id: 7c15284894d5c413ef583e8fef6612442da98e6b
2016-03-14 09:11:12 -07:00
Marek Cirkos 5b41fecf09 Added DVTFoundation initialaizer
Summary: Initialazer is needed in order to locate & use any DVTDevice class

Reviewed By: lawrencelomax

Differential Revision: D3047154

fb-gh-sync-id: 1a2c67c4d11e7e56f5695151fca2c139cba50afd
shipit-source-id: 1a2c67c4d11e7e56f5695151fca2c139cba50afd
2016-03-14 09:11:07 -07:00
Marek Cirkos b169ce0c24 When starting test, not installing app, if already installed.
Summary: It generates operations that don't need to be always executed.

Reviewed By: sigmix

Differential Revision: D3041737

fb-gh-sync-id: d045d79c5b62b103618bc7eef46af2bc5153f4bb
shipit-source-id: d045d79c5b62b103618bc7eef46af2bc5153f4bb
2016-03-14 09:11:00 -07:00
Marek Cirkos 9479f8bc99 Renamed TestMediators folder to TestManager
Summary: Renamed the because it better reflects its content

Reviewed By: mmmulani, lawrencelomax

Differential Revision: D3041487

fb-gh-sync-id: 60e435eb14b95226e5c9b890a535f490209c36e5
shipit-source-id: 60e435eb14b95226e5c9b890a535f490209c36e5
2016-03-14 09:10:54 -07:00
Marek Cirkos 1bbf0ab059 Fix license headers
Summary: Added proper license headers for XCTestBootstrap

Reviewed By: mmmulani, lawrencelomax

Differential Revision: D3041484

fb-gh-sync-id: a1b8ac7699c03967357e1d867f02876f21ef832b
shipit-source-id: a1b8ac7699c03967357e1d867f02876f21ef832b
2016-03-14 09:10:48 -07:00
Marek Cirkos 2ddea9bdac Added FBTestManager class
Summary:It handles mediator and is exposed via strategy to keep connection to test manager daemon alive.
Keeping strategy alive, didn't make much sense

Reviewed By: mmmulani

Differential Revision: D3041458

fb-gh-sync-id: 268cdcc5d79f79d145628a5556a1d0710110398d
shipit-source-id: 268cdcc5d79f79d145628a5556a1d0710110398d
2016-03-14 09:10:35 -07:00
Marek Cirkos 4d0a616cd3 Extracted XCTestBootstrap
Summary: Extracted XCTestBootstrap framework, that is responsible for preparing Test Manager Daemon for starting XCTest

Reviewed By: lawrencelomax, mmmulani

Differential Revision: D3041449

fb-gh-sync-id: a4aa2b1aa14bea5a0b0e730c059c97f8464f1201
shipit-source-id: a4aa2b1aa14bea5a0b0e730c059c97f8464f1201
2016-03-14 09:10:29 -07:00