diff --git a/manifest/main.ml b/manifest/main.ml index ebfa8ee5cebbb9a3a36ca0e9f997f2d70ea65645..b5f25355111ea9b71d476513d4e3effd229ca65d 100644 --- a/manifest/main.ml +++ b/manifest/main.ml @@ -389,7 +389,7 @@ let tezt_core_lib = let tezt_js_lib = external_sublib tezt_lib ~js_compatible:true "tezt.js" -let tezt ~opam ~path ?js_compatible ?modes ?(deps = []) ?dep_globs +let tezt ~opam ~path ?js_compatible ?modes ?(deps = []) ?dep_globs ?dep_files ?opam_with_test ?synopsis l = tezt_without_tezt_lib_dependency ~opam @@ -401,6 +401,7 @@ let tezt ~opam ~path ?js_compatible ?modes ?(deps = []) ?dep_globs ~exe_deps:[tezt_lib] ~js_deps:[tezt_js_lib] ?dep_globs + ?dep_files ?opam_with_test l @@ -1184,9 +1185,11 @@ let octez_base_unix = uri; ] -let lib_base_tests ?dep_files names = - tests - names +let _octez_base_tests = + tezt + [ + "test_bounded"; "test_time"; "test_protocol"; "test_p2p_addr"; "test_sized"; + ] ~path:"src/lib_base/test" ~opam:"tezos-base" ~deps: @@ -1194,21 +1197,18 @@ let lib_base_tests ?dep_files names = octez_base |> open_; octez_error_monad |> open_; data_encoding; - qcheck_alcotest; octez_test_helpers |> open_; + qcheck_alcotest; + alcotezt; + ] + ~dep_files: + [ + (* Note: those files are only actually needed by test_p2p_addr. *) + "points.ok"; + "points.ko"; ] - ?dep_files ~modes:[Native; JS] ~js_compatible:true - ~modules:names - -let _octez_base_tests_1 = - lib_base_tests ["test_bounded"; "test_time"; "test_protocol"] - -let _octez_base_tests_2 = - lib_base_tests ["test_p2p_addr"] ~dep_files:["points.ok"; "points.ko"] - -let _octez_base_tests_3 = lib_base_tests ["test_sized"] let _octez_base_unix_tests = test diff --git a/opam/tezos-base.opam b/opam/tezos-base.opam index ccae4c4d6f5a3aaad3cfe27182f213b282d1c2f2..c8ad4e8bb84263e8a00c57c6a458f20db8f0bcbd 100644 --- a/opam/tezos-base.opam +++ b/opam/tezos-base.opam @@ -24,12 +24,15 @@ depends: [ "uri" { >= "3.1.0" } "tezos-hacl" "tezos-stdlib-unix" - "qcheck-alcotest" { with-test & >= "0.20" } "tezos-test-helpers" {with-test} + "qcheck-alcotest" { with-test & >= "0.20" } + "tezt" { with-test & >= "3.0.0" } + "octez-alcotezt" {with-test} ] build: [ ["rm" "-r" "vendors"] ["dune" "build" "-p" name "-j" jobs] ["dune" "runtest" "-p" name "-j" jobs] {with-test} + ["dune" "build" "@runtezt" "-p" name "-j" jobs] {with-test} ] synopsis: "Tezos: meta-package and pervasive type definitions for Tezos" diff --git a/src/lib_base/test/dune b/src/lib_base/test/dune index af54f30a627d9369beab456e3622c6999c73a180..f70a1b5aeef2a7f1fa04ab733de1c45c8a17641a 100644 --- a/src/lib_base/test/dune +++ b/src/lib_base/test/dune @@ -3,105 +3,62 @@ (env (_ (env-vars (NODE_PRELOAD hacl-wasm,ocaml-bls12-381,secp256k1-wasm)))) -(executables - (names test_bounded test_time test_protocol) - (modes native js) +(library + (name src_lib_base_test_tezt_lib) + (instrumentation (backend bisect_ppx)) (libraries + tezt.core tezos-base tezos-error-monad data-encoding + tezos-test-helpers qcheck-alcotest - tezos-test-helpers) + octez-alcotezt) (js_of_ocaml) + (library_flags (:standard -linkall)) (flags (:standard) + -open Tezt_core + -open Tezt_core.Base -open Tezos_base -open Tezos_error_monad - -open Tezos_test_helpers) - (modules test_bounded test_time test_protocol)) - -(rule - (alias runtest) - (package tezos-base) - (action (run %{dep:./test_bounded.exe}))) - -(rule - (alias runtest) - (package tezos-base) - (action (run %{dep:./test_time.exe}))) - -(rule - (alias runtest) - (package tezos-base) - (action (run %{dep:./test_protocol.exe}))) - -(rule - (alias runtest_js) - (package tezos-base) - (action (run node %{dep:./test_bounded.bc.js}))) - -(rule - (alias runtest_js) - (package tezos-base) - (action (run node %{dep:./test_time.bc.js}))) - -(rule - (alias runtest_js) - (package tezos-base) - (action (run node %{dep:./test_protocol.bc.js}))) + -open Tezos_test_helpers + -open Octez_alcotezt) + (modules test_bounded test_time test_protocol test_p2p_addr test_sized)) (executable - (name test_p2p_addr) - (modes native js) + (name main) + (modes native) (libraries - tezos-base - tezos-error-monad - data-encoding - qcheck-alcotest - tezos-test-helpers) - (js_of_ocaml) - (flags - (:standard) - -open Tezos_base - -open Tezos_error_monad - -open Tezos_test_helpers) - (modules test_p2p_addr)) + src_lib_base_test_tezt_lib + tezt) + (modules main)) (rule - (alias runtest) + (alias runtezt) (package tezos-base) (deps points.ok points.ko) - (action (run %{dep:./test_p2p_addr.exe}))) + (action (run %{dep:./main.exe}))) (rule - (alias runtest_js) - (package tezos-base) - (deps points.ok points.ko) - (action (run node %{dep:./test_p2p_addr.bc.js}))) + (targets main.ml) + (action (with-stdout-to %{targets} (echo "let () = Tezt.Test.run ()")))) (executable - (name test_sized) - (modes native js) + (name main_js) + (modes js) (libraries - tezos-base - tezos-error-monad - data-encoding - qcheck-alcotest - tezos-test-helpers) + src_lib_base_test_tezt_lib + tezt.js) (js_of_ocaml) - (flags - (:standard) - -open Tezos_base - -open Tezos_error_monad - -open Tezos_test_helpers) - (modules test_sized)) + (modules main_js)) (rule - (alias runtest) + (alias runtezt_js) (package tezos-base) - (action (run %{dep:./test_sized.exe}))) + (deps points.ok points.ko) + (action (run node %{dep:./main_js.bc.js}))) (rule - (alias runtest_js) - (package tezos-base) - (action (run node %{dep:./test_sized.bc.js}))) + (targets main_js.ml) + (action (with-stdout-to %{targets} (echo "let () = Tezt_js.Test.run ()")))) diff --git a/src/lib_base/test/test_bounded.ml b/src/lib_base/test/test_bounded.ml index c8795c8d9620ca5baf663b1f73dd696637eb452c..cfd150d44e7395df93ad55f54e37b8fe31b09984 100644 --- a/src/lib_base/test/test_bounded.ml +++ b/src/lib_base/test/test_bounded.ml @@ -266,7 +266,7 @@ end = struct in let* ety = oneofl values in match ety with - | E (type a) (ty : a Bounded.Internal_for_tests.t) -> + | E ty -> let* (module S : S) = gen_from_ty ty in let* element = S.gen in return (E' {bounded = (module S); element}) diff --git a/src/lib_base/test/test_p2p_addr.ml b/src/lib_base/test/test_p2p_addr.ml index 55b3b8e1daaf929bfa422d29f5eff3cd2343d847..5b87808e231f745e7eee462cf2c022d3cc657c75 100644 --- a/src/lib_base/test/test_p2p_addr.ml +++ b/src/lib_base/test/test_p2p_addr.ml @@ -117,7 +117,7 @@ let eq l r = eq_addr l.addr r.addr && l.port = r.port && eq_peer_id l.peer_id r.peer_id let process_points filename f = - let file = open_in filename in + let file = open_in (project_root // "src/lib_base/test" // filename) in try while true do f (input_line file) diff --git a/tezt/tests/dune b/tezt/tests/dune index cfed44a9ad952f014132c7abe8116f43f084742c..6029b9ee3d17db30e32e5a971bd023ace03f7965 100644 --- a/tezt/tests/dune +++ b/tezt/tests/dune @@ -22,7 +22,8 @@ src_lib_p2p_tezt_tezt_lib src_lib_lwt_result_stdlib_test_tezt_lib src_lib_error_monad_test_tezt_lib - src_lib_benchmark_test_tezt_lib) + src_lib_benchmark_test_tezt_lib + src_lib_base_test_tezt_lib) (flags (:standard) -open Tezt