Skip to content

Commit

Permalink
test: add a spread test for the npm reentrant bug
Browse files Browse the repository at this point in the history
The bug is caused by the plugin having state that implicitly needs to be
passed from the 'pull' step to the 'build' step. If both are done in a
single Snapcraft 'run', then it works fine; however, running first 'pull'
and then 'build' separately trigger the issue - a failure on the build
step.

Ref: canonical/craft-parts#844
  • Loading branch information
tigarmo committed Sep 12, 2024
1 parent 96140ad commit 86f1f07
Show file tree
Hide file tree
Showing 5 changed files with 47 additions and 0 deletions.
3 changes: 3 additions & 0 deletions tests/spread/core24/npm-reentrant/hello.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env node

console.log('hello world');
5 changes: 5 additions & 0 deletions tests/spread/core24/npm-reentrant/package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

13 changes: 13 additions & 0 deletions tests/spread/core24/npm-reentrant/package.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
{
"name": "npm-hello",
"version": "1.0.0",
"description": "Testing grounds for snapcraft integration tests",
"bin": {
"npm-hello": "hello.js"
},
"scripts": {
"npm-hello": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "GPL-3.0"
}
15 changes: 15 additions & 0 deletions tests/spread/core24/npm-reentrant/snap/snapcraft.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
name: npm-reentrant
version: "1.0"
summary: test the npm plugin
description: Check that the npm plugin works across snapcraft calls

confinement: strict
grade: devel
base: core24

parts:
hello:
source: .
plugin: npm
npm-include-node: true
npm-node-version: 22.1.0
11 changes: 11 additions & 0 deletions tests/spread/core24/npm-reentrant/task.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
summary: Pull, then Build, a Node snap

execute: |
snapcraft pull
snapcraft build
snapcraft pack
test -f npm-reentrant*.snap
restore: |
snapcraft clean
rm -f ./*.snap

0 comments on commit 86f1f07

Please sign in to comment.