package ounit2
OUnit testing framework
Install
Dune Dependency
Authors
Maintainers
Sources
ounit-2.2.7.tbz
sha256=90f6e63bd1240a51d8b9b2f722059bd79ce00b5276bdd6238b8f5c613c0e7388
sha512=53463e5b1b5a40f424e19f5f6a86338a544079600d1fd121ffc1a6fcaa239630194018faf91ccf360ba40b1b2a8b01cf491935e014c68d2947f6e027a2f0a0f9
doc/src/ounit2.advanced/oUnitCheckEnv.ml.html
Source file oUnitCheckEnv.ml
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109
(**************************************************************************) (* The OUnit library *) (* *) (* Copyright (C) 2002-2008 Maas-Maarten Zeeman. *) (* Copyright (C) 2010 OCamlCore SARL *) (* Copyright (C) 2013 Sylvain Le Gall *) (* *) (* The package OUnit is copyright by Maas-Maarten Zeeman, OCamlCore SARL *) (* and Sylvain Le Gall. *) (* *) (* Permission is hereby granted, free of charge, to any person obtaining *) (* a copy of this document and the OUnit software ("the Software"), to *) (* deal in the Software without restriction, including without limitation *) (* the rights to use, copy, modify, merge, publish, distribute, *) (* sublicense, and/or sell copies of the Software, and to permit persons *) (* to whom the Software is furnished to do so, subject to the following *) (* conditions: *) (* *) (* The above copyright notice and this permission notice shall be *) (* included in all copies or substantial portions of the Software. *) (* *) (* The Software is provided ``as is'', without warranty of any kind, *) (* express or implied, including but not limited to the warranties of *) (* merchantability, fitness for a particular purpose and noninfringement. *) (* In no event shall Maas-Maarten Zeeman be liable for any claim, damages *) (* or other liability, whether in an action of contract, tort or *) (* otherwise, arising from, out of or in connection with the Software or *) (* the use or other dealings in the software. *) (* *) (* See LICENSE.txt for details. *) (**************************************************************************) (* Check environment after and before tests, to check isolation. *) open OUnitTest open OUnitAssert type t = { pwd: string; env: string array; } let create () = { pwd = Sys.getcwd (); env = let e = Unix.environment () in if Sys.os_type = "Win32" then begin let lst = Array.fold_right (fun v lst -> (* On Win32, sometimes an environment variable like: "=C:=C:\\foobar" will be added. AFAIU, this is the absolute location in the drive C: and it helps to resolve relative root path. For example, "C:" which is relative will translate to "C:\\foobar" in this case. We don't take this into account because using "chdir" elsewhere will change this value in the environment. https://devblogs.microsoft.com/oldnewthing/20100506-00/?p=14133 *) if OUnitUtils.starts_with ~prefix:"=" v then lst else v :: lst) e [] in Array.of_list lst end else begin e end; } module EnvElement = struct type t = string let pp_printer = Format.pp_print_string let compare = String.compare let pp_print_sep = OUnitDiff.pp_comma_separator end module SetEnv = OUnitDiff.SetMake(EnvElement) let check test_ctxt t = let t' = create () in List.iter (fun f -> non_fatal test_ctxt (fun _ -> f ())) [ (fun () -> assert_equal ~msg:"Check that the current working dir hasn't changed during the \ test." ~printer:(fun s -> s) t.pwd t'.pwd); (fun () -> let convert t = SetEnv.of_list (Array.to_list t.env) in SetEnv.assert_equal ~msg:"Check that the environment variables haven't changed during \ the test." (convert t) (convert t')); ]
sectionYPositions = computeSectionYPositions($el), 10)"
x-init="setTimeout(() => sectionYPositions = computeSectionYPositions($el), 10)"
>