diff --git a/integration_test.go b/integration_test.go index 0693ea92..35dc48e6 100644 --- a/integration_test.go +++ b/integration_test.go @@ -49,7 +49,7 @@ func TestIntegration(t *testing.T) { name := strings.TrimSuffix(cfgPath, ".jsonnet") t.Run(name, func(t *testing.T) { // Parse the config. - cfg, err := config.ReadFile(cfgPath, filepath.Join("testdata", cfgPath)) + cfg, err := config.ReadFile(cfgPath, cfgPath) require.Nil(t, err) pres, err := apply.FromConfig(cfg) require.Nil(t, err) @@ -108,15 +108,15 @@ func TestIntegration(t *testing.T) { // Import. b, err := os.ReadFile(name + ".json") require.Nil(t, err) - assert.Equal(t, string(b), string(icfgJSON)) + assert.Equal(t, normalizeLineEndings(string(b)), normalizeLineEndings(string(icfgJSON))) // Diff. b, err = os.ReadFile(name + ".diff") require.Nil(t, err) - assert.Equal(t, string(b), d.String()) + assert.Equal(t, normalizeLineEndings(string(b)), normalizeLineEndings(d.String())) // Export b, err = os.ReadFile(name + ".xml") require.Nil(t, err) - assert.Equal(t, string(b), cfgxml.String()) + assert.Equal(t, normalizeLineEndings(string(b)), normalizeLineEndings(cfgxml.String())) }) } } @@ -129,7 +129,7 @@ func TestIntegrationImportExport(t *testing.T) { name := strings.TrimSuffix(cfgPath, ".jsonnet") t.Run(name, func(t *testing.T) { // Parse the config. - cfg, err := config.ReadFile(cfgPath, filepath.Join("testdata", cfgPath)) + cfg, err := config.ReadFile(cfgPath, cfgPath) require.Nil(t, err) pres, err := apply.FromConfig(cfg) require.Nil(t, err) @@ -187,3 +187,8 @@ func mustParseTime(layout, value string) time.Time { } return t } + +// normalizeLineEndings converts CRLF to LF for cross-platform compatibility. +func normalizeLineEndings(s string) string { + return strings.ReplaceAll(s, "\r\n", "\n") +} diff --git a/internal/engine/config/read.go b/internal/engine/config/read.go index 02e16ebb..e752e033 100644 --- a/internal/engine/config/read.go +++ b/internal/engine/config/read.go @@ -5,7 +5,6 @@ import ( "encoding/json" "fmt" "os" - "path" "path/filepath" "github.com/google/go-jsonnet" @@ -54,7 +53,7 @@ func ReadJsonnet(p string, buf []byte) (v1alpha3.Config, error) { var res v1alpha3.Config vm := jsonnet.MakeVM() vm.Importer(&jsonnet.FileImporter{ - JPaths: []string{path.Dir(p)}, + JPaths: []string{filepath.Dir(p)}, }) jstr, err := vm.EvaluateAnonymousSnippet(p, string(buf)) if err != nil { diff --git a/testdata/valid/01-nodiff.jsonnet b/testdata/valid/01-nodiff.jsonnet deleted file mode 120000 index c5f06ac5..00000000 --- a/testdata/valid/01-nodiff.jsonnet +++ /dev/null @@ -1 +0,0 @@ -00-simple.jsonnet \ No newline at end of file diff --git a/testdata/valid/01-nodiff.jsonnet b/testdata/valid/01-nodiff.jsonnet new file mode 100644 index 00000000..677d505a --- /dev/null +++ b/testdata/valid/01-nodiff.jsonnet @@ -0,0 +1 @@ +import "00-simple.jsonnet"