This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
|
|
@ -0,0 +1,86 @@
|
|||
open Dune_rules
|
||||
open! Stdune
|
||||
open Dune_tests_common
|
||||
|
||||
let () = init ()
|
||||
|
||||
(* Dune_file.Executables.Link_mode.decode *)
|
||||
let test s =
|
||||
Dune_lang.Decoder.parse
|
||||
Executables.Link_mode.decode
|
||||
Univ_map.empty
|
||||
(Dune_lang.Parser.parse_string ~fname:"" ~mode:Dune_lang.Parser.Mode.Single s)
|
||||
|> Executables.Link_mode.to_dyn
|
||||
|> print_dyn
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
(* Link modes can be read as a (<mode> <kind>) list *)
|
||||
test "(best exe)";
|
||||
[%expect
|
||||
{|
|
||||
Other { mode = best; kind = exe }
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
(* Some shortcuts also exist *)
|
||||
test "exe";
|
||||
[%expect
|
||||
{|
|
||||
Other { mode = best; kind = exe }
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
test "object";
|
||||
[%expect
|
||||
{|
|
||||
Other { mode = best; kind = object }
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
test "shared_object";
|
||||
[%expect
|
||||
{|
|
||||
Other { mode = best; kind = shared_object }
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
test "byte";
|
||||
[%expect
|
||||
{|
|
||||
Other { mode = byte; kind = exe }
|
||||
|}]
|
||||
;;
|
||||
|
||||
let%expect_test _ =
|
||||
test "native";
|
||||
[%expect
|
||||
{|
|
||||
Other { mode = native; kind = exe }
|
||||
|}]
|
||||
;;
|
||||
|
||||
(* Dune_file.Executables.Link_mode.encode *)
|
||||
let test l = Executables.Link_mode.encode l
|
||||
|
||||
let%expect_test _ =
|
||||
(* In the general case, modes are serialized as a list *)
|
||||
test (Other { kind = Shared_object; mode = Byte }) |> Dune_lang.to_dyn |> print_dyn;
|
||||
[%expect
|
||||
{|
|
||||
[ "byte"; "shared_object" ]
|
||||
|}]
|
||||
;;
|
||||
|
||||
(* But the specialized ones are serialized in the minimal version *)
|
||||
let%expect_test _ =
|
||||
test Executables.Link_mode.exe |> Dune_lang.to_dyn |> print_dyn;
|
||||
[%expect
|
||||
{|
|
||||
"exe"
|
||||
|}]
|
||||
;;
|
||||
Loading…
Add table
Add a link
Reference in a new issue