Skip to content

Commit 695a15d

Browse files
committed
Enable cram by default starting with 3.0
Signed-off-by: Rudi Grinberg <me@rgrinberg.com>
1 parent c6078ca commit 695a15d

File tree

4 files changed

+11
-5
lines changed

4 files changed

+11
-5
lines changed

CHANGES.md

+2
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,8 @@ Unreleased
6363
- `dune ocaml-merlin` is now able to provide configuration for source files in
6464
the `_build` directory. (#4274, @voodoos)
6565

66+
- Enable cram tests by default (#4262, @rgrinberg)
67+
6668
2.8.2 (21/01/2021)
6769
------------------
6870

doc/test/run.t

+1
Original file line numberDiff line numberDiff line change
@@ -12,3 +12,4 @@ is fine, but you then need to update the list of such exceptions below.
1212
../formatting.rst:.. note:: This section applies only to projects with ``(lang dune 1.x)``.
1313
../formatting.rst:In ``(lang dune 1.x)``, no formatting is done by default. This feature is
1414
../formatting.rst:(lang dune 2.0)
15+
../tests.rst: (lang dune 2.7)

doc/tests.rst

+3-3
Original file line numberDiff line numberDiff line change
@@ -474,12 +474,12 @@ Cram Tests
474474
475475
Cram tests are expectation tests written in a shell-like syntax. They are ideal
476476
for testing binaries. Cram tests are auto discovered from files or directories
477-
with a ``.t`` extension, so they must be enabled manually in the
478-
``dune-project`` file:
477+
with a ``.t`` extension. This is automatically enabled starting from 3.0, for
478+
older versions, this must be manually enabled in the ``dune-project`` file:
479479
480480
.. code:: scheme
481481
482-
(lang dune 3.0)
482+
(lang dune 2.7)
483483
(cram enable)
484484
485485

src/dune_engine/dune_project.ml

+5-2
Original file line numberDiff line numberDiff line change
@@ -442,6 +442,8 @@ let strict_package_deps_default ~(lang : Lang.Instance.t) =
442442

443443
let explicit_js_mode_default ~(lang : Lang.Instance.t) = lang.version >= (2, 0)
444444

445+
let cram_default ~(lang : Lang.Instance.t) = lang.version >= (3, 0)
446+
445447
let format_extension_key =
446448
Extension.register Format_config.syntax Format_config.dparse_args
447449
Format_config.to_dyn
@@ -480,6 +482,7 @@ let infer ~dir packages =
480482
in
481483
let explicit_js_mode = explicit_js_mode_default ~lang in
482484
let strict_package_deps = strict_package_deps_default ~lang in
485+
let cram = cram_default ~lang in
483486
let root = dir in
484487
let file_key = File_key.make ~root ~name in
485488
{ name
@@ -506,7 +509,7 @@ let infer ~dir packages =
506509
; explicit_js_mode
507510
; format_config = None
508511
; strict_package_deps
509-
; cram = false
512+
; cram
510513
}
511514

512515
module Toggle = struct
@@ -720,7 +723,7 @@ let parse ~dir ~lang ~opam_packages ~file ~dir_status =
720723
in
721724
let cram =
722725
match cram with
723-
| None -> false
726+
| None -> cram_default ~lang
724727
| Some t -> Toggle.enabled t
725728
in
726729
let root = dir in

0 commit comments

Comments
 (0)