Skip to content

Commit 3342142

Browse files
committed
Add tests for maintenance_intent
Signed-off-by: ArthurW <[email protected]>
1 parent c30bae2 commit 3342142

File tree

4 files changed

+85
-40
lines changed

4 files changed

+85
-40
lines changed

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

+2-1
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

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

+71-35
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,113 @@ 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: [
7673
"alcotest" {with-test}
77-
"dune" {build & > "1.5"}
74+
"dune" {>= "3.18" & build & > "1.5"}
7875
"foo" {dev & > "1.5" & < "2.0"}
7976
"uri" {>= "1.9.0"}
8077
"uri" {< "2.0.0"}
8178
"fieldslib" {> "v0.12"}
8279
"fieldslib" {< "v0.13"}
80+
"odoc" {with-doc}
8381
]
82+
build: [
83+
["dune" "subst"] {dev}
84+
[
85+
"dune"
86+
"build"
87+
"-p"
88+
name
89+
"-j"
90+
jobs
91+
"@install"
92+
"@runtest" {with-test}
93+
"@doc" {with-doc}
94+
]
95+
]
96+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
97+
x-maintenance-intent: ["(latest)"]
8498

8599
$ cat cohttp-async.opam
86100
# This file is generated by dune, edit dune-project instead
87101
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"
98102
version: "1.0.0"
99-
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
100103
synopsis: "HTTP client and server for the Async library"
101104
description: """
102105
A really long multi line description that spans across lines to
103106
make sure that the rendering of long strings stays compatible.
104107
"""
108+
authors: ["Anil Madhavapeddy" "Rudi Grinberg"]
109+
license: "ISC"
110+
homepage: "https://github.com/mirage/ocaml-cohttp"
111+
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
105112
depends: [
113+
"dune" {>= "3.18"}
106114
"cohttp" {>= "1.0.2"}
107115
"conduit-async" {>= "1.0.3"}
108116
"async" {>= "v0.10.0"}
109117
"async" {< "v0.12"}
118+
"odoc" {with-doc}
119+
]
120+
build: [
121+
["dune" "subst"] {dev}
122+
[
123+
"dune"
124+
"build"
125+
"-p"
126+
name
127+
"-j"
128+
jobs
129+
"@install"
130+
"@runtest" {with-test}
131+
"@doc" {with-doc}
132+
]
110133
]
134+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
135+
x-maintenance-intent: ["(latest)"]
111136

112137
$ cat cohttp-lwt.opam
113138
# This file is generated by dune, edit dune-project instead
114139
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"
125140
version: "1.0.0"
126-
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
127141
synopsis: "HTTP client and server for the Lwt library"
128142
description: """
129143
130144
A really long description that is supposed to start with a
131145
newline since it doesn't escape the line break.
132146
"""
147+
authors: ["Anil Madhavapeddy" "Rudi Grinberg"]
148+
license: "ISC"
149+
homepage: "https://github.com/mirage/ocaml-cohttp"
150+
bug-reports: "https://github.com/mirage/ocaml-cohttp/issues"
133151
depends: [
152+
"dune" {>= "3.18"}
134153
"cohttp" {>= "1.0.2"}
135154
"conduit-lwt" {>= "1.0.3"}
136155
"lwt" {>= "5.0.0"}
137156
"lwt" {< "6.0.0"}
157+
"odoc" {with-doc}
138158
]
159+
build: [
160+
["dune" "subst"] {dev}
161+
[
162+
"dune"
163+
"build"
164+
"-p"
165+
name
166+
"-j"
167+
jobs
168+
"@install"
169+
"@runtest" {with-test}
170+
"@doc" {with-doc}
171+
]
172+
]
173+
dev-repo: "git+https://github.com/mirage/ocaml-cohttp.git"
174+
x-maintenance-intent: ["(latest)"]

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

+9-4
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

+3
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 <[email protected]>" ]
3232
; maintainers = Some [ "Maintainer Name <[email protected]>" ]
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 <[email protected]>" ]
5556
; maintainers = Some [ "Maintainer Name <[email protected]>" ]
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 <[email protected]>" ]
7880
; maintainers = Some [ "Maintainer Name <[email protected]>" ]
81+
; maintenance_intent = Some [ "(latest)" ]
7982
; license = Some [ "LICENSE" ]
8083
}
8184
; experimental = []

0 commit comments

Comments
 (0)