3 var test = require('tape')
4 var path = require('path')
5 var gyp = require('../lib/node-gyp')
6 var requireInject = require('require-inject')
7 var configure = requireInject('../lib/configure', {
9 'writeFile': function (file, data, cb) { cb() },
10 'stat': function (file, cb) { cb(null, {}) }
14 var EXPECTED_PYPATH = path.join(__dirname, '..', 'gyp', 'pylib')
15 var SEPARATOR = process.platform == 'win32' ? ';' : ':'
16 var SPAWN_RESULT = { on: function () { } }
18 test('configure PYTHONPATH with no existing env', function (t) {
21 delete process.env.PYTHONPATH
25 prog.spawn = function () {
26 t.equal(process.env.PYTHONPATH, EXPECTED_PYPATH)
32 test('configure PYTHONPATH with existing env of one dir', function (t) {
35 var existingPath = path.join('a', 'b')
36 process.env.PYTHONPATH = existingPath
40 prog.spawn = function () {
42 t.equal(process.env.PYTHONPATH, [EXPECTED_PYPATH, existingPath].join(SEPARATOR))
44 var dirs = process.env.PYTHONPATH.split(SEPARATOR)
45 t.deepEqual(dirs, [EXPECTED_PYPATH, existingPath])
52 test('configure PYTHONPATH with existing env of multiple dirs', function (t) {
55 var pythonDir1 = path.join('a', 'b')
56 var pythonDir2 = path.join('b', 'c')
57 var existingPath = [pythonDir1, pythonDir2].join(SEPARATOR)
58 process.env.PYTHONPATH = existingPath
62 prog.spawn = function () {
64 t.equal(process.env.PYTHONPATH, [EXPECTED_PYPATH, existingPath].join(SEPARATOR))
66 var dirs = process.env.PYTHONPATH.split(SEPARATOR)
67 t.deepEqual(dirs, [EXPECTED_PYPATH, pythonDir1, pythonDir2])