diff --git a/packages/pkg-tests/pkg-tests-specs/sources/index.js b/packages/pkg-tests/pkg-tests-specs/sources/index.js index 02f1b0b27d..ad02e73284 100644 --- a/packages/pkg-tests/pkg-tests-specs/sources/index.js +++ b/packages/pkg-tests/pkg-tests-specs/sources/index.js @@ -2,3 +2,4 @@ exports.basic = require('./basic'); exports.dragon = require('./dragon'); +exports.script = require('./script'); diff --git a/packages/pkg-tests/pkg-tests-specs/sources/script.js b/packages/pkg-tests/pkg-tests-specs/sources/script.js new file mode 100644 index 0000000000..e019cce870 --- /dev/null +++ b/packages/pkg-tests/pkg-tests-specs/sources/script.js @@ -0,0 +1,20 @@ +/* @flow */ + +import type {PackageDriver} from 'pkg-tests-core'; + +const {fs: {makeFakeBinary}} = require(`pkg-tests-core`); + +module.exports = (makeTemporaryEnv: PackageDriver) => { + describe(`Scripts tests`, () => { + test( + `it should run scripts using the same Node than the one used by Yarn`, + makeTemporaryEnv({scripts: {myScript: `node --version`}}, async ({path, run, source}) => { + await makeFakeBinary(`${path}/bin/node`); + + await expect(run(`run`, `myScript`)).resolves.toMatchObject({ + stdout: `${process.version}\n`, + }); + }), + ); + }); +}; diff --git a/packages/pkg-tests/yarn.test.js b/packages/pkg-tests/yarn.test.js index 0f2eb61ebe..43f5cd2899 100644 --- a/packages/pkg-tests/yarn.test.js +++ b/packages/pkg-tests/yarn.test.js @@ -5,7 +5,7 @@ const { exec: {execFile}, } = require(`pkg-tests-core`); -const {basic: basicSpecs, dragon: dragonSpecs} = require(`pkg-tests-specs`); +const {basic: basicSpecs, dragon: dragonSpecs, script: scriptSpecs} = require(`pkg-tests-specs`); const pkgDriver = generatePkgDriver({ runDriver: (path, args, {registryUrl}) => { @@ -24,3 +24,4 @@ beforeEach(async () => { basicSpecs(pkgDriver); dragonSpecs(pkgDriver); +scriptSpecs(pkgDriver);