Add test for invalid virtual libraries

Specifically, the virtual module listed already has an implementation

Signed-off-by: Rudi Grinberg <rudi.grinberg@gmail.com>
This commit is contained in:
Rudi Grinberg 2018-09-01 12:44:32 +03:00
parent ccc972676d
commit 15e06f8008
7 changed files with 18 additions and 11 deletions

View File

@ -853,7 +853,7 @@ module Library = struct
let syntax =
Syntax.create ~name:"in_development_do_not_use_variants"
~desc:"the experimental variants feature"
[ (0, 0) ]
[ (0, 1) ]
in
Dune_project.Extension.register syntax (Dsexp.Of_sexp.return []);
syntax

View File

@ -0,0 +1,3 @@
(library
(name foo)
(virtual_modules foo bar))

View File

@ -0,0 +1,3 @@
(lang dune 1.1)
(using in_development_do_not_use_variants 0.1)

View File

@ -1,16 +1,17 @@
Variant feature is auto enabled when virtual_modules is used
$ dune build --root variants-without-using
File "dune", line 3, characters 1-25:
3 | (virtual_modules foobar))
^^^^^^^^^^^^^^^^^^^^^^^^
Error: 'virtual_modules' is only available since version 0.1 of the experimental variants feature
[1]
Entering directory 'variants-without-using'
$ dune build --root variants-using
File "dune-project", line 2, characters 42-45:
2 |
Error: Version 0.1 of in_development_do_not_use_variants is not supported.
Supported versions:
- 0.0
Entering directory 'variants-using'
virtual libraries may not implement their virtual modules
$ dune build --root invalid-virtual-lib
Entering directory 'invalid-virtual-lib'
File "dune", line 3, characters 18-21:
3 | (virtual_modules foo bar))
^^^
Error: Module Foo has an implementation, it cannot be listed here
[1]