package alcotest

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

Install

dune-project
 Dependency

Authors

Maintainers

Sources

alcotest-1.9.1.tbz
sha256=1e29c3b41d4329062105b723dfda3aff86b8cef5e7c7500d0e491fc5fd78e482
sha512=c49d402fa636dcf11f81917610dd1d2eca8606c8919aede4db23710d071f6046a8f93c78de9fbfee26637a53ca67f71fad500bfa2478b7f0f059608a492dd0a5

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: 01 Oct 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.4"
  3. alcobar
  4. alcotest-async >= "1.9.1"
  5. alcotest-js >= "1.9.1"
  6. alcotest-lwt >= "1.9.1"
  7. alcotest-mirage >= "1.9.1"
  8. alg_structs_qcheck
  9. algaeff
  10. ambient-context
  11. ambient-context-eio
  12. ambient-context-lwt
  13. angstrom >= "0.7.0"
  14. ansi >= "0.6.0"
  15. anycache >= "0.7.4"
  16. anycache-lwt
  17. arc
  18. archetype >= "1.4.2"
  19. archi
  20. arp
  21. arrakis < "1.1.0"
  22. art
  23. asai
  24. asak
  25. asli >= "0.2.0"
  26. asn1-combinators >= "0.2.5"
  27. atd >= "2.3.3"
  28. atdgen >= "2.10.0"
  29. atdpy
  30. atdts
  31. avro-simple
  32. awskit
  33. awskit-eio
  34. awskit-lwt
  35. awskit-lwt-unix < "0.2.0"
  36. awskit-s3
  37. awskit-s3-eio < "0.2.0"
  38. awskit-s3-lwt < "0.2.0"
  39. awskit-s3-lwt-unix < "0.2.0"
  40. awskit-s3-sim
  41. azure-cosmos-db-eio
  42. backoff
  43. base32
  44. base64 >= "2.1.2" & < "3.2.0" | >= "3.4.0"
  45. bastet
  46. bastet_lwt
  47. bech32
  48. bechamel >= "0.5.0"
  49. bigarray-overlap
  50. bigstringaf
  51. biotk >= "0.4"
  52. bitlib
  53. bizowie-api
  54. blake2
  55. bloomf
  56. bls12-381 < "0.4.1" | >= "3.0.0" & < "18.0"
  57. bls12-381-hash
  58. bls12-381-js >= "0.4.2"
  59. bls12-381-js-gen >= "0.4.2"
  60. bls12-381-legacy
  61. bls12-381-signature
  62. bls12-381-unix
  63. blurhash
  64. bm25
  65. brisk-reconciler
  66. builder-web
  67. bytebuffer
  68. ca-certs
  69. ca-certs-nss
  70. cabal
  71. cachet
  72. cachet-lwt
  73. cachet-solo5
  74. cactus
  75. caldav
  76. calendar >= "3.0.0"
  77. calendars >= "2.0.0"
  78. callipyge
  79. camlix
  80. camlkit
  81. camlkit-base
  82. capnp-rpc
  83. capnp-rpc-unix
  84. caqti >= "1.7.0"
  85. caqti-async >= "1.7.0"
  86. caqti-driver-mariadb >= "1.7.0"
  87. caqti-driver-postgresql >= "1.7.0"
  88. caqti-driver-sqlite3 >= "1.7.0"
  89. caqti-dynload = "2.0.1"
  90. caqti-eio
  91. caqti-lwt >= "1.7.0"
  92. caqti-miou
  93. carray
  94. carton < "1.0.0"
  95. carton-git
  96. carton-lwt >= "0.4.3" & < "1.0.0"
  97. cascade
  98. catala >= "0.6.0"
  99. cborl
  100. cf-lwt
  101. chacha
  102. chamelon
  103. chamelon-unix
  104. charrua-client
  105. charrua-server
  106. checked_oint
  107. checkseum >= "0.0.3"
  108. cid
  109. clarity-lang
  110. class_group_vdf
  111. cohttp
  112. cohttp-curl-async
  113. cohttp-curl-lwt
  114. cohttp-eio >= "6.0.0~beta2"
  115. colombe >= "0.2.0"
  116. color
  117. commons
  118. conan
  119. conan-cli
  120. conan-database
  121. conan-lwt
  122. conan-unix
  123. conex < "0.10.0"
  124. conex-mirage-crypto
  125. conformist
  126. contract
  127. cookie
  128. corosync
  129. cow >= "2.2.0"
  130. crockford
  131. css
  132. css-parser
  133. cstruct
  134. cstruct-sexp
  135. ctypes-zarith
  136. cuid
  137. cure2
  138. curly
  139. current
  140. current-albatross-deployer
  141. current_git >= "0.7.1"
  142. current_incr
  143. current_rpc >= "0.7.4"
  144. data-encoding
  145. dates_calc
  146. dbase4
  147. decimal >= "0.3.0"
  148. decompress
  149. depyt
  150. digestif >= "0.9.0"
  151. dispatch >= "0.4.1"
  152. dkim
  153. dkim-bin
  154. dkim-mirage
  155. dkml-dune-dsl-show
  156. dkml-install
  157. dkml-install-installer
  158. dkml-install-runner
  159. dmarc
  160. dns >= "4.4.1"
  161. dns-cli
  162. dns-client >= "4.6.3"
  163. dns-forward-lwt-unix
  164. dns-resolver
  165. dns-server
  166. dns-tsig
  167. dnssd
  168. dnssec
  169. docfd >= "13.0.0"
  170. dockerfile >= "8.2.7"
  171. dockerfile-opam >= "8.3.4"
  172. domain-local-await >= "0.2.1"
  173. domain-local-timeout
  174. domain-name
  175. dream
  176. dream-htmx
  177. dream-pure
  178. dscheck >= "0.1.1"
  179. duff
  180. dune-deps >= "1.4.0"
  181. dune-release >= "1.0.0"
  182. duration
  183. echo
  184. ecma-regex
  185. eio < "0.12"
  186. eio_linux
  187. eio_windows
  188. emile
  189. encore
  190. eqaf >= "0.5"
  191. equinoxe
  192. equinoxe-cohttp
  193. equinoxe-hlc
  194. ezgzip
  195. ezjsonm
  196. ezjsonm-lwt
  197. ezlua
  198. FPauth
  199. FPauth-core
  200. FPauth-responses
  201. FPauth-strategies
  202. faraday != "0.2.0"
  203. farfadet
  204. fat-filesystem
  205. fehu < "1.0.0~alpha3"
  206. ff
  207. ff-pbt
  208. flex-array
  209. flux
  210. fluxt
  211. forcamla
  212. forester >= "5.0"
  213. fsevents-lwt
  214. functoria
  215. fungi
  216. geojson
  217. geoml >= "0.1.1"
  218. git
  219. git-cohttp
  220. git-cohttp-unix
  221. git-kv != "0.1.3"
  222. git-mirage
  223. git-net
  224. git-split
  225. git-unix
  226. gitlab-unix
  227. glicko2
  228. gmap
  229. gobba
  230. gpt
  231. graphql
  232. graphql-async
  233. graphql-cohttp >= "0.13.0"
  234. graphql-lwt
  235. graphql_parser != "0.11.0"
  236. graphql_ppx
  237. guardian >= "0.4.0"
  238. h1
  239. h1_parser
  240. h2
  241. hacl
  242. hacl-star >= "0.6.0"
  243. hacl_func
  244. hacl_x25519
  245. handlebars-ml >= "0.2.1"
  246. hedgehog-alcotest
  247. hegel
  248. highlexer
  249. hkdf
  250. hockmd
  251. html_of_jsx
  252. http
  253. http-multipart-formdata < "2.0.0"
  254. httpaf >= "0.2.0"
  255. httpcats
  256. httpun
  257. httpun-ws
  258. hugin < "1.0.0~alpha3"
  259. huml
  260. hvsock
  261. icalendar
  262. idna
  263. imagelib
  264. index
  265. inferno >= "20220603"
  266. influxdb-async
  267. influxdb-lwt
  268. inquire < "0.2.0"
  269. intel_hex >= "0.3"
  270. interval-map
  271. iomux
  272. irmin
  273. irmin-bench
  274. irmin-chunk
  275. irmin-cli
  276. irmin-containers
  277. irmin-fs
  278. irmin-git
  279. irmin-graphql
  280. irmin-pack
  281. irmin-pack-tools
  282. irmin-test != "3.6.1"
  283. irmin-tezos
  284. irmin-unix
  285. irmin-watcher
  286. jekyll-format
  287. jose
  288. json-data-encoding >= "0.9"
  289. json-data-encoding-bson >= "1.1.1"
  290. json_decoder
  291. jsonfeed
  292. jsonschema-core
  293. jsonschema-validation
  294. jsonxt
  295. junit_alcotest >= "2.2.0"
  296. jwto
  297. kaun < "1.0.0~alpha3"
  298. kcas >= "0.6.0"
  299. kcas_data >= "0.6.0"
  300. kdf
  301. ke >= "0.2"
  302. kkmarkdown
  303. kmt
  304. lambda-runtime
  305. lambda_streams
  306. lambda_streams_async
  307. lambdapi
  308. layoutz
  309. letters
  310. liquid_ml >= "0.1.3"
  311. lmdb >= "1.0"
  312. lockfree >= "0.3.1"
  313. logical
  314. logtk
  315. lp
  316. lp-glpk
  317. lp-glpk-js < "0.5.0"
  318. lp-gurobi < "0.5.0"
  319. lru
  320. lt-code
  321. luv
  322. mazeppa
  323. mbr-format
  324. mdx
  325. mec
  326. mechaml >= "1.2.1"
  327. mel-bastet
  328. melange >= "7.0.0-51"
  329. melange-edn >= "0.5.0"
  330. menhir-lsp >= "0.3.3"
  331. menhirformat
  332. merlin = "4.17.1-501"
  333. merlin-lib >= "4.17.1-501"
  334. metrics
  335. mfat
  336. miaou-core
  337. middleware
  338. migra
  339. mimic
  340. minicaml = "0.3.1" | >= "0.4"
  341. mirage >= "4.0.0"
  342. mirage-block-partition
  343. mirage-block-ramdisk
  344. mirage-channel >= "4.0.1"
  345. mirage-crypto-ec
  346. mirage-flow-unix
  347. mirage-kv >= "2.0.0"
  348. mirage-kv-mem >= "4.0.1"
  349. mirage-kv-unix >= "3.0.0"
  350. mirage-logs
  351. mirage-nat
  352. mirage-net-unix
  353. mirage-runtime < "4.7.0"
  354. mirage-tc
  355. mjson
  356. mlgpx
  357. mmdb < "0.3.0"
  358. mnd
  359. mqtt
  360. mrmime >= "0.2.0"
  361. msgpck >= "1.6"
  362. mssql
  363. multibase
  364. multicore-magic
  365. multihash
  366. multihash-digestif
  367. multipart-form-data
  368. multipart_form
  369. multipart_form-eio
  370. multipart_form-lwt
  371. multipart_form-miou
  372. named-pipe
  373. nanoid
  374. nbd >= "4.0.3"
  375. nbd-tool
  376. nel
  377. neo4j_bolt
  378. nloge
  379. nocoiner
  380. noise
  381. non_empty_list
  382. nx < "1.0.0~alpha3"
  383. nx-datasets
  384. nx-text
  385. OCADml >= "0.6.0"
  386. obatcher
  387. object
  388. ocaml-ai-sdk
  389. ocaml-index < "5.4.1-503"
  390. ocaml-r >= "0.4.0"
  391. ocaml-version >= "3.5.0"
  392. ocamlformat < "0.25.1"
  393. ocamlformat-lib
  394. ocamlformat-mlx-lib
  395. ocamlformat-rpc < "removed"
  396. ocamline
  397. ocgtk
  398. ochre
  399. ochre-cli
  400. ocluster
  401. ocue
  402. odoc < "2.1.1"
  403. oenv >= "0.1.0"
  404. ohex
  405. oidc
  406. oktree >= "0.2.4"
  407. opam-0install
  408. opam-0install-cudf >= "0.5.0"
  409. opam-compiler
  410. opam-file-format >= "2.1.1"
  411. opam-repomin
  412. opencage
  413. opentelemetry >= "0.6"
  414. opentelemetry-client
  415. opentelemetry-client-cohttp-eio
  416. opentelemetry-client-cohttp-lwt >= "0.6"
  417. opentelemetry-client-ocurl >= "0.6"
  418. opentelemetry-client-ocurl-lwt
  419. opentelemetry-cohttp-lwt >= "0.6"
  420. opentelemetry-logs
  421. opentelemetry-lwt >= "0.6"
  422. opium
  423. opium-graphql
  424. opium-testing
  425. opium_kernel
  426. orewa
  427. orgeat
  428. ortac-core
  429. ortac-wrapper
  430. osnap < "0.3.0"
  431. osx-acl
  432. osx-attr
  433. osx-cf
  434. osx-fsevents
  435. osx-keychain
  436. osx-membership
  437. osx-mount
  438. osx-xattr
  439. otoggl
  440. owl >= "0.7.0" & != "0.9.0" & != "1.0.0"
  441. owl-base < "0.5.0"
  442. owl-ode >= "0.1.0" & != "0.2.0"
  443. owl-symbolic
  444. par_incr
  445. parseff
  446. passe
  447. passmaker
  448. patch
  449. pbkdf
  450. pecu >= "0.2"
  451. pf-qubes
  452. pg_query >= "0.9.6"
  453. pgx
  454. pgx_unix
  455. pgx_value_core
  456. pgx_value_ptime
  457. phylogenetics
  458. piaf
  459. picos < "0.5.0"
  460. picos_meta
  461. pidgin
  462. piece_rope
  463. plebeia >= "2.0.0"
  464. polyglot
  465. polymarket
  466. polynomial
  467. ppx_blob >= "0.3.0"
  468. ppx_catch
  469. ppx_deriving_cmdliner
  470. ppx_deriving_ezjsonm
  471. ppx_deriving_qcheck
  472. ppx_deriving_rpc
  473. ppx_deriving_yaml
  474. ppx_ezlua
  475. ppx_hegel_generator
  476. ppx_hegel_test
  477. ppx_inline_alcotest
  478. ppx_map
  479. ppx_marshal
  480. ppx_mica
  481. ppx_parser
  482. ppx_protocol_conv
  483. ppx_protocol_conv_json
  484. ppx_protocol_conv_jsonm
  485. ppx_protocol_conv_msgpack
  486. ppx_protocol_conv_xml_light
  487. ppx_protocol_conv_xmlm
  488. ppx_protocol_conv_yaml
  489. ppx_repr
  490. ppx_subliner
  491. ppx_units
  492. ppx_yojson >= "1.1.0"
  493. pratter
  494. prbnmcn-ucb1 >= "0.0.2"
  495. prc
  496. preface
  497. pretty_expressive
  498. prettym
  499. proc-smaps
  500. producer
  501. progress
  502. prom
  503. prometheus < "1.2"
  504. prometheus-app
  505. protocell
  506. protocol-9p < "0.11.0" | >= "0.11.2"
  507. protocol-9p-unix
  508. proton
  509. psq
  510. public-suffix
  511. purl
  512. pxshot
  513. pyast
  514. qcaml
  515. qcheck >= "0.25"
  516. qcheck-alcotest
  517. qcheck-core >= "0.25"
  518. qcow-stream >= "0.13.0"
  519. qcow-tool = "0.13.0"
  520. qcow-types = "0.13.0"
  521. qdrant
  522. query-json
  523. quickjs
  524. quill < "1.0.0~alpha3"
  525. randii
  526. reason-standard
  527. red-black-tree
  528. reparse >= "2.0.0" & < "3.0.0"
  529. reparse-unix < "2.1.0"
  530. resp
  531. resp-unix >= "0.10.0"
  532. resto >= "0.9"
  533. rfc1951 < "1.0.0"
  534. routes < "2.0.0"
  535. rpc
  536. rpclib
  537. rpclib-async
  538. rpclib-lwt
  539. rpmfile < "0.3.0"
  540. rpmfile-eio
  541. rpmfile-unix
  542. rune < "1.0.0~alpha3"
  543. runtime_events_tools >= "0.5.2"
  544. SZXX >= "4.0.0"
  545. saga
  546. salsa20
  547. salsa20-core
  548. sanddb >= "0.2"
  549. saturn != "0.4.1"
  550. saturn_lockfree != "0.4.1"
  551. scrypt-kdf
  552. secp256k1 >= "0.4.1"
  553. secp256k1-internal
  554. semver >= "0.2.1"
  555. sendmail
  556. sendmail-lwt
  557. sendmail-miou-unix
  558. sendmail-mirage
  559. sendmsg
  560. seqes
  561. server-reason-react
  562. session-cookie
  563. session-cookie-async
  564. session-cookie-lwt
  565. sha256-cng
  566. shakuhachi
  567. sherlodoc
  568. sihl < "0.2.0"
  569. sihl-type
  570. slug
  571. smaws-clients
  572. smaws-lib
  573. smol
  574. smol-helpers
  575. sodium-fmt
  576. solidity-alcotest
  577. soteria
  578. sowilo < "1.0.0~alpha3"
  579. spdx_licenses
  580. spectrum >= "0.2.0"
  581. spectrum_capabilities
  582. spectrum_palette_ppx
  583. spectrum_palettes
  584. spectrum_tools
  585. spin >= "0.7.0"
  586. spurs < "0.1.1"
  587. squirrel
  588. ssh-agent
  589. ssl >= "0.6.0"
  590. starred_ml
  591. stem
  592. stramon-lib
  593. stringx
  594. styled-ppx
  595. swapfs
  596. symex >= "0.2"
  597. symphony-orchestrator-tui
  598. synchronizer >= "0.2"
  599. syslog-rfc5424
  600. syto
  601. tabr
  602. talon < "1.0.0~alpha3"
  603. tar-eio >= "3.5.0"
  604. tar-mirage
  605. tbls
  606. tcpip
  607. tdigest < "2.1.0"
  608. term-indexing
  609. term-tools
  610. termaid
  611. terminal
  612. terminal_size >= "0.1.1"
  613. terminus
  614. terminus-cohttp
  615. terminus-hlc
  616. terml
  617. testo
  618. testo-lwt
  619. textmate-language >= "0.3.0"
  620. textrazor
  621. thread-table
  622. timedesc
  623. timere
  624. timmy
  625. timmy-jsoo
  626. timmy-lwt
  627. timmy-unix
  628. tls >= "0.12.8"
  629. toc
  630. topojson
  631. topojsone
  632. trail
  633. traits
  634. transept
  635. tsort >= "2.2.0"
  636. tw
  637. twostep
  638. type_eq
  639. type_id
  640. typeid >= "1.0.1"
  641. tyre >= "0.4"
  642. tyxml >= "4.2.0"
  643. tyxml-jsx
  644. tyxml-ppx >= "4.3.0"
  645. tyxml-syntax
  646. uecc
  647. ulid
  648. universal-portal
  649. unix-dirent
  650. unix-errno
  651. unix-sys-resource
  652. unix-sys-stat
  653. unix-time
  654. unstrctrd
  655. uring < "0.4"
  656. user-agent-parser
  657. uspf
  658. uspf-lwt
  659. uspf-mirage
  660. uspf-unix
  661. utcp
  662. utop >= "2.13.0"
  663. validate
  664. validator
  665. valkey
  666. vercel
  667. vhd-format-lwt >= "0.13.0"
  668. wayland >= "2.0"
  669. wcwidth
  670. websocketaf
  671. wire
  672. x509 >= "0.7.0"
  673. xapi-rrd
  674. xapi-stdext-date
  675. xapi-stdext-encodings
  676. xapi-stdext-std >= "4.16.0"
  677. xdge
  678. xkbcommon
  679. yaml
  680. yaml-sexp
  681. yocaml
  682. yocaml_syndication >= "2.0.0"
  683. yocaml_yaml < "2.0.0"
  684. yojson >= "1.6.0"
  685. yojson-five
  686. yuscii >= "0.3.0"
  687. yuujinchou >= "1.0.0"
  688. zar
  689. zed >= "3.2.2"
  690. zlist < "0.4.0"

Conflicts (2)

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