Skip to content

Commit f4b439b

Browse files
art-wLeonidas-from-XIV
authored andcommitted
Add tests for maintenance_intent
Signed-off-by: ArthurW <arthur@tarides.com> Signed-off-by: Marek Kubica <marek@tarides.com>
1 parent 0e5b632 commit f4b439b

File tree

4 files changed

+89
-42
lines changed

4 files changed

+89
-42
lines changed

test/blackbox-tests/test-cases/config-project-defaults.t

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ generated 'dune-project' file.
44

55
$ touch dune-config
66
$ cat >dune-config <<EOF
7-
> (lang dune 3.17)
7+
> (lang dune 3.18)
88
> (project_defaults
99
> (authors AuthorTest)
1010
> (maintainers MaintainerTest)
11+
> (maintenance_intent "(latest)")
1112
> (license MIT))
1213
> EOF
1314

@@ -33,11 +34,12 @@ Change the version of the config file to one which does not support the
3334

3435
$ sed -i -e '1s|.*|(lang dune 3.16)|' dune-config
3536
$ dune init proj test_proj1 --config-file=dune-config
36-
File "$TESTCASE_ROOT/dune-config", lines 2-5, characters 0-85:
37+
File "$TESTCASE_ROOT/dune-config", lines 2-6, characters 0-118:
3738
2 | (project_defaults
3839
3 | (authors AuthorTest)
3940
4 | (maintainers MaintainerTest)
40-
5 | (license MIT))
41+
5 | (maintenance_intent "(latest)")
42+
6 | (license MIT))
4143
Error: 'project_defaults' is only available since version 3.17 of the dune
4244
language. Please update your dune config file to have (lang dune 3.17).
4345
[1]
@@ -47,7 +49,7 @@ Change the version of the config file to one which does not support the
4749
Check to ensure that the default values are used when optional stanzas are
4850
removed/not used.
4951

50-
$ sed -i -e '3,5c\
52+
$ sed -i -e '3,6c\
5153
> )' dune-config
5254
$ dune init proj test_proj1 --config-file=dune-config
5355
Entering directory 'test_proj1'

test/blackbox-tests/test-cases/dune-project-meta/basic-generate.t

Lines changed: 71 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -4,19 +4,21 @@ Simple test
44
The `dune build` should generate the opam file
55

66
$ cat >dune-project <<EOF
7-
> (lang dune 1.10)
7+
> (lang dune 3.18)
88
> (version 1.0.0)
99
> (name cohttp)
1010
> (source (github mirage/ocaml-cohttp))
1111
> (license ISC)
1212
> (authors "Anil Madhavapeddy" "Rudi Grinberg")
13+
> (maintenance_intent "(latest)")
1314
>
1415
> (generate_opam_files true)
1516
>
1617
> (package
1718
> (name cohttp)
1819
> (synopsis "An OCaml library for HTTP clients and servers")
1920
> (description "A longer description")
21+
> (allow_empty)
2022
> (depends
2123
> (alcotest :with-test)
2224
> (dune (and :build (> 1.5)))
@@ -33,6 +35,7 @@ The `dune build` should generate the opam file
3335
> A really long multi line description that spans across lines to
3436
> make sure that the rendering of long strings stays compatible.
3537
> ")
38+
> (allow_empty)
3639
> (depends
3740
> (cohttp (>= 1.0.2))
3841
> (conduit-async (>= 1.0.3))
@@ -46,6 +49,7 @@ The `dune build` should generate the opam file
4649
> A really long description that is supposed to start with a
4750
> newline since it doesn't escape the line break.
4851
> ")
52+
> (allow_empty)
4953
> (depends
5054
> (cohttp (>= 1.0.2))
5155
> (conduit-lwt (>= 1.0.3))
@@ -58,81 +62,114 @@ The `dune build` should generate the opam file
5862
$ cat cohttp.opam
5963
# This file is generated by dune, edit dune-project instead
6064
opam-version: "2.0"
61-
build: [
62-
["dune" "subst"] {pinned}
63-
["dune" "build" "-p" name "-j" jobs]
64-
["dune" "runtest" "-p" name "-j" jobs] {with-test}
65-
["dune" "build" "-p" name "@doc"] {with-doc}
66-
]
67-
authors: ["Anil Madhavapeddy" "Rudi Grinberg"]
68-
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
69-
homepage: "https://github.com/mirage/ocaml-cohttp"
70-
license: "ISC"
7165
version: "1.0.0"
72-
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
7366
synopsis: "An OCaml library for HTTP clients and servers"
7467
description: "A longer description"
68+
authors: ["Anil Madhavapeddy" "Rudi Grinberg"]
69+
license: "ISC"
70+
homepage: "https://github.com/mirage/ocaml-cohttp"
71+
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
7572
depends: [
73+
"dune" {>= "3.18"}
7674
"alcotest" {with-test}
7775
"dune" {build & > "1.5"}
7876
"foo" {dev & > "1.5" & < "2.0"}
7977
"uri" {>= "1.9.0"}
8078
"uri" {< "2.0.0"}
8179
"fieldslib" {> "v0.12"}
8280
"fieldslib" {< "v0.13"}
81+
"odoc" {with-doc}
8382
]
83+
build: [
84+
["dune" "subst"] {dev}
85+
[
86+
"dune"
87+
"build"
88+
"-p"
89+
name
90+
"-j"
91+
jobs
92+
"@install"
93+
"@runtest" {with-test}
94+
"@doc" {with-doc}
95+
]
96+
]
97+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
98+
x-maintenance-intent: ["(latest)"]
8499

85100
$ cat cohttp-async.opam
86101
# This file is generated by dune, edit dune-project instead
87102
opam-version: "2.0"
88-
build: [
89-
["dune" "subst"] {pinned}
90-
["dune" "build" "-p" name "-j" jobs]
91-
["dune" "runtest" "-p" name "-j" jobs] {with-test}
92-
["dune" "build" "-p" name "@doc"] {with-doc}
93-
]
94-
authors: ["Anil Madhavapeddy" "Rudi Grinberg"]
95-
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
96-
homepage: "https://github.com/mirage/ocaml-cohttp"
97-
license: "ISC"
98103
version: "1.0.0"
99-
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
100104
synopsis: "HTTP client and server for the Async library"
101105
description: """
102106
A really long multi line description that spans across lines to
103107
make sure that the rendering of long strings stays compatible.
104108
"""
109+
authors: ["Anil Madhavapeddy" "Rudi Grinberg"]
110+
license: "ISC"
111+
homepage: "https://github.com/mirage/ocaml-cohttp"
112+
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
105113
depends: [
114+
"dune" {>= "3.18"}
106115
"cohttp" {>= "1.0.2"}
107116
"conduit-async" {>= "1.0.3"}
108117
"async" {>= "v0.10.0"}
109118
"async" {< "v0.12"}
119+
"odoc" {with-doc}
120+
]
121+
build: [
122+
["dune" "subst"] {dev}
123+
[
124+
"dune"
125+
"build"
126+
"-p"
127+
name
128+
"-j"
129+
jobs
130+
"@install"
131+
"@runtest" {with-test}
132+
"@doc" {with-doc}
133+
]
110134
]
135+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
136+
x-maintenance-intent: ["(latest)"]
111137

112138
$ cat cohttp-lwt.opam
113139
# This file is generated by dune, edit dune-project instead
114140
opam-version: "2.0"
115-
build: [
116-
["dune" "subst"] {pinned}
117-
["dune" "build" "-p" name "-j" jobs]
118-
["dune" "runtest" "-p" name "-j" jobs] {with-test}
119-
["dune" "build" "-p" name "@doc"] {with-doc}
120-
]
121-
authors: ["Anil Madhavapeddy" "Rudi Grinberg"]
122-
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
123-
homepage: "https://github.com/mirage/ocaml-cohttp"
124-
license: "ISC"
125141
version: "1.0.0"
126-
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
127142
synopsis: "HTTP client and server for the Lwt library"
128143
description: """
129144
130145
A really long description that is supposed to start with a
131146
newline since it doesn't escape the line break.
132147
"""
148+
authors: ["Anil Madhavapeddy" "Rudi Grinberg"]
149+
license: "ISC"
150+
homepage: "https://github.com/mirage/ocaml-cohttp"
151+
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
133152
depends: [
153+
"dune" {>= "3.18"}
134154
"cohttp" {>= "1.0.2"}
135155
"conduit-lwt" {>= "1.0.3"}
136156
"lwt" {>= "5.0.0"}
137157
"lwt" {< "6.0.0"}
158+
"odoc" {with-doc}
138159
]
160+
build: [
161+
["dune" "subst"] {dev}
162+
[
163+
"dune"
164+
"build"
165+
"-p"
166+
name
167+
"-j"
168+
jobs
169+
"@install"
170+
"@runtest" {with-test}
171+
"@doc" {with-doc}
172+
]
173+
]
174+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
175+
x-maintenance-intent: ["(latest)"]

test/blackbox-tests/test-cases/dune-project-meta/override.t

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,14 @@
11
Package information fields can be overridden per-package:
22

33
$ cat >dune-project <<EOF
4-
> (lang dune 2.5)
4+
> (lang dune 3.18)
55
> (name foo)
66
> (version 1.0.0)
77
> (source (github mirage/ocaml-cohttp))
88
> (license ISC)
99
> (authors "Anil Madhavapeddy" "Rudi Grinberg")
1010
> (homepage https://my.home.page)
11+
> (maintenance_intent "(none)")
1112
> ;
1213
> (generate_opam_files true)
1314
> ;
@@ -16,7 +17,9 @@ Package information fields can be overridden per-package:
1617
> (version 1.0.1)
1718
> (source (github mirage/foo))
1819
> (license MIT)
19-
> (authors "Foo" "Bar"))
20+
> (authors "Foo" "Bar")
21+
> (maintenance_intent "0.9" "1.0.1")
22+
> (allow_empty))
2023
> EOF
2124

2225
$ dune build @install
@@ -30,10 +33,11 @@ Package information fields can be overridden per-package:
3033
homepage: "https://my.home.page"
3134
bug-reports: "https://github.com/mirage/foo/issues"
3235
depends: [
33-
"dune" {>= "2.5"}
36+
"dune" {>= "3.18"}
37+
"odoc" {with-doc}
3438
]
3539
build: [
36-
["dune" "subst"] {pinned}
40+
["dune" "subst"] {dev}
3741
[
3842
"dune"
3943
"build"
@@ -47,3 +51,4 @@ Package information fields can be overridden per-package:
4751
]
4852
]
4953
dev-repo: "git+https://github.com/mirage/foo.git"
54+
x-maintenance-intent: ["0.9" "1.0.1"]

test/expect-tests/dune_config_file/dune_config_test.ml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ let%expect_test "cache-check-probability 0.1" =
3030
; project_defaults =
3131
{ authors = Some [ "Author Name <author@example.com>" ]
3232
; maintainers = Some [ "Maintainer Name <maintainer@example.com>" ]
33+
; maintenance_intent = Some [ "(latest)" ]
3334
; license = Some [ "LICENSE" ]
3435
}
3536
; experimental = []
@@ -53,6 +54,7 @@ let%expect_test "cache-storage-mode copy" =
5354
; project_defaults =
5455
{ authors = Some [ "Author Name <author@example.com>" ]
5556
; maintainers = Some [ "Maintainer Name <maintainer@example.com>" ]
57+
; maintenance_intent = Some [ "(latest)" ]
5658
; license = Some [ "LICENSE" ]
5759
}
5860
; experimental = []
@@ -76,6 +78,7 @@ let%expect_test "cache-storage-mode hardlink" =
7678
; project_defaults =
7779
{ authors = Some [ "Author Name <author@example.com>" ]
7880
; maintainers = Some [ "Maintainer Name <maintainer@example.com>" ]
81+
; maintenance_intent = Some [ "(latest)" ]
7982
; license = Some [ "LICENSE" ]
8083
}
8184
; experimental = []

0 commit comments

Comments
 (0)