diff --git a/.travis.yml b/.travis.yml index e630c5eeab..30027579b6 100644 --- a/.travis.yml +++ b/.travis.yml @@ -1,6 +1,6 @@ sudo: false os: - # - windows + - windows - linux - osx language: node_js @@ -9,7 +9,7 @@ node_js: - "11.10" install: - npm install - - npm install --prefix integration/app-with-serverless-offline + - cd integration/app-with-serverless-offline && npm install && cd ../../ script: - npm run lint - npm test diff --git a/integration/__tests__/local-deploy.test.js b/integration/__tests__/local-deploy.test.js index 5287662176..ffb0360c7f 100644 --- a/integration/__tests__/local-deploy.test.js +++ b/integration/__tests__/local-deploy.test.js @@ -1,3 +1,4 @@ +const execSync = require("child_process").execSync; const path = require("path"); const serverlessOfflineStart = require("../../utils/test/serverlessOfflineStart"); const httpGet = require("../../utils/test/httpGet"); @@ -13,7 +14,11 @@ describe("Local Deployment Tests (via serverless-offline)", () => { }); afterAll(() => { - slsOffline.kill(); + if (process.platform === "win32") { + execSync(`taskkill /pid ${slsOffline.pid} /f /t`); + } else { + slsOffline.kill(); + } }); it("should render the index page", () => { diff --git a/utils/test/serverlessOfflineStart.js b/utils/test/serverlessOfflineStart.js index d6bf76622e..009a1692b5 100644 --- a/utils/test/serverlessOfflineStart.js +++ b/utils/test/serverlessOfflineStart.js @@ -4,9 +4,9 @@ const serverlessExec = require("./getServerlessExec"); const bufferToStr = buffer => Buffer.from(buffer).toString("utf8"); module.exports = () => { - return new Promise((resolve, reject) => { - const serverlessOffline = spawn(serverlessExec, ["offline"]); + const serverlessOffline = spawn(serverlessExec, ["offline"]); + return new Promise((resolve, reject) => { serverlessOffline.stdout.on("data", data => { const stdoutStr = bufferToStr(data);