From a48abd3efd0d5f674221d30b2e9cbd615fcfb8a1 Mon Sep 17 00:00:00 2001 From: Lucas Bajolet Date: Fri, 10 May 2024 15:23:05 +0000 Subject: [PATCH] backport of commit 28bf7848692b893087af31d1dd1d2cbc7de08564 --- packer_test/loading_test.go | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/packer_test/loading_test.go b/packer_test/loading_test.go index 057d9ea85..1d277580c 100644 --- a/packer_test/loading_test.go +++ b/packer_test/loading_test.go @@ -3,6 +3,7 @@ package packer_test import ( "crypto/sha256" "fmt" + "os" "path/filepath" "runtime" "strings" @@ -140,3 +141,26 @@ func (ts *PackerTestSuite) TestLoadWithSHAMismatches() { Grep(`Checksums \(\*sha256\.digest\) did not match.`, grepStderr)) }) } + +func (ts *PackerTestSuite) TestPluginPathEnvvarWithMultiplePaths() { + pluginDirOne, cleanup := ts.MakePluginDir("1.0.10") + defer cleanup() + + pluginDirTwo, cleanup := ts.MakePluginDir("1.0.9") + defer cleanup() + + pluginDirVal := fmt.Sprintf("%s%c%s", pluginDirOne, os.PathListSeparator, pluginDirTwo) + ts.Run("load plugin with two dirs - not supported anymore, should error", func() { + ts.PackerCommand().UsePluginDir(pluginDirVal). + SetArgs("plugins", "installed"). + Assert(ts.T(), MustFail(), + Grep("Multiple paths are no longer supported for PACKER_PLUGIN_PATH"), + PipeChecker{ + check: IntCompare(eq, 2), + pipers: []Pipe{ + PipeGrep(`\* PACKER_PLUGIN_PATH=`), + LineCount(), + }, + }) + }) +}