diff --git a/flake.lock b/flake.lock index 97e7293..40408a3 100644 --- a/flake.lock +++ b/flake.lock @@ -2,11 +2,11 @@ "nodes": { "nixpkgs": { "locked": { - "lastModified": 1769461804, - "narHash": "sha256-msG8SU5WsBUfVVa/9RPLaymvi5bI8edTavbIq3vRlhI=", + "lastModified": 1774386573, + "narHash": "sha256-4hAV26quOxdC6iyG7kYaZcM3VOskcPUrdCQd/nx8obc=", "owner": "NixOS", "repo": "nixpkgs", - "rev": "bfc1b8a4574108ceef22f02bafcf6611380c100d", + "rev": "46db2e09e1d3f113a13c0d7b81e2f221c63b8ce9", "type": "github" }, "original": { diff --git a/go.mod b/go.mod index ab355c0..2e3df01 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.23.0 require ( github.com/akedrou/textdiff v0.1.0 - github.com/rs/zerolog v1.34.0 + github.com/rs/zerolog v1.35.0 github.com/spf13/pflag v1.0.10 github.com/stretchr/testify v1.11.1 ) diff --git a/go.sum b/go.sum index d15139e..351e68a 100644 --- a/go.sum +++ b/go.sum @@ -34,6 +34,8 @@ github.com/rivo/uniseg v0.4.7/go.mod h1:FN3SvrM+Zdj16jyLfmOkMNblXMcoc8DfTHruCPUc github.com/rs/xid v1.6.0/go.mod h1:7XoLgs4eV+QndskICGsho+ADou8ySMSjJKDIan90Nz0= github.com/rs/zerolog v1.34.0 h1:k43nTLIwcTVQAncfCw4KZ2VY6ukYoZaBPNOE8txlOeY= github.com/rs/zerolog v1.34.0/go.mod h1:bJsvje4Z08ROH4Nhs5iH600c3IkWhwp44iRc54W6wYQ= +github.com/rs/zerolog v1.35.0 h1:VD0ykx7HMiMJytqINBsKcbLS+BJ4WYjz+05us+LRTdI= +github.com/rs/zerolog v1.35.0/go.mod h1:EjML9kdfa/RMA7h/6z6pYmq1ykOuA8/mjWaEvGI+jcw= github.com/sergi/go-diff v1.3.1 h1:xkr+Oxo4BOQKmkn/B9eMK0g5Kg/983T9DqqPHwYqD+8= github.com/sergi/go-diff v1.3.1/go.mod h1:aMJSSKb2lpPvRNec0+w3fl7LP9IOFzdc9Pa4NFbPK1I= github.com/sergi/go-diff v1.4.0 h1:n/SP9D5ad1fORl+llWyN+D6qoUETXNZARKjyY2/KVCw= diff --git a/internal/report/console/console.go b/internal/report/console/console.go index efca37f..f660616 100644 --- a/internal/report/console/console.go +++ b/internal/report/console/console.go @@ -10,7 +10,6 @@ import ( "github.com/jedib0t/go-pretty/v6/table" "github.com/jedib0t/go-pretty/v6/text" "github.com/rs/zerolog/log" - "github.com/sergi/go-diff/diffmatchpatch" "gitlab.com/TECHNOFAB/nixtest/internal/types" "gitlab.com/TECHNOFAB/nixtest/internal/util" ) @@ -25,16 +24,10 @@ func PrintErrors(results types.Results, noColor bool) { fmt.Println(text.FgRed.Sprintf("⚠ Test \"%s/%s\" failed:", result.Spec.Suite, result.Spec.Name)) message := result.ErrorMessage if result.Status == types.StatusFailure && message == "" { - if noColor { - var err error - message, err = util.ComputeDiff(result.Expected, result.Actual) - if err != nil { - log.Panic().Err(err).Msg("failed to compute diff") - } - } else { - dmp := diffmatchpatch.New() - diffs := dmp.DiffMain(result.Expected, result.Actual, true) - message = fmt.Sprintf("Diff:\n%s", dmp.DiffPrettyText(diffs)) + var err error + message, err = util.ComputeDiff(result.Expected, result.Actual) + if err != nil { + log.Panic().Err(err).Msg("failed to compute diff") } } diff --git a/lib/scriptHelpers.sh b/lib/scriptHelpers.sh index b1e3514..ba08e47 100644 --- a/lib/scriptHelpers.sh +++ b/lib/scriptHelpers.sh @@ -11,16 +11,16 @@ function assert_not_eq() { assert "$1 -ne $2" "$3" } function assert_contains() { - echo "$1" | grep -q -- "$2" || { - echo "Assertion failed: $3. $1 does not contain $2" >&2; + echo -n "$1" | grep -q -- "$2" || { + echo "Assertion failed: $3. The following does not contain $2: $1" >&2; exit 1; } } function assert_not_contains() { - echo "$1" | grep -q -- "$2" && { - echo "Assertion failed: $3. $1 does contain $2" >&2; + echo -n "$1" | grep -q -- "$2" && { + echo "Assertion failed: $3. The following does contain $2: $1" >&2; exit 1; - } + } || true } function assert_file_contains() { grep -q -- "$2" $1 || { diff --git a/nix/repo/flake.lock b/nix/repo/flake.lock index c340447..a09aa5e 100644 --- a/nix/repo/flake.lock +++ b/nix/repo/flake.lock @@ -38,11 +38,11 @@ "nixmkdocs-lib": { "locked": { "dir": "lib", - "lastModified": 1767549915, - "narHash": "sha256-by3r2qddlyzylup5fzSaDwtoy3eFHNKb65IuIq6bsAs=", + "lastModified": 1771673823, + "narHash": "sha256-1WFFaQZDPdTX1vL9BP+myIcgZjwvfxSUMGnUTrFmgVc=", "owner": "TECHNOFAB", "repo": "nixmkdocs", - "rev": "f3b2f4b19178e97c5580367be0f97e61a085db6d", + "rev": "deebf3dae19776200f9ef016ef6542bf9e17be8d", "type": "gitlab" }, "original": { @@ -81,11 +81,11 @@ "treefmt-nix": { "flake": false, "locked": { - "lastModified": 1769691507, - "narHash": "sha256-8aAYwyVzSSwIhP2glDhw/G0i5+wOrren3v6WmxkVonM=", + "lastModified": 1773297127, + "narHash": "sha256-6E/yhXP7Oy/NbXtf1ktzmU8SdVqJQ09HC/48ebEGBpk=", "owner": "numtide", "repo": "treefmt-nix", - "rev": "28b19c5844cc6e2257801d43f2772a4b4c050a1b", + "rev": "71b125cd05fbfd78cab3e070b73544abe24c5016", "type": "github" }, "original": { diff --git a/package.nix b/package.nix index fb6c468..ca0e4b4 100644 --- a/package.nix +++ b/package.nix @@ -19,6 +19,6 @@ buildGoModule { ]; }; subPackages = ["cmd/nixtest"]; - vendorHash = "sha256-WF/lzu9lt9SR3WiA8LLWVT1OwpE3sIOtSqf4HMIMmE8="; + vendorHash = "sha256-tojMKT5Mkt7GkdrA3sz8Y54bt26Td/tm/B0E1fwdp1Q="; meta.mainProgram = "nixtest"; }