tests: Improve metrics testing.

* tests/metrics.scm (nearest-exact-integer): Remove as unused.
("db-update-metrics"): Test that 'pending-builds metric is updated on
"db-update-metrics" call.
This commit is contained in:
Mathieu Othacehe 2020-09-15 17:52:18 +02:00
parent 7642748398
commit 8fc4794b30
No known key found for this signature in database
GPG Key ID: 8354763531769CA6
1 changed files with 7 additions and 10 deletions

View File

@ -23,11 +23,6 @@
((guix utils) #:select (call-with-temporary-output-file))
(srfi srfi-64))
(define (nearest-exact-integer x)
"Given a real number X, return the nearest exact integer, with ties going to
the nearest exact even integer."
(inexact->exact (round x)))
(define-syntax-rule (with-temporary-database body ...)
(call-with-temporary-output-file
(lambda (file port)
@ -117,13 +112,15 @@ nix_name, log, status, timestamp, starttime, stoptime) VALUES
(db-update-metric 'percentage-failed-eval-per-spec "guix")
(db-get-metrics-with-id 'percentage-failed-eval-per-spec)))
(test-assert "db-update-metrics"
(test-equal "db-update-metrics"
`((,today . 2.0))
(begin
(sqlite-exec (%db) (format #f "\
INSERT INTO Builds (id, derivation, evaluation, job_name, system,
nix_name, log, status, timestamp, starttime, stoptime) VALUES
(3, '/gnu/store/zzz.drv', 1, '', '', '', '', -2, 0, 0, 0);"))
(db-update-metrics)
(equal? (db-get-metric 'average-10-last-eval-duration-per-spec
"guix")
(db-get-metric 'average-100-last-eval-duration-per-spec
"guix"))))
(db-get-metrics-with-id 'pending-builds)))
(test-assert "db-close"
(db-close (%db)))