mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2024-12-24 21:38:07 -05:00
challenge: Display an overall summary.
* guix/scripts/challenge.scm (summarize-report-list): New procedure. (guix-challenge): Use it. * doc/guix.texi (Invoking guix challenge): Adjust command output in example.
This commit is contained in:
parent
d213cc8c7f
commit
bf7dfb1f07
2 changed files with 23 additions and 0 deletions
|
@ -7276,6 +7276,13 @@ updating list of substitutes from 'https://guix.example.org'... 100.0%
|
|||
local hash: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
|
||||
https://hydra.gnu.org/nar/@dots{}-pius-2.1.1: 0k4v3m9z1zp8xzzizb7d8kjj72f9172xv078sq4wl73vnq9ig3ax
|
||||
https://guix.example.org/nar/@dots{}-pius-2.1.1: 1cy25x1a4fzq5rk0pmvc8xhwyffnqz95h2bpvqsz2mpvlbccy0gs
|
||||
|
||||
@dots{}
|
||||
|
||||
6,406 store items were analyzed:
|
||||
- 4,749 (74.1%) were identical
|
||||
- 525 (8.2%) differed
|
||||
- 1,132 (17.7%) were inconclusive
|
||||
@end smallexample
|
||||
|
||||
@noindent
|
||||
|
|
|
@ -210,6 +210,20 @@ (define (report-hashes item local narinfos)
|
|||
(report (G_ "~a contents match:~%") item)
|
||||
(report-hashes item local narinfos)))))
|
||||
|
||||
(define (summarize-report-list reports)
|
||||
"Display the overall summary of REPORTS."
|
||||
(let ((total (length reports))
|
||||
(inconclusive (count comparison-report-inconclusive? reports))
|
||||
(matches (count comparison-report-match? reports))
|
||||
(discrepancies (count comparison-report-mismatch? reports)))
|
||||
(report (G_ "~h store items were analyzed:~%") total)
|
||||
(report (G_ " - ~h (~,1f%) were identical~%")
|
||||
matches (* 100. (/ matches total)))
|
||||
(report (G_ " - ~h (~,1f%) differed~%")
|
||||
discrepancies (* 100. (/ discrepancies total)))
|
||||
(report (G_ " - ~h (~,1f%) were inconclusive~%")
|
||||
inconclusive (* 100. (/ inconclusive total)))))
|
||||
|
||||
|
||||
;;;
|
||||
;;; Command-line options.
|
||||
|
@ -292,6 +306,8 @@ (define (guix-challenge . args)
|
|||
(reports (compare-contents items urls)))
|
||||
(for-each (cut summarize-report <> #:verbose? verbose?)
|
||||
reports)
|
||||
(report "\n")
|
||||
(summarize-report-list reports)
|
||||
|
||||
(exit (cond ((any comparison-report-mismatch? reports) 2)
|
||||
((every comparison-report-match? reports) 0)
|
||||
|
|
Loading…
Reference in a new issue