diff options
author | Ludovic Courtès <ludo@gnu.org> | 2014-06-26 22:23:36 +0200 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2014-06-27 00:12:40 +0200 |
commit | c1202fb1f9b805e7c7151e3d34bd4f86c86acd75 (patch) | |
tree | 29253c66940610c655738e083fb47fdf2bbec655 /guix/scripts | |
parent | 80b77646a4af6073bb4a4e92f5d416716da20704 (diff) | |
download | gnu-guix-c1202fb1f9b805e7c7151e3d34bd4f86c86acd75.tar gnu-guix-c1202fb1f9b805e7c7151e3d34bd4f86c86acd75.tar.gz |
guix {system,offload}: Improve reporting of syntax errors.
* guix/scripts/system.scm (read-operating-system) <catch handler>: Add
case for 'syntax-error'. Correct message for default case.
* guix/scripts/offload.scm (build-machines) <catch handler>: Add case
for 'syntax-error'.
* tests/guix-system.sh: New file.
* Makefile.am (SH_TESTS): Add it.
Diffstat (limited to 'guix/scripts')
-rw-r--r-- | guix/scripts/offload.scm | 4 | ||||
-rw-r--r-- | guix/scripts/system.scm | 6 |
2 files changed, 9 insertions, 1 deletions
diff --git a/guix/scripts/offload.scm b/guix/scripts/offload.scm index d87cad3f23..18af511ed8 100644 --- a/guix/scripts/offload.scm +++ b/guix/scripts/offload.scm @@ -121,6 +121,10 @@ determined." '() (leave (_ "failed to open machine file '~a': ~a~%") file (strerror err))))) + (('syntax-error proc message properties form . rest) + (let ((loc (source-properties->location properties))) + (leave (_ "~a: ~a~%") + (location->string loc) message))) (_ (leave (_ "failed to load machine file '~a': ~s~%") file args)))))) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index c71ad4cbe9..1bedc2c68a 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -66,8 +66,12 @@ (let ((err (system-error-errno args))) (leave (_ "failed to open operating system file '~a': ~a~%") file (strerror err)))) + (('syntax-error proc message properties form . rest) + (let ((loc (source-properties->location properties))) + (leave (_ "~a: ~a~%") + (location->string loc) message))) (_ - (leave (_ "failed to load machine file '~a': ~s~%") + (leave (_ "failed to load operating system file '~a': ~s~%") file args)))))) (define* (copy-closure store item target |