58 lines
1.9 KiB
OCaml
58 lines
1.9 KiB
OCaml
(**************************************************************************)
|
|
(* *)
|
|
(* OCaml *)
|
|
(* *)
|
|
(* Sebastien Hinderer, projet Gallium, INRIA Paris *)
|
|
(* *)
|
|
(* Copyright 2018 Institut National de Recherche en Informatique et *)
|
|
(* en Automatique. *)
|
|
(* *)
|
|
(* All rights reserved. This file is distributed under the terms of *)
|
|
(* the GNU Lesser General Public License version 2.1, with the *)
|
|
(* special exception on linking described in the file LICENSE. *)
|
|
(* *)
|
|
(**************************************************************************)
|
|
|
|
(* Definition of test-result related types and functions *)
|
|
|
|
type status = Pass | Skip | Fail
|
|
|
|
type t = {
|
|
status : status;
|
|
reason : string option
|
|
}
|
|
|
|
let result_of_status s = { status = s; reason = None }
|
|
|
|
let pass = result_of_status Pass
|
|
|
|
let skip = result_of_status Skip
|
|
|
|
let fail = result_of_status Fail
|
|
|
|
let result_with_reason s r = { status = s; reason = Some r }
|
|
|
|
let pass_with_reason r = result_with_reason Pass r
|
|
|
|
let skip_with_reason r = result_with_reason Skip r
|
|
|
|
let fail_with_reason r = result_with_reason Fail r
|
|
|
|
let string_of_status = function
|
|
| Pass -> "passed"
|
|
| Skip -> "skipped"
|
|
| Fail -> "failed"
|
|
|
|
let string_of_reason = function
|
|
| None -> ""
|
|
| Some reason -> (" (" ^ reason ^ ")")
|
|
|
|
let string_of_result r =
|
|
(string_of_status r.status) ^ (string_of_reason r.reason)
|
|
|
|
let is_pass r = r.status = Pass
|
|
|
|
let is_skip r = r.status = Skip
|
|
|
|
let is_fail r = r.status = Fail
|