Index: db.scm
==================================================================
--- db.scm
+++ db.scm
@@ -905,12 +905,14 @@
     (sqlite3:execute db "UPDATE runs SET state=? WHERE id=?;" newlockval run-id)
     (sqlite3:execute db "INSERT INTO access_log (user,accessed,args) VALUES(?,strftime('%s','now'),?);"
 		     user (conc newlockval " " run-id))
     (debug:print-info 1 "" newlockval " run number " run-id)))
 
-(define (db:set-run-status db run-id status)
-  (sqlite3:execute db "UPDATE runs SET status=? WHERE id=?;" status run-id))
+(define (db:set-run-status db run-id status #!key (msg #f))
+  (if msg
+      (sqlite3:execute db "UPDATE runs SET status=?,comment=? WHERE id=?;" status msg run-id)
+      (sqlite3:execute db "UPDATE runs SET status=? WHERE id=?;" status run-id)))
 
 (define (db:get-run-status db run-id)
   (let ((res "n/a"))
     (sqlite3:for-each-row 
      (lambda (status)

Index: megatest.scm
==================================================================
--- megatest.scm
+++ megatest.scm
@@ -571,11 +571,11 @@
 	       (debug:print-info 0 "No matching run found.")
 	       (exit 1))
 	     (let* ((row      (car (vector-ref runsdat 1)))
 		    (run-id   (db:get-value-by-header row header "id")))
 	       (if (args:get-arg "-set-run-status")
-		   (cdb:remote-run db:set-run-status #f run-id (args:get-arg "-set-run-status"))
+		   (cdb:remote-run db:set-run-status #f run-id (args:get-arg "-set-run-status") msg: (args:get-arg "-m"))
 		   (print (open-run-close db:get-run-status #f run-id))
 		   )))))))
 
 ;;======================================================================
 ;; Query runs