From d2381621c61696ace631e1cc43a0e0b61449103b Mon Sep 17 00:00:00 2001 From: Antonio Sarosi Date: Thu, 28 Nov 2024 22:47:57 +0000 Subject: [PATCH] Fix literal unions test prompt --- .../functions/output/literal-unions.baml | 2 +- integ-tests/python/baml_client/inlinedbaml.py | 2 +- integ-tests/ruby/baml_client/inlined.rb | 2 +- .../typescript/baml_client/inlinedbaml.ts | 2 +- integ-tests/typescript/test-report.html | 61 +------------------ 5 files changed, 7 insertions(+), 62 deletions(-) diff --git a/integ-tests/baml_src/test-files/functions/output/literal-unions.baml b/integ-tests/baml_src/test-files/functions/output/literal-unions.baml index 0712b6f83..a3dbd0d0c 100644 --- a/integ-tests/baml_src/test-files/functions/output/literal-unions.baml +++ b/integ-tests/baml_src/test-files/functions/output/literal-unions.baml @@ -1,7 +1,7 @@ function LiteralUnionsTest(input: string) -> 1 | true | "string output" { client GPT35 prompt #" - Return one of these values: + Return one of these values without any additional context: {{ctx.output_format}} "# } diff --git a/integ-tests/python/baml_client/inlinedbaml.py b/integ-tests/python/baml_client/inlinedbaml.py index 899763780..224074c15 100644 --- a/integ-tests/python/baml_client/inlinedbaml.py +++ b/integ-tests/python/baml_client/inlinedbaml.py @@ -73,7 +73,7 @@ "test-files/functions/output/literal-boolean.baml": "function FnOutputLiteralBool(input: string) -> false {\n client GPT35\n prompt #\"\n Return a false: {{ ctx.output_format}}\n \"#\n}\n\ntest FnOutputLiteralBool {\n functions [FnOutputLiteralBool]\n args {\n input \"example input\"\n }\n}\n", "test-files/functions/output/literal-int.baml": "function FnOutputLiteralInt(input: string) -> 5 {\n client GPT35\n prompt #\"\n Return an integer: {{ ctx.output_format}}\n \"#\n}\n\ntest FnOutputLiteralInt {\n functions [FnOutputLiteralInt]\n args {\n input \"example input\"\n }\n}\n", "test-files/functions/output/literal-string.baml": "function FnOutputLiteralString(input: string) -> \"example output\" {\n client GPT35\n prompt #\"\n Return a string: {{ ctx.output_format}}\n \"#\n}\n\ntest FnOutputLiteralString {\n functions [FnOutputLiteralString]\n args {\n input \"example input\"\n }\n}\n", - "test-files/functions/output/literal-unions.baml": "function LiteralUnionsTest(input: string) -> 1 | true | \"string output\" {\n client GPT35\n prompt #\"\n Return one of these values: \n {{ctx.output_format}}\n \"#\n}\n\ntest LiteralUnionsTest {\n functions [LiteralUnionsTest]\n args {\n input \"example input\"\n }\n}\n", + "test-files/functions/output/literal-unions.baml": "function LiteralUnionsTest(input: string) -> 1 | true | \"string output\" {\n client GPT35\n prompt #\"\n Return one of these values without any additional context: \n {{ctx.output_format}}\n \"#\n}\n\ntest LiteralUnionsTest {\n functions [LiteralUnionsTest]\n args {\n input \"example input\"\n }\n}\n", "test-files/functions/output/map-enum-key.baml": "enum MapKey {\n A\n B\n C\n}\n\nfunction InOutEnumMapKey(i1: map, i2: map) -> map {\n client \"openai/gpt-4o\"\n prompt #\"\n Merge these: {{i1}} {{i2}}\n\n {{ ctx.output_format }}\n \"#\n}\n", "test-files/functions/output/map-literal-union-key.baml": "function InOutLiteralStringUnionMapKey(\n i1: map<\"one\" | \"two\" | (\"three\" | \"four\"), string>, \n i2: map<\"one\" | \"two\" | (\"three\" | \"four\"), string>\n) -> map<\"one\" | \"two\" | (\"three\" | \"four\"), string> {\n client \"openai/gpt-4o\"\n prompt #\"\n Merge these:\n \n {{i1}}\n \n {{i2}}\n\n {{ ctx.output_format }}\n \"#\n}\n\nfunction InOutSingleLiteralStringMapKey(m: map<\"key\", string>) -> map<\"key\", string> {\n client \"openai/gpt-4o\"\n prompt #\"\n Return the same map you were given:\n \n {{m}}\n\n {{ ctx.output_format }}\n \"#\n}\n", "test-files/functions/output/mutually-recursive-classes.baml": "class Tree {\n data int\n children Forest\n}\n\nclass Forest {\n trees Tree[]\n}\n\nclass BinaryNode {\n data int\n left BinaryNode?\n right BinaryNode?\n}\n\nfunction BuildTree(input: BinaryNode) -> Tree {\n client GPT35\n prompt #\"\n Given the input binary tree, transform it into a generic tree using the given schema.\n\n INPUT:\n {{ input }}\n\n {{ ctx.output_format }} \n \"#\n}\n\ntest TestTree {\n functions [BuildTree]\n args {\n input {\n data 2\n left {\n data 1\n left null\n right null\n }\n right {\n data 3\n left null\n right null\n }\n }\n }\n}", diff --git a/integ-tests/ruby/baml_client/inlined.rb b/integ-tests/ruby/baml_client/inlined.rb index cd1e25d72..f6201e07f 100644 --- a/integ-tests/ruby/baml_client/inlined.rb +++ b/integ-tests/ruby/baml_client/inlined.rb @@ -73,7 +73,7 @@ module Inlined "test-files/functions/output/literal-boolean.baml" => "function FnOutputLiteralBool(input: string) -> false {\n client GPT35\n prompt #\"\n Return a false: {{ ctx.output_format}}\n \"#\n}\n\ntest FnOutputLiteralBool {\n functions [FnOutputLiteralBool]\n args {\n input \"example input\"\n }\n}\n", "test-files/functions/output/literal-int.baml" => "function FnOutputLiteralInt(input: string) -> 5 {\n client GPT35\n prompt #\"\n Return an integer: {{ ctx.output_format}}\n \"#\n}\n\ntest FnOutputLiteralInt {\n functions [FnOutputLiteralInt]\n args {\n input \"example input\"\n }\n}\n", "test-files/functions/output/literal-string.baml" => "function FnOutputLiteralString(input: string) -> \"example output\" {\n client GPT35\n prompt #\"\n Return a string: {{ ctx.output_format}}\n \"#\n}\n\ntest FnOutputLiteralString {\n functions [FnOutputLiteralString]\n args {\n input \"example input\"\n }\n}\n", - "test-files/functions/output/literal-unions.baml" => "function LiteralUnionsTest(input: string) -> 1 | true | \"string output\" {\n client GPT35\n prompt #\"\n Return one of these values: \n {{ctx.output_format}}\n \"#\n}\n\ntest LiteralUnionsTest {\n functions [LiteralUnionsTest]\n args {\n input \"example input\"\n }\n}\n", + "test-files/functions/output/literal-unions.baml" => "function LiteralUnionsTest(input: string) -> 1 | true | \"string output\" {\n client GPT35\n prompt #\"\n Return one of these values without any additional context: \n {{ctx.output_format}}\n \"#\n}\n\ntest LiteralUnionsTest {\n functions [LiteralUnionsTest]\n args {\n input \"example input\"\n }\n}\n", "test-files/functions/output/map-enum-key.baml" => "enum MapKey {\n A\n B\n C\n}\n\nfunction InOutEnumMapKey(i1: map, i2: map) -> map {\n client \"openai/gpt-4o\"\n prompt #\"\n Merge these: {{i1}} {{i2}}\n\n {{ ctx.output_format }}\n \"#\n}\n", "test-files/functions/output/map-literal-union-key.baml" => "function InOutLiteralStringUnionMapKey(\n i1: map<\"one\" | \"two\" | (\"three\" | \"four\"), string>, \n i2: map<\"one\" | \"two\" | (\"three\" | \"four\"), string>\n) -> map<\"one\" | \"two\" | (\"three\" | \"four\"), string> {\n client \"openai/gpt-4o\"\n prompt #\"\n Merge these:\n \n {{i1}}\n \n {{i2}}\n\n {{ ctx.output_format }}\n \"#\n}\n\nfunction InOutSingleLiteralStringMapKey(m: map<\"key\", string>) -> map<\"key\", string> {\n client \"openai/gpt-4o\"\n prompt #\"\n Return the same map you were given:\n \n {{m}}\n\n {{ ctx.output_format }}\n \"#\n}\n", "test-files/functions/output/mutually-recursive-classes.baml" => "class Tree {\n data int\n children Forest\n}\n\nclass Forest {\n trees Tree[]\n}\n\nclass BinaryNode {\n data int\n left BinaryNode?\n right BinaryNode?\n}\n\nfunction BuildTree(input: BinaryNode) -> Tree {\n client GPT35\n prompt #\"\n Given the input binary tree, transform it into a generic tree using the given schema.\n\n INPUT:\n {{ input }}\n\n {{ ctx.output_format }} \n \"#\n}\n\ntest TestTree {\n functions [BuildTree]\n args {\n input {\n data 2\n left {\n data 1\n left null\n right null\n }\n right {\n data 3\n left null\n right null\n }\n }\n }\n}", diff --git a/integ-tests/typescript/baml_client/inlinedbaml.ts b/integ-tests/typescript/baml_client/inlinedbaml.ts index 43fbc8d22..232c36118 100644 --- a/integ-tests/typescript/baml_client/inlinedbaml.ts +++ b/integ-tests/typescript/baml_client/inlinedbaml.ts @@ -74,7 +74,7 @@ const fileMap = { "test-files/functions/output/literal-boolean.baml": "function FnOutputLiteralBool(input: string) -> false {\n client GPT35\n prompt #\"\n Return a false: {{ ctx.output_format}}\n \"#\n}\n\ntest FnOutputLiteralBool {\n functions [FnOutputLiteralBool]\n args {\n input \"example input\"\n }\n}\n", "test-files/functions/output/literal-int.baml": "function FnOutputLiteralInt(input: string) -> 5 {\n client GPT35\n prompt #\"\n Return an integer: {{ ctx.output_format}}\n \"#\n}\n\ntest FnOutputLiteralInt {\n functions [FnOutputLiteralInt]\n args {\n input \"example input\"\n }\n}\n", "test-files/functions/output/literal-string.baml": "function FnOutputLiteralString(input: string) -> \"example output\" {\n client GPT35\n prompt #\"\n Return a string: {{ ctx.output_format}}\n \"#\n}\n\ntest FnOutputLiteralString {\n functions [FnOutputLiteralString]\n args {\n input \"example input\"\n }\n}\n", - "test-files/functions/output/literal-unions.baml": "function LiteralUnionsTest(input: string) -> 1 | true | \"string output\" {\n client GPT35\n prompt #\"\n Return one of these values: \n {{ctx.output_format}}\n \"#\n}\n\ntest LiteralUnionsTest {\n functions [LiteralUnionsTest]\n args {\n input \"example input\"\n }\n}\n", + "test-files/functions/output/literal-unions.baml": "function LiteralUnionsTest(input: string) -> 1 | true | \"string output\" {\n client GPT35\n prompt #\"\n Return one of these values without any additional context: \n {{ctx.output_format}}\n \"#\n}\n\ntest LiteralUnionsTest {\n functions [LiteralUnionsTest]\n args {\n input \"example input\"\n }\n}\n", "test-files/functions/output/map-enum-key.baml": "enum MapKey {\n A\n B\n C\n}\n\nfunction InOutEnumMapKey(i1: map, i2: map) -> map {\n client \"openai/gpt-4o\"\n prompt #\"\n Merge these: {{i1}} {{i2}}\n\n {{ ctx.output_format }}\n \"#\n}\n", "test-files/functions/output/map-literal-union-key.baml": "function InOutLiteralStringUnionMapKey(\n i1: map<\"one\" | \"two\" | (\"three\" | \"four\"), string>, \n i2: map<\"one\" | \"two\" | (\"three\" | \"four\"), string>\n) -> map<\"one\" | \"two\" | (\"three\" | \"four\"), string> {\n client \"openai/gpt-4o\"\n prompt #\"\n Merge these:\n \n {{i1}}\n \n {{i2}}\n\n {{ ctx.output_format }}\n \"#\n}\n\nfunction InOutSingleLiteralStringMapKey(m: map<\"key\", string>) -> map<\"key\", string> {\n client \"openai/gpt-4o\"\n prompt #\"\n Return the same map you were given:\n \n {{m}}\n\n {{ ctx.output_format }}\n \"#\n}\n", "test-files/functions/output/mutually-recursive-classes.baml": "class Tree {\n data int\n children Forest\n}\n\nclass Forest {\n trees Tree[]\n}\n\nclass BinaryNode {\n data int\n left BinaryNode?\n right BinaryNode?\n}\n\nfunction BuildTree(input: BinaryNode) -> Tree {\n client GPT35\n prompt #\"\n Given the input binary tree, transform it into a generic tree using the given schema.\n\n INPUT:\n {{ input }}\n\n {{ ctx.output_format }} \n \"#\n}\n\ntest TestTree {\n functions [BuildTree]\n args {\n input {\n data 2\n left {\n data 1\n left null\n right null\n }\n right {\n data 3\n left null\n right null\n }\n }\n }\n}", diff --git a/integ-tests/typescript/test-report.html b/integ-tests/typescript/test-report.html index 1d6bb9a4b..249e518b0 100644 --- a/integ-tests/typescript/test-report.html +++ b/integ-tests/typescript/test-report.html @@ -257,64 +257,9 @@ font-size: 1rem; padding: 0 0.5rem; } -

Test Report

Started: 2024-11-28 22:38:45
Suites (1)
0 passed
1 failed
0 pending
Tests (70)
67 passed
3 failed
0 pending
Integ tests > should work for all inputs
single bool
passed
0.442s
Integ tests > should work for all inputs
single string list
passed
0.606s
Integ tests > should work for all inputs
return literal union
passed
0.382s
Integ tests > should work for all inputs
single class
passed
0.448s
Integ tests > should work for all inputs
multiple classes
passed
0.444s
Integ tests > should work for all inputs
single enum list
passed
0.425s
Integ tests > should work for all inputs
single float
passed
0.863s
Integ tests > should work for all inputs
single int
passed
0.338s
Integ tests > should work for all inputs
single literal int
passed
0.38s
Integ tests > should work for all inputs
single literal bool
passed
0.408s
Integ tests > should work for all inputs
single literal string
passed
0.409s
Integ tests > should work for all inputs
single class with literal prop
passed
0.547s
Integ tests > should work for all inputs
single class with literal union prop
passed
0.679s
Integ tests > should work for all inputs
single optional string
passed
0.328s
Integ tests > should work for all inputs
single map string to string
passed
0.492s
Integ tests > should work for all inputs
single map string to class
passed
0.514s
Integ tests > should work for all inputs
single map string to map
passed
0.518s
Integ tests > should work for all inputs
enum key in map
passed
0.808s
Integ tests > should work for all inputs
literal string union key in map
passed
0.553s
Integ tests > should work for all inputs
single literal string key in map
passed
0.882s
Integ tests > should work for all inputs
primitive union alias
passed
0.823s
Integ tests > should work for all inputs
map alias
passed
0.822s
Integ tests > should work for all inputs
alias union
passed
1.463s
Integ tests
should work for all outputs
passed
4.158s
Integ tests
works with retries1
passed
1.164s
Integ tests
works with retries2
passed
2.411s
Integ tests
works with fallbacks
passed
2.378s
Integ tests
should work with image from url
passed
1.432s
Integ tests
should work with image from base 64
passed
1.528s
Integ tests
should work with audio base 64
passed
1.555s
Integ tests
should work with audio from url
passed
1.619s
Integ tests
should support streaming in OpenAI
passed
2.023s
Integ tests
should support streaming in Gemini
passed
9.831s
Integ tests
should support AWS
passed
1.651s
Integ tests
should support streaming in AWS
passed
1.516s
Integ tests
should allow overriding the region
passed
0.02s
Integ tests
should support OpenAI shorthand
passed
6.471s
Integ tests
should support OpenAI shorthand streaming
passed
9.687s
Integ tests
should support anthropic shorthand
passed
3.816s
Integ tests
should support anthropic shorthand streaming
passed
2.662s
Integ tests
should support streaming without iterating
passed
1.73s
Integ tests
should support streaming in Claude
passed
1.42s
Integ tests
should support vertex
failed
0.001s
Error: BamlError: Failed to read service account file: 
+

Test Report

Started: 2024-11-28 22:45:21
Suites (1)
0 passed
1 failed
0 pending
Tests (70)
68 passed
2 failed
0 pending
Integ tests > should work for all inputs
single bool
passed
0.428s
Integ tests > should work for all inputs
single string list
passed
0.385s
Integ tests > should work for all inputs
return literal union
passed
0.312s
Integ tests > should work for all inputs
single class
passed
0.405s
Integ tests > should work for all inputs
multiple classes
passed
0.717s
Integ tests > should work for all inputs
single enum list
passed
0.407s
Integ tests > should work for all inputs
single float
passed
0.304s
Integ tests > should work for all inputs
single int
passed
0.523s
Integ tests > should work for all inputs
single literal int
passed
0.39s
Integ tests > should work for all inputs
single literal bool
passed
0.281s
Integ tests > should work for all inputs
single literal string
passed
0.343s
Integ tests > should work for all inputs
single class with literal prop
passed
0.615s
Integ tests > should work for all inputs
single class with literal union prop
passed
0.616s
Integ tests > should work for all inputs
single optional string
passed
0.609s
Integ tests > should work for all inputs
single map string to string
passed
0.641s
Integ tests > should work for all inputs
single map string to class
passed
0.587s
Integ tests > should work for all inputs
single map string to map
passed
0.427s
Integ tests > should work for all inputs
enum key in map
passed
0.64s
Integ tests > should work for all inputs
literal string union key in map
passed
0.777s
Integ tests > should work for all inputs
single literal string key in map
passed
0.743s
Integ tests > should work for all inputs
primitive union alias
passed
0.46s
Integ tests > should work for all inputs
map alias
passed
0.845s
Integ tests > should work for all inputs
alias union
passed
1.529s
Integ tests
should work for all outputs
passed
4.278s
Integ tests
works with retries1
passed
1.074s
Integ tests
works with retries2
passed
2.274s
Integ tests
works with fallbacks
passed
2s
Integ tests
should work with image from url
passed
1.742s
Integ tests
should work with image from base 64
passed
1.229s
Integ tests
should work with audio base 64
passed
1.536s
Integ tests
should work with audio from url
passed
1.603s
Integ tests
should support streaming in OpenAI
passed
2.034s
Integ tests
should support streaming in Gemini
passed
10.13s
Integ tests
should support AWS
passed
1.694s
Integ tests
should support streaming in AWS
passed
1.526s
Integ tests
should allow overriding the region
passed
0.011s
Integ tests
should support OpenAI shorthand
passed
14.026s
Integ tests
should support OpenAI shorthand streaming
passed
9.005s
Integ tests
should support anthropic shorthand
passed
3.033s
Integ tests
should support anthropic shorthand streaming
passed
3.136s
Integ tests
should support streaming without iterating
passed
1.992s
Integ tests
should support streaming in Claude
passed
1.027s
Integ tests
should support vertex
failed
0.003s
Error: BamlError: Failed to read service account file: 
 
 Caused by:
-    No such file or directory (os error 2)
Integ tests
supports tracing sync
passed
0.014s
Integ tests
supports tracing async
passed
2.783s
Integ tests
should work with dynamic types single
passed
1.115s
Integ tests
should work with dynamic types enum
passed
0.924s
Integ tests
should work with dynamic literals
passed
1.019s
Integ tests
should work with dynamic types class
passed
0.84s
Integ tests
should work with dynamic inputs class
passed
0.495s
Integ tests
should work with dynamic inputs list
passed
0.508s
Integ tests
should work with dynamic output map
passed
0.715s
Integ tests
should work with dynamic output union
passed
1.478s
Integ tests
should work with nested classes
failed
0.108s
Error: BamlError: BamlClientError: Something went wrong with the LLM client: reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(11434), path: "/v1/chat/completions", query: None, fragment: None }, source: hyper_util::client::legacy::Error(Connect, ConnectError("tcp connect error", Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })) }
+    No such file or directory (os error 2)
Integ tests
supports tracing sync
passed
0.014s
Integ tests
supports tracing async
passed
1.783s
Integ tests
should work with dynamic types single
passed
0.895s
Integ tests
should work with dynamic types enum
passed
0.748s
Integ tests
should work with dynamic literals
passed
0.785s
Integ tests
should work with dynamic types class
passed
6.247s
Integ tests
should work with dynamic inputs class
passed
0.508s
Integ tests
should work with dynamic inputs list
passed
0.551s
Integ tests
should work with dynamic output map
passed
0.685s
Integ tests
should work with dynamic output union
passed
1.529s
Integ tests
should work with nested classes
failed
0.106s
Error: BamlError: BamlClientError: Something went wrong with the LLM client: reqwest::Error { kind: Request, url: Url { scheme: "http", cannot_be_a_base: false, username: "", password: None, host: Some(Domain("localhost")), port: Some(11434), path: "/v1/chat/completions", query: None, fragment: None }, source: hyper_util::client::legacy::Error(Connect, ConnectError("tcp connect error", Os { code: 111, kind: ConnectionRefused, message: "Connection refused" })) }
     at BamlStream.parsed [as getFinalResponse] (/workspaces/baml/engine/language_client_typescript/stream.js:58:39)
-    at Object.<anonymous> (/workspaces/baml/integ-tests/typescript/tests/integ-tests.test.ts:620:19)
Integ tests
should work with dynamic client
passed
0.358s
Integ tests
should work with 'onLogEvent'
passed
1.923s
Integ tests
should work with a sync client
passed
0.471s
Integ tests
should raise an error when appropriate
passed
0.817s
Integ tests
should raise a BAMLValidationError
passed
0.47s
Integ tests
should reset environment variables correctly
passed
2.557s
Integ tests
should use aliases when serializing input objects - classes
passed
1.517s
Integ tests
should use aliases when serializing, but still have original keys in jinja
passed
0.837s
Integ tests
should use aliases when serializing input objects - enums
passed
0.445s
Integ tests
should use aliases when serializing input objects - lists
passed
0.481s
Integ tests
constraints: should handle checks in return types
passed
0.613s
Integ tests
constraints: should handle checks in returned unions
passed
0.829s
Integ tests
constraints: should handle block-level checks
passed
0.509s
Integ tests
constraints: should handle nested-block-level checks
passed
0.709s
Integ tests
simple recursive type
passed
2.458s
Integ tests
mutually recursive type
failed
1.686s
Error: expect(received).toEqual(expected) // deep equality
-
-- Expected  - 32
-+ Received  +  0
-
-@@ -4,49 +4,17 @@
-        Object {
-          "children": Object {
-            "trees": Array [
-              Object {
-                "children": Object {
--                 "trees": Array [
--                   Object {
--                     "children": Object {
--                       "trees": Array [],
--                     },
--                     "data": 2,
--                   },
--                 ],
--               },
--               "data": 1,
--             },
--             Object {
--               "children": Object {
-                  "trees": Array [],
-                },
-                "data": 4,
-              },
-            ],
-          },
-          "data": 3,
--       },
--       Object {
--         "children": Object {
--           "trees": Array [
--             Object {
--               "children": Object {
--                 "trees": Array [],
--               },
--               "data": 6,
--             },
--             Object {
--               "children": Object {
--                 "trees": Array [],
--               },
--               "data": 8,
--             },
--           ],
--         },
--         "data": 7,
-        },
-      ],
-    },
-    "data": 5,
-  }
-    at Object.toEqual (/workspaces/baml/integ-tests/typescript/tests/integ-tests.test.ts:856:17)
\ No newline at end of file + at Object.<anonymous> (/workspaces/baml/integ-tests/typescript/tests/integ-tests.test.ts:620:19)
Integ tests
should work with dynamic client
passed
0.414s
Integ tests
should work with 'onLogEvent'
passed
1.518s
Integ tests
should work with a sync client
passed
0.621s
Integ tests
should raise an error when appropriate
passed
1.07s
Integ tests
should raise a BAMLValidationError
passed
0.369s
Integ tests
should reset environment variables correctly
passed
1.53s
Integ tests
should use aliases when serializing input objects - classes
passed
0.921s
Integ tests
should use aliases when serializing, but still have original keys in jinja
passed
0.919s
Integ tests
should use aliases when serializing input objects - enums
passed
0.808s
Integ tests
should use aliases when serializing input objects - lists
passed
0.289s
Integ tests
constraints: should handle checks in return types
passed
0.651s
Integ tests
constraints: should handle checks in returned unions
passed
0.573s
Integ tests
constraints: should handle block-level checks
passed
0.648s
Integ tests
constraints: should handle nested-block-level checks
passed
0.543s
Integ tests
simple recursive type
passed
2.737s
Integ tests
mutually recursive type
passed
1.637s
\ No newline at end of file