From e523e8a643b61a1feee395af935ddb5bde16a020 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Fri, 29 Jun 2018 17:41:23 -0700 Subject: [PATCH 1/2] Additional helpful information in error messages. --- src/lib/Hydra/Helper/AddBuilds.pm | 2 +- src/lib/Hydra/Helper/Nix.pm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/lib/Hydra/Helper/AddBuilds.pm b/src/lib/Hydra/Helper/AddBuilds.pm index d608e085..37061425 100644 --- a/src/lib/Hydra/Helper/AddBuilds.pm +++ b/src/lib/Hydra/Helper/AddBuilds.pm @@ -56,7 +56,7 @@ sub updateDeclarativeJobset { $input->jobsetinputalts->create({altnr => 0, value => $data->{value}}); } delete $declSpec->{"inputs"}; - die "invalid keys in declarative specification file\n" if (%{$declSpec}); + die "invalid keys ($declSpec) in declarative specification file\n" if (%{$declSpec}); }); }; diff --git a/src/lib/Hydra/Helper/Nix.pm b/src/lib/Hydra/Helper/Nix.pm index 07f266e3..d19f7e93 100644 --- a/src/lib/Hydra/Helper/Nix.pm +++ b/src/lib/Hydra/Helper/Nix.pm @@ -425,7 +425,7 @@ sub run { sub grab { my (%args) = @_; my $res = run(%args, grabStderr => 0); - die "command `@{$args{cmd}}' failed with exit status $res->{status}" if $res->{status}; + die "command `@{$args{cmd}}' failed with exit status $res->{status} in $args{dir}" if $res->{status}; return $res->{stdout}; } From 2e225ba7c88f131967b3dfd0030d46eddfaa7950 Mon Sep 17 00:00:00 2001 From: Kevin Quick Date: Sun, 17 Mar 2019 23:15:24 -0700 Subject: [PATCH 2/2] Do not attempt to report dir for grab command failure if not specified. --- src/lib/Hydra/Helper/Nix.pm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/lib/Hydra/Helper/Nix.pm b/src/lib/Hydra/Helper/Nix.pm index d19f7e93..8ce284ad 100644 --- a/src/lib/Hydra/Helper/Nix.pm +++ b/src/lib/Hydra/Helper/Nix.pm @@ -425,7 +425,13 @@ sub run { sub grab { my (%args) = @_; my $res = run(%args, grabStderr => 0); - die "command `@{$args{cmd}}' failed with exit status $res->{status} in $args{dir}" if $res->{status}; + if ($res->{status}) { + my $msgloc = "(in an indeterminate location)"; + if (defined $args{dir}) { + $msgloc = "in $args{dir}"; + } + die "command `@{$args{cmd}}' failed with exit status $res->{status} $msgloc"; + } return $res->{stdout}; }