1
0
mirror of https://github.com/SAP/jenkins-library.git synced 2025-07-01 00:54:55 +02:00

Run npm scripts in virtual frame buffer and extend command.go to run executable asynchronously (#1669)

Co-authored-by: Stephan Aßmus <stephan.assmus@sap.com>
Co-authored-by: Florian Wilhelm <florian.wilhelm02@sap.com>
This commit is contained in:
Daniel Kurzynski
2020-06-16 11:42:51 +02:00
committed by GitHub
parent b0329cd2c0
commit 0222bf83d1
9 changed files with 180 additions and 30 deletions

View File

@ -129,6 +129,29 @@ func TestNpmExecuteScripts(t *testing.T) {
assert.Equal(t, mock.ExecCall{Exec: "npm", Params: []string{"run-script", "foo", "--if-present"}}, utils.execRunner.Calls[3])
assert.Equal(t, mock.ExecCall{Exec: "npm", Params: []string{"run-script", "bar", "--if-present"}}, utils.execRunner.Calls[4])
})
t.Run("Call run-scripts with virtual frame buffer", func(t *testing.T) {
utils := newNpmExecuteScriptsMockUtilsBundle()
utils.files["package.json"] = []byte("{\"scripts\": { \"foo\": \"\" } }")
options := npmExecuteScriptsOptions{}
options.Install = false
options.RunScripts = []string{"foo"}
options.VirtualFrameBuffer = true
err := runNpmExecuteScripts(&utils, &options)
assert.Contains(t, utils.execRunner.Env, "DISPLAY=:99")
assert.NoError(t, err)
if assert.Len(t, utils.execRunner.Calls, 4) {
xvfbCall := utils.execRunner.Calls[0]
assert.Equal(t, "Xvfb", xvfbCall.Exec)
assert.Equal(t, []string{"-ac", ":99", "-screen", "0", "1280x1024x16"}, xvfbCall.Params)
assert.True(t, xvfbCall.Async)
assert.True(t, xvfbCall.Execution.Killed)
assert.Equal(t, mock.ExecCall{Exec: "npm", Params: []string{"run-script", "foo", "--if-present"}}, utils.execRunner.Calls[3])
}
})
}
func newNpmExecuteScriptsMockUtilsBundle() npmExecuteScriptsMockUtilsBundle {