From 5305bd6713cf07d980b4db1556bcce417fbdd2ba Mon Sep 17 00:00:00 2001 From: David Sancho Moreno Date: Wed, 4 Oct 2023 15:39:47 +0200 Subject: [PATCH] Move all test/ into melange --- src/js/dune | 1 + test/bundle/dune | 4 ++++ test/dune | 3 --- test/ffi/js/dune | 11 +++++++++++ test/{ => ffi}/js/test_ffi.re | 13 ++++--------- test/ffi/native/dune | 3 +++ test/{ => ffi}/native/test_ffi.re | 0 test/framework/dune | 3 --- test/framework/js/dune | 9 +++++++++ test/framework/native/dune | 2 +- test/framework/{ => native}/framework.re | 0 test/framework/{ => native}/framework.rei | 0 test/isoresult/js/dune | 5 +++++ test/js/benchmark.re | 1 - test/js/dune | 9 +++++++++ test/native/dune | 6 +++--- test/{ => native}/test_main.re | 0 test/{ => native}/test_promise.re | 0 18 files changed, 50 insertions(+), 20 deletions(-) create mode 100644 test/bundle/dune delete mode 100644 test/dune create mode 100644 test/ffi/js/dune rename test/{ => ffi}/js/test_ffi.re (98%) create mode 100644 test/ffi/native/dune rename test/{ => ffi}/native/test_ffi.re (100%) delete mode 100644 test/framework/dune create mode 100644 test/framework/js/dune rename test/framework/{ => native}/framework.re (100%) rename test/framework/{ => native}/framework.rei (100%) create mode 100644 test/isoresult/js/dune create mode 100644 test/js/dune rename test/{ => native}/test_main.re (100%) rename test/{ => native}/test_promise.re (100%) diff --git a/src/js/dune b/src/js/dune index 9c702d5..731b074 100644 --- a/src/js/dune +++ b/src/js/dune @@ -2,6 +2,7 @@ (name promise_js) (public_name promise.melange) (modes melange) + (wrapped false) (libraries melange.belt) (preprocess (pps melange.ppx)) diff --git a/test/bundle/dune b/test/bundle/dune new file mode 100644 index 0000000..b6379f1 --- /dev/null +++ b/test/bundle/dune @@ -0,0 +1,4 @@ +(library + (name bundle) + (modes melange) + (libraries melange.belt promise.melange)) diff --git a/test/dune b/test/dune deleted file mode 100644 index 79c4217..0000000 --- a/test/dune +++ /dev/null @@ -1,3 +0,0 @@ -(executable - (name test_main) - (libraries isoresult promise test_ffi)) diff --git a/test/ffi/js/dune b/test/ffi/js/dune new file mode 100644 index 0000000..63d61b5 --- /dev/null +++ b/test/ffi/js/dune @@ -0,0 +1,11 @@ +(library + (name test_ffi_js) + (modes melange) + (libraries framework_js) + (wrapped false) + (preprocess + (pps melange.ppx))) + +(copy_files + (mode fallback) + (files ../native/*.re)) diff --git a/test/js/test_ffi.re b/test/ffi/js/test_ffi.re similarity index 98% rename from test/js/test_ffi.re rename to test/ffi/js/test_ffi.re index 18346c0..5035fb0 100644 --- a/test/js/test_ffi.re +++ b/test/ffi/js/test_ffi.re @@ -4,7 +4,7 @@ -[%%bs.raw {| +[%%mel.raw {| function isPromise (p) { return (p instanceof Promise); } @@ -14,13 +14,8 @@ function isPromiseLike(v) { }; |}]; -[@bs.val] external isPromise: Promise.Js.t(_, _) => bool = "isPromise"; - -[@bs.val] external jsPromiseIsPromise: Js.Promise.t(_) => bool = "isPromise"; - -[@bs.val] external jsPromiseIsPromiseLike: Js.Promise.t(_) => bool = "isPromiseLike"; @@ -70,7 +65,7 @@ let interopTests = Framework.suite("interop", [ }), test("js promise is reason-promise", () => { - let js_promise: Promise.t(int) = [%bs.raw {|Promise.resolve(1)|}]; + let js_promise: Promise.t(int) = [%mel.raw {|Promise.resolve(1)|}]; js_promise ->Promise.flatMap(n => Promise.resolved(n + 1)) ->Promise.flatMap(n => Promise.resolved(n == 2)); @@ -78,7 +73,7 @@ let interopTests = Framework.suite("interop", [ test("reason-promise as js argument", () => { module Then = { - [@bs.send.pipe: Promise.t('a)] + [@mel.send.pipe: Promise.t('a)] external js_then: ('a => Promise.t('b)) => Promise.t('b) = "then"; }; @@ -243,7 +238,7 @@ let soundnessTests = Framework.suite("soundness", [ [@ocaml.warning "-33"] test("resolved: Almost-Promise-like", () => { - let open Js_OO; + /* let open Js_OO; */ Promise.resolved(makeAlmostPromiseLike(42)) ->Promise.flatMap(x => Promise.resolved(x##_then == 42)); }), diff --git a/test/ffi/native/dune b/test/ffi/native/dune new file mode 100644 index 0000000..04c668e --- /dev/null +++ b/test/ffi/native/dune @@ -0,0 +1,3 @@ +(library + (name test_ffi) + (libraries framework)) diff --git a/test/native/test_ffi.re b/test/ffi/native/test_ffi.re similarity index 100% rename from test/native/test_ffi.re rename to test/ffi/native/test_ffi.re diff --git a/test/framework/dune b/test/framework/dune deleted file mode 100644 index 5149281..0000000 --- a/test/framework/dune +++ /dev/null @@ -1,3 +0,0 @@ -(library - (name framework) - (libraries promise run)) diff --git a/test/framework/js/dune b/test/framework/js/dune new file mode 100644 index 0000000..5af6c4e --- /dev/null +++ b/test/framework/js/dune @@ -0,0 +1,9 @@ +(library + (name framework_js) + (modes melange) + (wrapped false) + (libraries promise_js)) + +(copy_files + (mode fallback) + (files ../native/*.re)) diff --git a/test/framework/native/dune b/test/framework/native/dune index 0b65a56..1ffa308 100644 --- a/test/framework/native/dune +++ b/test/framework/native/dune @@ -1,3 +1,3 @@ (library - (name run) + (name framework) (libraries promise)) diff --git a/test/framework/framework.re b/test/framework/native/framework.re similarity index 100% rename from test/framework/framework.re rename to test/framework/native/framework.re diff --git a/test/framework/framework.rei b/test/framework/native/framework.rei similarity index 100% rename from test/framework/framework.rei rename to test/framework/native/framework.rei diff --git a/test/isoresult/js/dune b/test/isoresult/js/dune new file mode 100644 index 0000000..9c1feec --- /dev/null +++ b/test/isoresult/js/dune @@ -0,0 +1,5 @@ +(library + (name isoresult_js) + (modes melange) + (wrapped false) + (libraries melange.belt)) diff --git a/test/js/benchmark.re b/test/js/benchmark.re index bfcfd86..c3022c7 100644 --- a/test/js/benchmark.re +++ b/test/js/benchmark.re @@ -8,7 +8,6 @@ let test = Framework.test; -[@bs.val] external hrtime: unit => (int, int) = "process.hrtime"; let hrtime = () => { diff --git a/test/js/dune b/test/js/dune new file mode 100644 index 0000000..f89a822 --- /dev/null +++ b/test/js/dune @@ -0,0 +1,9 @@ +(copy_files + (mode fallback) + (files ../native/*.re)) + +(melange.emit + (target test) + (libraries framework_js promise_js isoresult_js test_ffi_js) + (preprocess + (pps melange.ppx))) diff --git a/test/native/dune b/test/native/dune index 04c668e..79c4217 100644 --- a/test/native/dune +++ b/test/native/dune @@ -1,3 +1,3 @@ -(library - (name test_ffi) - (libraries framework)) +(executable + (name test_main) + (libraries isoresult promise test_ffi)) diff --git a/test/test_main.re b/test/native/test_main.re similarity index 100% rename from test/test_main.re rename to test/native/test_main.re diff --git a/test/test_promise.re b/test/native/test_promise.re similarity index 100% rename from test/test_promise.re rename to test/native/test_promise.re