package alcotest

  1. Overview
  2. Docs
Alcotest is a lightweight and colourful test framework

Install

Dune Dependency

Authors

Maintainers

Sources

alcotest-1.9.0.tbz
sha256=e2387136ca854df2b4152139dd4d4b3953a646e804948073dedfe0a232f08a15
sha512=ba38fe4a9061b001d274e5d41fb06c10c84120570fc00dc57dc5a06ba05176c2413295680d839f465ba91469ea99d7e172a324e26f005d6e8c4d98fca7657241

Description

Alcotest exposes simple interface to perform unit tests. It exposes a simple TESTABLE module type, a check function to assert test predicates and a run function to perform a list of unit -> unit test callbacks.

Alcotest provides a quiet and colorful output where only faulty runs are fully displayed at the end of the run (with the full logs ready to inspect), with a simple (yet expressive) query language to select the tests to run.

Published: 18 Mar 2025

Dependencies (9)

  1. ocaml-syntax-shims
  2. uutf >= "1.0.1"
  3. stdlib-shims
  4. re >= "1.7.2"
  5. cmdliner >= "1.2.0"
  6. astring
  7. fmt >= "0.8.7"
  8. ocaml >= "4.08"
  9. dune >= "3.0"

Dev Dependencies (1)

  1. odoc with-doc

  1. ahrocksdb
  2. albatross >= "1.5.0"
  3. alcotest-async < "1.0.0" | >= "1.9.0"
  4. alcotest-js >= "1.9.0"
  5. alcotest-lwt < "1.0.0" | >= "1.9.0"
  6. alcotest-mirage >= "1.9.0"
  7. alg_structs_qcheck
  8. algaeff
  9. ambient-context
  10. ambient-context-eio
  11. ambient-context-lwt
  12. angstrom >= "0.7.0"
  13. ansi >= "0.6.0"
  14. anycache >= "0.7.4"
  15. anycache-async
  16. anycache-lwt
  17. archetype >= "1.4.2"
  18. archi
  19. arp != "2.3.1"
  20. arp-mirage < "2.0.0"
  21. arrakis
  22. art
  23. asai
  24. asak >= "0.2"
  25. asli >= "0.2.0"
  26. asn1-combinators >= "0.2.2"
  27. atd >= "2.3.3"
  28. atdgen >= "2.10.0"
  29. atdpy
  30. atdts
  31. backoff
  32. base32
  33. base64 >= "2.1.2" & < "3.2.0" | >= "3.4.0"
  34. bastet
  35. bastet_lwt
  36. bech32
  37. bechamel >= "0.5.0"
  38. bigarray-overlap
  39. bigstringaf
  40. bitlib
  41. blake2
  42. bloomf
  43. bls12-381 < "0.4.1" | >= "3.0.0" & < "18.0"
  44. bls12-381-hash
  45. bls12-381-js >= "0.4.2"
  46. bls12-381-js-gen >= "0.4.2"
  47. bls12-381-legacy
  48. bls12-381-signature
  49. bls12-381-unix
  50. blurhash
  51. brisk-reconciler
  52. builder-web
  53. bytebuffer
  54. ca-certs
  55. ca-certs-nss
  56. cachet
  57. cachet-lwt
  58. cachet-solo5
  59. cactus
  60. caldav
  61. calendar >= "3.0.0"
  62. callipyge
  63. camlix
  64. camlkit
  65. camlkit-base
  66. capnp-rpc
  67. capnp-rpc-lwt < "0.3.1"
  68. capnp-rpc-mirage >= "0.9.0"
  69. capnp-rpc-unix >= "0.9.0"
  70. caqti >= "1.7.0"
  71. caqti-async >= "1.7.0"
  72. caqti-driver-mariadb >= "1.7.0"
  73. caqti-driver-postgresql >= "1.7.0"
  74. caqti-driver-sqlite3 >= "1.7.0"
  75. caqti-dynload >= "2.0.1"
  76. caqti-eio
  77. caqti-lwt >= "1.7.0"
  78. caqti-miou
  79. carray
  80. carton < "1.0.0"
  81. carton-git
  82. carton-lwt >= "0.4.1" & < "1.0.0"
  83. catala >= "0.6.0"
  84. cborl
  85. cf-lwt
  86. chacha
  87. chamelon
  88. chamelon-unix
  89. charrua-client
  90. charrua-client-lwt
  91. charrua-client-mirage < "0.11.0"
  92. charrua-server >= "1.4.1"
  93. checked_oint
  94. checkseum >= "0.0.3"
  95. cid
  96. clarity-lang
  97. class_group_vdf
  98. cohttp
  99. cohttp-curl-async
  100. cohttp-curl-lwt
  101. cohttp-eio >= "6.0.0~beta2"
  102. colombe >= "0.2.0"
  103. color
  104. commons
  105. conan
  106. conan-cli
  107. conan-database
  108. conan-lwt
  109. conan-unix
  110. conex < "0.10.0"
  111. conex-mirage-crypto
  112. conex-nocrypto
  113. conformist
  114. cookie
  115. corosync
  116. cow >= "2.2.0"
  117. css
  118. css-parser
  119. cstruct >= "3.3.0"
  120. cstruct-sexp
  121. ctypes-zarith
  122. cuid
  123. curly
  124. current >= "0.4"
  125. current-albatross-deployer
  126. current_git >= "0.6.4"
  127. current_incr
  128. data-encoding
  129. dates_calc
  130. dbase4
  131. decimal >= "0.3.0"
  132. decompress
  133. depyt
  134. digestif >= "0.8.1"
  135. dirsp-exchange-kbb2017
  136. dirsp-proscript-mirage
  137. dirsp-ps2ocaml
  138. dispatch >= "0.4.1"
  139. dkim
  140. dkim-bin
  141. dkim-mirage
  142. dkml-dune-dsl-show
  143. dkml-install
  144. dkml-install-installer
  145. dkml-install-runner
  146. dkml-package-console
  147. dns >= "4.0.0"
  148. dns-cli
  149. dns-client >= "4.6.0"
  150. dns-forward-lwt-unix
  151. dns-resolver
  152. dns-server
  153. dns-tsig
  154. dnssd
  155. dnssec
  156. docfd >= "2.2.0"
  157. dockerfile >= "8.2.2"
  158. domain-local-await >= "0.2.1"
  159. domain-local-timeout
  160. domain-name
  161. dot-merlin-reader = "5.3~5.3preview"
  162. dream
  163. dream-htmx
  164. dream-pure
  165. dscheck >= "0.1.1"
  166. duff
  167. dune-deps >= "1.4.0"
  168. dune-release >= "1.0.0"
  169. duration >= "0.1.1"
  170. echo
  171. eio < "0.12"
  172. eio_linux
  173. eio_windows
  174. emile
  175. encore
  176. eqaf >= "0.5"
  177. equinoxe
  178. equinoxe-cohttp
  179. equinoxe-hlc
  180. ezgzip
  181. ezjsonm
  182. ezjsonm-lwt
  183. FPauth
  184. FPauth-core
  185. FPauth-responses
  186. FPauth-strategies
  187. faraday != "0.2.0"
  188. farfadet
  189. fat-filesystem
  190. ff
  191. ff-pbt
  192. flex-array
  193. fsevents-lwt
  194. functoria
  195. functoria-runtime >= "2.2.0" & < "3.0.1" | = "3.1.2"
  196. fungi
  197. geojson
  198. geoml >= "0.1.1"
  199. git
  200. git-cohttp
  201. git-cohttp-mirage
  202. git-cohttp-unix
  203. git-kv >= "0.1.0" & < "0.1.3"
  204. git-mirage
  205. git-split
  206. git-unix = "2.0.0" | >= "2.1.1"
  207. gitlab-unix
  208. glicko2
  209. gmap >= "0.3.0"
  210. gobba
  211. gpt
  212. graphql
  213. graphql-async
  214. graphql-cohttp >= "0.13.0"
  215. graphql-lwt
  216. graphql_parser != "0.11.0"
  217. graphql_ppx
  218. h1
  219. h1_parser
  220. h2
  221. hacl
  222. hacl-star >= "0.6.0"
  223. hacl_func
  224. hacl_x25519 >= "0.2.0"
  225. highlexer
  226. hkdf
  227. hockmd
  228. html_of_jsx
  229. http
  230. http-multipart-formdata < "2.0.0"
  231. httpaf >= "0.2.0"
  232. httpcats
  233. httpun
  234. httpun-ws
  235. hvsock
  236. icalendar >= "0.1.4"
  237. imagelib
  238. index
  239. inferno >= "20220603"
  240. influxdb-async
  241. influxdb-lwt
  242. inquire < "0.2.0"
  243. interval-map
  244. iomux
  245. irmin != "2.3.0"
  246. irmin-bench >= "2.7.0"
  247. irmin-chunk >= "2.3.0"
  248. irmin-cli
  249. irmin-containers
  250. irmin-fs >= "2.3.0"
  251. irmin-git >= "2.3.0"
  252. irmin-graphql >= "2.3.0"
  253. irmin-mem >= "2.3.0"
  254. irmin-pack >= "2.4.0" & != "2.6.1"
  255. irmin-pack-tools
  256. irmin-test < "3.4.0" | >= "3.9.0"
  257. irmin-tezos
  258. irmin-tezos-utils
  259. irmin-unix >= "2.4.0" & != "2.6.1"
  260. irmin-watcher >= "0.4.0"
  261. jekyll-format
  262. jose
  263. json-data-encoding >= "0.9"
  264. json_decoder
  265. jsonxt
  266. junit_alcotest >= "2.2.0"
  267. jwto
  268. kcas >= "0.6.0"
  269. kcas_data >= "0.6.0"
  270. kdf
  271. ke >= "0.2"
  272. kkmarkdown
  273. kmt
  274. lambda-runtime
  275. lambda_streams
  276. lambda_streams_async
  277. lambdapi
  278. ledgerwallet-tezos >= "0.2.1" & < "0.4.0"
  279. letters
  280. lmdb >= "1.0"
  281. lockfree >= "0.3.1"
  282. logical
  283. logtk >= "1.6"
  284. lp
  285. lp-glpk
  286. lp-glpk-js
  287. lp-gurobi
  288. lru
  289. lt-code
  290. luv
  291. mazeppa
  292. mbr-format
  293. mdx >= "1.6.0"
  294. mec
  295. mechaml >= "1.2.1"
  296. merlin >= "4.17.1-414" & < "4.18-414" | >= "5.2.1-502" & < "5.3-502"
  297. merlin-lib >= "4.17.1-414" & < "5.0-502" | >= "5.2.1-502"
  298. metrics
  299. middleware
  300. mimic
  301. minicaml = "0.3.1" | >= "0.4"
  302. mirage >= "4.0.0~beta1"
  303. mirage-block-partition
  304. mirage-block-ramdisk >= "0.6"
  305. mirage-channel >= "4.0.1"
  306. mirage-channel-lwt < "3.1.0"
  307. mirage-crypto-ec >= "0.10.0"
  308. mirage-flow-unix < "1.3.0" | >= "3.0.0"
  309. mirage-fs-mem
  310. mirage-kv >= "2.0.0"
  311. mirage-kv-unix >= "3.0.0"
  312. mirage-logs >= "0.3.0"
  313. mirage-nat
  314. mirage-net-unix
  315. mirage-runtime >= "4.0.0~beta1" & < "4.5.0"
  316. mirage-tc
  317. mirage-vnetif-stack
  318. mjson
  319. mmdb < "0.3.0"
  320. mnd
  321. mqtt
  322. mrmime >= "0.2.0"
  323. msgpck >= "1.6"
  324. mssql >= "2.0.3"
  325. multibase
  326. multicore-magic >= "1.0.1"
  327. multihash
  328. multihash-digestif
  329. multipart-form-data
  330. multipart_form
  331. multipart_form-eio
  332. multipart_form-lwt
  333. named-pipe
  334. nanoid
  335. nbd >= "4.0.3"
  336. nbd-tool
  337. nloge
  338. nocoiner
  339. non_empty_list
  340. OCADml >= "0.6.0"
  341. obatcher
  342. ocaml-index = "1.1"
  343. ocaml-r >= "0.4.0"
  344. ocaml-version >= "3.1.0"
  345. ocamlformat >= "0.13.0" & < "0.25.1"
  346. ocamlformat-lib
  347. ocamlformat-mlx-lib
  348. ocamlformat-rpc < "removed"
  349. ocamline
  350. ocluster
  351. octez-bls12-381-hash
  352. octez-bls12-381-signature
  353. octez-libs
  354. octez-mec
  355. odoc < "2.1.0"
  356. ohex
  357. oidc
  358. opam-0install
  359. opam-0install-cudf >= "0.5.0"
  360. opam-compiler
  361. opam-file-format >= "2.1.1"
  362. opentelemetry >= "0.6"
  363. opentelemetry-client-cohttp-lwt >= "0.6"
  364. opentelemetry-client-ocurl >= "0.6"
  365. opentelemetry-cohttp-lwt >= "0.6"
  366. opentelemetry-lwt >= "0.6"
  367. opium
  368. opium-graphql
  369. opium-testing
  370. opium_kernel
  371. orewa
  372. orgeat
  373. ortac-core
  374. osnap < "0.3.0"
  375. osx-acl
  376. osx-attr
  377. osx-cf
  378. osx-fsevents
  379. osx-membership
  380. osx-mount
  381. osx-xattr
  382. otoggl
  383. owl >= "0.7.0" & != "0.9.0" & != "1.0.0"
  384. owl-base < "0.5.0"
  385. owl-ode >= "0.1.0" & != "0.2.0"
  386. owl-symbolic
  387. par_incr
  388. passmaker
  389. patch
  390. pbkdf
  391. pecu >= "0.2"
  392. pf-qubes
  393. pg_query >= "0.9.6"
  394. pgx >= "1.0"
  395. pgx_unix >= "1.0"
  396. pgx_value_core
  397. pgx_value_ptime
  398. phylogenetics
  399. piaf
  400. picos < "0.5.0"
  401. picos_meta
  402. piece_rope
  403. plebeia >= "2.0.0"
  404. polyglot
  405. polynomial
  406. ppx_blob >= "0.3.0"
  407. ppx_catch
  408. ppx_deriving_cmdliner
  409. ppx_deriving_ezjsonm
  410. ppx_deriving_qcheck
  411. ppx_deriving_rpc
  412. ppx_deriving_yaml
  413. ppx_inline_alcotest
  414. ppx_map
  415. ppx_mica
  416. ppx_parser
  417. ppx_protocol_conv >= "5.0.0"
  418. ppx_protocol_conv_json >= "5.0.0"
  419. ppx_protocol_conv_jsonm >= "5.0.0"
  420. ppx_protocol_conv_msgpack >= "5.0.0"
  421. ppx_protocol_conv_xml_light >= "5.0.0"
  422. ppx_protocol_conv_xmlm
  423. ppx_protocol_conv_yaml >= "5.0.0"
  424. ppx_repr
  425. ppx_subliner
  426. ppx_units
  427. ppx_yojson >= "1.1.0"
  428. pratter
  429. prbnmcn-ucb1 >= "0.0.2"
  430. prc
  431. preface
  432. pretty_expressive
  433. prettym
  434. proc-smaps
  435. producer
  436. progress
  437. prom
  438. prometheus < "1.2"
  439. prometheus-app
  440. protocell
  441. protocol-9p < "0.11.0" | >= "0.11.2"
  442. protocol-9p-unix
  443. psq
  444. pyast
  445. qcheck >= "0.18"
  446. qcheck-alcotest
  447. qcheck-core >= "0.18"
  448. quickjs
  449. randii
  450. reason-standard
  451. red-black-tree
  452. reparse >= "2.0.0" & < "3.0.0"
  453. reparse-unix < "2.1.0"
  454. resp
  455. resp-unix >= "0.10.0"
  456. resto >= "0.9"
  457. rfc1951 < "1.0.0"
  458. routes < "2.0.0"
  459. rpc >= "7.1.0"
  460. rpclib >= "7.1.0"
  461. rpclib-async
  462. rpclib-lwt >= "7.1.0"
  463. rpmfile < "0.3.0"
  464. rpmfile-eio
  465. rpmfile-unix
  466. SZXX >= "4.0.0"
  467. salsa20
  468. salsa20-core
  469. sanddb >= "0.2"
  470. saturn != "0.4.1"
  471. saturn_lockfree != "0.4.1"
  472. scrypt-kdf
  473. secp256k1 >= "0.4.1"
  474. secp256k1-internal
  475. semver >= "0.2.1"
  476. sendmail
  477. sendmail-lwt
  478. sendmail-miou-unix
  479. sendmail-mirage
  480. sendmsg
  481. seqes
  482. server-reason-react
  483. session-cookie
  484. session-cookie-async
  485. session-cookie-lwt
  486. sherlodoc
  487. sihl < "0.2.0"
  488. sihl-type
  489. slug
  490. smaws-clients
  491. smaws-lib
  492. smol
  493. smol-helpers
  494. sodium-fmt
  495. solidity-alcotest
  496. spdx_licenses
  497. spectrum >= "0.2.0"
  498. spin >= "0.7.0"
  499. spurs
  500. squirrel
  501. ssh-agent
  502. ssl >= "0.6.0"
  503. starred_ml
  504. stramon-lib
  505. styled-ppx
  506. swapfs
  507. syslog-rfc5424
  508. tabr
  509. tar-mirage >= "2.4.0"
  510. tcpip < "3.4.2" | >= "6.2.0"
  511. tdigest < "2.1.0"
  512. term-indexing
  513. term-tools
  514. terminal
  515. terminal_size >= "0.1.1"
  516. terminus
  517. terminus-cohttp
  518. terminus-hlc
  519. terml
  520. testo
  521. testo-lwt
  522. textmate-language >= "0.3.0"
  523. textrazor
  524. tezos-base-test-helpers < "17.3"
  525. tezos-bls12-381-polynomial
  526. tezos-client-base < "17.3"
  527. tezos-client-base-unix < "17.3"
  528. tezos-crypto >= "16.0" & < "17.3"
  529. tezos-crypto-dal < "17.3"
  530. tezos-error-monad >= "12.3" & < "17.3"
  531. tezos-event-logging-test-helpers < "17.3"
  532. tezos-plompiler = "0.1.3"
  533. tezos-plonk = "0.1.3"
  534. tezos-shell-services >= "16.0" & < "17.3"
  535. tezos-stdlib != "12.3" & < "17.3"
  536. tezos-test-helpers < "17.3"
  537. tezos-version >= "16.0" & < "17.3"
  538. tezos-webassembly-interpreter < "17.3"
  539. thread-table
  540. timedesc
  541. timere
  542. timmy
  543. timmy-jsoo
  544. timmy-lwt
  545. timmy-unix
  546. tls >= "0.12.0"
  547. toc
  548. topojson
  549. topojsone
  550. trail
  551. traits
  552. transept
  553. tsort >= "2.2.0"
  554. twostep
  555. type_eq
  556. type_id
  557. typebeat
  558. typeid >= "1.0.1"
  559. tyre >= "0.4"
  560. tyxml >= "4.2.0"
  561. tyxml-jsx
  562. tyxml-ppx >= "4.3.0"
  563. tyxml-syntax
  564. uecc
  565. ulid
  566. universal-portal
  567. unix-dirent
  568. unix-errno
  569. unix-sys-resource
  570. unix-sys-stat
  571. unix-time
  572. unstrctrd
  573. uring < "0.4"
  574. user-agent-parser
  575. uspf
  576. uspf-lwt
  577. uspf-mirage
  578. uspf-unix
  579. utop >= "2.13.0"
  580. validate
  581. validator
  582. vercel
  583. vhd-format-lwt >= "0.13.0"
  584. vpnkit
  585. wayland >= "2.0"
  586. wcwidth
  587. websocketaf
  588. x509 >= "0.7.0"
  589. xapi-rrd
  590. xapi-stdext-date
  591. xapi-stdext-encodings
  592. xapi-stdext-std >= "4.16.0"
  593. xkbcommon
  594. yaml
  595. yaml-sexp
  596. yocaml
  597. yocaml_syndication >= "2.0.0"
  598. yocaml_yaml < "2.0.0"
  599. yojson >= "1.6.0"
  600. yojson-five
  601. yuscii >= "0.3.0"
  602. yuujinchou >= "1.0.0"
  603. zar
  604. zed >= "3.2.2"
  605. zlist < "0.4.0"

Conflicts (2)

  1. js_of_ocaml-compiler < "5.8"
  2. result < "1.5"
OCaml

Innovation. Community. Security.