diff --git a/test/integration/action/action-integration.spec.js b/test/integration/action/action-integration.spec.js index 40b0f5584..5a41d57c4 100644 --- a/test/integration/action/action-integration.spec.js +++ b/test/integration/action/action-integration.spec.js @@ -1,4 +1,4 @@ -import { rmdir, isPortOpen } from './test-util'; +import { rmdir, isPortOpen, killProcess } from './test-util'; import { Store } from '../../../src/store'; import IpcAction from '../../../src/action/ipc'; import GrpcAction from '../../../src/action/grpc'; @@ -280,7 +280,7 @@ describe('Action Integration Tests', function() { }); it('should fund wallet for node1', async () => { - btcdProcess.kill('SIGINT'); + await killProcess(btcdProcess.pid); btcdArgs.miningAddress = store1.walletAddress; btcdProcess = await startBtcdProcess(btcdArgs); await nap(NAP_TIME); diff --git a/test/integration/action/test-util.js b/test/integration/action/test-util.js index 94c84a6e4..330f763c2 100644 --- a/test/integration/action/test-util.js +++ b/test/integration/action/test-util.js @@ -1,5 +1,6 @@ import fs from 'fs'; import net from 'net'; +import { nap } from '../../../src/helper'; export const rmdir = path => { if (fs.existsSync(path)) { @@ -24,3 +25,15 @@ export const isPortOpen = async port => { client.connect(port, 'localhost'); }); }; + +export const killProcess = async pid => { + let terminated = false; + while (!terminated) { + try { + process.kill(pid); + await nap(500); + } catch (e) { + terminated = true; + } + } +};