Skip to content

Commit f7762e5

Browse files
committed
chore: smoke test for npx caching issue
1 parent 33dc428 commit f7762e5

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

smoke-tests/test/index.js

Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,16 @@ t.test('basic', async t => {
1818
'package.json': { name: 'promise-all-reject-late', version: '5.0.0' },
1919
'index.js': 'module.exports = null',
2020
},
21+
'exec-test-1.0.0': {
22+
'package.json': { name: 'exec-test', version: '1.0.0', bin: { 'exec-test': 'run.sh' } },
23+
'index.js': 'module.exports = "1.0.0"',
24+
'run.sh': 'echo 1.0.0',
25+
},
26+
'exec-test-1.0.1': {
27+
'package.json': { name: 'exec-test', version: '1.0.1', bin: { 'exec-test': 'run.sh' } },
28+
'index.js': 'module.exports = "1.0.1"',
29+
'run.sh': 'echo 1.0.1',
30+
},
2131
},
2232
},
2333
})
@@ -332,4 +342,44 @@ t.test('basic', async t => {
332342
t.equal(err.code, 1)
333343
t.matchSnapshot(err.stderr, 'should throw mismatch deps in lock file error')
334344
})
345+
346+
await t.test('npm exec', async t => {
347+
if (process.platform === 'win32') {
348+
t.skip()
349+
return
350+
}
351+
// First run finds package
352+
{
353+
const packument = registry.packument({
354+
name: 'exec-test', version: '1.0.0', bin: { 'exec-test': 'run.sh' },
355+
})
356+
const manifest = registry.manifest({ name: 'exec-test', packuments: [packument] })
357+
await registry.package({
358+
times: 2,
359+
manifest,
360+
tarballs: {
361+
'1.0.0': join(paths.root, 'packages', 'exec-test-1.0.0'),
362+
},
363+
})
364+
365+
const o = await npm('exec', 'exec-test')
366+
t.match(o.trim(), '1.0.0')
367+
}
368+
// Second run finds newer version
369+
{
370+
const packument = registry.packument({
371+
name: 'exec-test', version: '1.0.1', bin: { 'exec-test': 'run.sh' },
372+
})
373+
const manifest = registry.manifest({ name: 'exec-test', packuments: [packument] })
374+
await registry.package({
375+
times: 2,
376+
manifest,
377+
tarballs: {
378+
'1.0.1': join(paths.root, 'packages', 'exec-test-1.0.1'),
379+
},
380+
})
381+
const o = await npm('exec', 'exec-test')
382+
t.match(o.trim(), '1.0.1')
383+
}
384+
})
335385
})

0 commit comments

Comments
 (0)