diff --git a/package.json b/package.json index 77879c6d3..4abb5c407 100644 --- a/package.json +++ b/package.json @@ -137,7 +137,7 @@ "test": "jest --testPathPattern=node\\.js$ --no-cache", "test:debug": "node --inspect node_modules/.bin/jest --runInBand", "test-electron": "jest --testPathPattern=electron\\.js$ --testEnvironment=@jest-runner/electron/environment --runner=@jest-runner/electron --no-cache", - "test-with-device": "USE_ELECTRON_STUBS=1 jest --testPathPattern=device\\.js$ --detectOpenHandles --forceExit --no-cache", + "test-with-device": "USE_ELECTRON_STUBS=1 jest --testPathPattern=device\\.js$ --detectOpenHandles --no-cache", "lint": "eslint . && flow check" }, "optionalDependencies": { diff --git a/src/__tests__/server.device.js b/src/__tests__/server.device.js index 333ff93a8..f3aded8ff 100644 --- a/src/__tests__/server.device.js +++ b/src/__tests__/server.device.js @@ -17,6 +17,7 @@ import iosDevice from '../dispatcher/iOSDevice'; import type Client from '../Client'; let server; +let androidCleanup; const store = createStore(reducers); beforeAll(() => { @@ -28,7 +29,7 @@ beforeAll(() => { const logger = initLogger(store); - androidDevice(store, logger); + androidCleanup = androidDevice(store, logger); iosDevice(store, logger); server = new Server(logger, store); @@ -65,5 +66,7 @@ test('Device can connect successfully', done => { }, 20000); afterAll(() => { - return server.close(); + return androidCleanup().then(() => { + server.close(); + }); }); diff --git a/src/dispatcher/androidDevice.js b/src/dispatcher/androidDevice.js index 1604c79af..434e0b6e9 100644 --- a/src/dispatcher/androidDevice.js +++ b/src/dispatcher/androidDevice.js @@ -185,4 +185,10 @@ export default (store: Store, logger: Logger) => { } watchAndroidDevices(); + + // cleanup method + return () => + getAdbClient().then(client => { + client.kill(); + }); };