From c1202fb1f9b805e7c7151e3d34bd4f86c86acd75 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Jun 2014 22:23:36 +0200 Subject: guix {system,offload}: Improve reporting of syntax errors. * guix/scripts/system.scm (read-operating-system) : Add case for 'syntax-error'. Correct message for default case. * guix/scripts/offload.scm (build-machines) : Add case for 'syntax-error'. * tests/guix-system.sh: New file. * Makefile.am (SH_TESTS): Add it. --- guix/scripts/offload.scm | 4 ++++ guix/scripts/system.scm | 6 +++++- 2 files changed, 9 insertions(+), 1 deletion(-) (limited to 'guix') 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 @@ (define* (build-machines #:optional (file %machine-file)) '() (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 @@ (define (read-operating-system file) (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 -- cgit v1.2.3