diff --git a/lib/jline-native-4.4.5.jar b/lib/jline-native-4.4.6.jar
similarity index 94%
rename from lib/jline-native-4.4.5.jar
rename to lib/jline-native-4.4.6.jar
index 18697b1dd..dbc6cb8de 100644
Binary files a/lib/jline-native-4.4.5.jar and b/lib/jline-native-4.4.6.jar differ
diff --git a/lib/jline-reader-4.4.5.jar b/lib/jline-reader-4.4.6.jar
similarity index 92%
rename from lib/jline-reader-4.4.5.jar
rename to lib/jline-reader-4.4.6.jar
index 89ad49618..4680448d1 100644
Binary files a/lib/jline-reader-4.4.5.jar and b/lib/jline-reader-4.4.6.jar differ
diff --git a/lib/jline-terminal-4.4.5.jar b/lib/jline-terminal-4.4.6.jar
similarity index 91%
rename from lib/jline-terminal-4.4.5.jar
rename to lib/jline-terminal-4.4.6.jar
index 9b24b9db7..94eea5798 100644
Binary files a/lib/jline-terminal-4.4.5.jar and b/lib/jline-terminal-4.4.6.jar differ
diff --git a/lib/jline-terminal-jni-4.4.5.jar b/lib/jline-terminal-jni-4.4.6.jar
similarity index 82%
rename from lib/jline-terminal-jni-4.4.5.jar
rename to lib/jline-terminal-jni-4.4.6.jar
index 25d4b4736..fc294ad8a 100644
Binary files a/lib/jline-terminal-jni-4.4.5.jar and b/lib/jline-terminal-jni-4.4.6.jar differ
diff --git a/pom.json b/pom.json
index 5f96f1b08..0012d1157 100644
--- a/pom.json
+++ b/pom.json
@@ -1 +1 @@
-{"{\"artifactId\":\"rhino\"}":{"groupId":"org.mozilla","artifactId":"rhino","version":"1.9.1"},"{\"artifactId\":\"rhino-xml\"}":{"groupId":"org.mozilla","artifactId":"rhino-xml","version":"1.9.1"},"{\"artifactId\":\"rhino-engine\"}":{"groupId":"org.mozilla","artifactId":"rhino-engine","version":"1.9.1"},"{\"artifactId\":\"asciilist-j7\"}":{"groupId":"de.vandermeer","artifactId":"asciilist-j7","version":"1.0.0"},"{\"artifactId\":\"asciitable-j7\"}":{"groupId":"de.vandermeer","artifactId":"asciitable-j7","version":"1.0.1"},"{\"artifactId\":\"commons-cli\"}":{"groupId":"commons-cli","artifactId":"commons-cli","version":"1.11.0"},"{\"artifactId\":\"commons-codec\"}":{"groupId":"commons-codec","artifactId":"commons-codec","version":"1.22.1"},"{\"artifactId\":\"commons-collections4\"}":{"groupId":"org.apache.commons","artifactId":"commons-collections4","version":"4.6.0"},"{\"artifactId\":\"commons-compress\"}":{"groupId":"org.apache.commons","artifactId":"commons-compress","version":"1.28.0"},"{\"artifactId\":\"commons-csv\"}":{"groupId":"org.apache.commons","artifactId":"commons-csv","version":"1.14.1"},"{\"artifactId\":\"commons-email\"}":{"groupId":"org.apache.commons","artifactId":"commons-email","version":"1.6.0"},"{\"artifactId\":\"commons-io\"}":{"groupId":"commons-io","artifactId":"commons-io","version":"2.22.0"},"{\"artifactId\":\"commons-lang3\"}":{"groupId":"org.apache.commons","artifactId":"commons-lang3","version":"3.20.0"},"{\"artifactId\":\"commons-logging\"}":{"groupId":"commons-logging","artifactId":"commons-logging","version":"1.4.0"},"{\"artifactId\":\"commons-math3\"}":{"groupId":"org.apache.commons","artifactId":"commons-math3","version":"3.6.1"},"{\"artifactId\":\"commons-net\"}":{"groupId":"commons-net","artifactId":"commons-net","version":"3.13.0"},"{\"artifactId\":\"googleauth\"}":{"groupId":"com.warrenstrange","artifactId":"googleauth","version":"1.5.0"},"{\"artifactId\":\"gson\"}":{"groupId":"com.google.code.gson","artifactId":"gson","version":"2.14.0"},"{\"artifactId\":\"h2\"}":{"groupId":"com.h2database","artifactId":"h2","version":"2.5.250"},"{\"artifactId\":\"jackson-annotations\"}":{"groupId":"com.fasterxml.jackson.core","artifactId":"jackson-annotations","version":"2.21"},"{\"artifactId\":\"jackson-core\"}":{"groupId":"com.fasterxml.jackson.core","artifactId":"jackson-core","version":"2.22.3"},"{\"artifactId\":\"jackson-databind\"}":{"groupId":"com.fasterxml.jackson.core","artifactId":"jackson-databind","version":"2.22.3"},"{\"artifactId\":\"jackson-dataformat-toml\"}":{"groupId":"com.fasterxml.jackson.dataformat","artifactId":"jackson-dataformat-toml","version":"2.22.3"},"{\"artifactId\":\"jansi\"}":{"groupId":"org.fusesource.jansi","artifactId":"jansi","version":"1.18"},"{\"artifactId\":\"jaxb-api\"}":{"groupId":"javax.xml.bind","artifactId":"jaxb-api","version":"2.3.1"},"{\"artifactId\":\"jbsdiff\"}":{"groupId":"io.sigpipe","artifactId":"jbsdiff","version":"1.0"},"{\"artifactId\":\"jetty-client\"}":{"groupId":"org.eclipse.jetty","artifactId":"jetty-client","version":"12.1.13"},"{\"artifactId\":\"jetty-http\"}":{"groupId":"org.eclipse.jetty","artifactId":"jetty-http","version":"12.1.13"},"{\"artifactId\":\"jetty-io\"}":{"groupId":"org.eclipse.jetty","artifactId":"jetty-io","version":"12.1.13"},"{\"artifactId\":\"jetty-util\"}":{"groupId":"org.eclipse.jetty","artifactId":"jetty-util","version":"12.1.13"},"{\"artifactId\":\"jetty-compression-common\"}":{"groupId":"org.eclipse.jetty.compression","artifactId":"jetty-compression-common","version":"12.1.13"},"{\"artifactId\":\"jetty-websocket-jetty-common\"}":{"groupId":"org.eclipse.jetty.websocket","artifactId":"jetty-websocket-jetty-common","version":"12.1.13"},"{\"artifactId\":\"jetty-websocket-jetty-api\"}":{"groupId":"org.eclipse.jetty.websocket","artifactId":"jetty-websocket-jetty-api","version":"12.1.13"},"{\"artifactId\":\"jetty-websocket-jetty-client\"}":{"groupId":"org.eclipse.jetty.websocket","artifactId":"jetty-websocket-jetty-client","version":"12.1.13"},"{\"artifactId\":\"jetty-websocket-core-client\"}":{"groupId":"org.eclipse.jetty.websocket","artifactId":"jetty-websocket-core-client","version":"12.1.13"},"{\"artifactId\":\"jetty-websocket-core-common\"}":{"groupId":"org.eclipse.jetty.websocket","artifactId":"jetty-websocket-core-common","version":"12.1.13"},"{\"artifactId\":\"jna-platform\"}":{"groupId":"net.java.dev.jna","artifactId":"jna-platform","version":"5.19.1"},"{\"artifactId\":\"jna\"}":{"groupId":"net.java.dev.jna","artifactId":"jna","version":"5.19.1"},"{\"artifactId\":\"postgresql\"}":{"groupId":"org.postgresql","artifactId":"postgresql","version":"42.7.13"},"{\"artifactId\":\"snmp4j\"}":{"groupId":"org.snmp4j","artifactId":"snmp4j","version":"3.13.1"},"{\"artifactId\":\"snmp4j-agent\"}":{"groupId":"org.snmp4j","artifactId":"snmp4j-agent","version":"3.10.1"},"{\"artifactId\":\"jjwt-impl\"}":{"groupId":"io.jsonwebtoken","artifactId":"jjwt-impl","version":"0.13.0"},"{\"artifactId\":\"jjwt-api\"}":{"groupId":"io.jsonwebtoken","artifactId":"jjwt-api","version":"0.13.0"},"{\"artifactId\":\"jjwt-gson\"}":{"groupId":"io.jsonwebtoken","artifactId":"jjwt-gson","version":"0.13.0"},"{\"artifactId\":\"okhttp\"}":{"groupId":"com.squareup.okhttp3","artifactId":"okhttp","version":"5.5.0"},"{\"artifactId\":\"okhttp-jvm\"}":{"groupId":"com.squareup.okhttp3","artifactId":"okhttp-jvm","version":"5.5.0"},"{\"artifactId\":\"kotlin-stdlib\"}":{"groupId":"org.jetbrains.kotlin","artifactId":"kotlin-stdlib","version":"2.4.20"},"{\"artifactId\":\"okio\"}":{"groupId":"com.squareup.okio","artifactId":"okio","version":"3.18.2"},"{\"artifactId\":\"okio-jvm\"}":{"groupId":"com.squareup.okio","artifactId":"okio-jvm","version":"3.18.2"},"{\"artifactId\":\"dnsjava\"}":{"groupId":"dnsjava","artifactId":"dnsjava","version":"3.6.5"},"{\"artifactId\":\"slf4j-api\"}":{"groupId":"org.slf4j","artifactId":"slf4j-api","version":"2.0.19"},"{\"artifactId\":\"slf4j-nop\"}":{"groupId":"org.slf4j","artifactId":"slf4j-nop","version":"2.0.19"},"{\"artifactId\":\"jsch\"}":{"groupId":"com.github.mwiede","artifactId":"jsch","version":"2.28.7"},"{\"artifactId\":\"sql-formatter\"}":{"groupId":"com.github.vertical-blank","artifactId":"sql-formatter","version":"2.0.5"},"{\"artifactId\":\"semver4j\"}":{"groupId":"org.semver4j","artifactId":"semver4j","version":"6.0.0"},"{\"artifactId\":\"ojdbc17\"}":{"groupId":"com.oracle.database.jdbc","artifactId":"ojdbc17","version":"23.26.3.0.0"},"{\"artifactId\":\"jakarta.mail\"}":{"groupId":"com.sun.mail","artifactId":"jakarta.mail","version":"1.6.8"},"{\"artifactId\":\"json-io\"}":{"groupId":"com.cedarsoftware","artifactId":"json-io","version":"4.111.0"},"{\"artifactId\":\"java-util\"}":{"groupId":"com.cedarsoftware","artifactId":"java-util","version":"4.111.0"},"{\"artifactId\":\"jline-reader\"}":{"groupId":"org.jline","artifactId":"jline-reader","version":"4.4.5"},"{\"artifactId\":\"jline-terminal\"}":{"groupId":"org.jline","artifactId":"jline-terminal","version":"4.4.5"},"{\"artifactId\":\"jline-terminal-jni\"}":{"groupId":"org.jline","artifactId":"jline-terminal-jni","version":"4.4.5"},"{\"artifactId\":\"jline-native\"}":{"groupId":"org.jline","artifactId":"jline-native","version":"4.4.5"}}
\ No newline at end of file
+{"{\"artifactId\":\"rhino\"}":{"groupId":"org.mozilla","artifactId":"rhino","version":"1.9.1"},"{\"artifactId\":\"rhino-xml\"}":{"groupId":"org.mozilla","artifactId":"rhino-xml","version":"1.9.1"},"{\"artifactId\":\"rhino-engine\"}":{"groupId":"org.mozilla","artifactId":"rhino-engine","version":"1.9.1"},"{\"artifactId\":\"asciilist-j7\"}":{"groupId":"de.vandermeer","artifactId":"asciilist-j7","version":"1.0.0"},"{\"artifactId\":\"asciitable-j7\"}":{"groupId":"de.vandermeer","artifactId":"asciitable-j7","version":"1.0.1"},"{\"artifactId\":\"commons-cli\"}":{"groupId":"commons-cli","artifactId":"commons-cli","version":"1.11.0"},"{\"artifactId\":\"commons-codec\"}":{"groupId":"commons-codec","artifactId":"commons-codec","version":"1.22.1"},"{\"artifactId\":\"commons-collections4\"}":{"groupId":"org.apache.commons","artifactId":"commons-collections4","version":"4.6.0"},"{\"artifactId\":\"commons-compress\"}":{"groupId":"org.apache.commons","artifactId":"commons-compress","version":"1.28.0"},"{\"artifactId\":\"commons-csv\"}":{"groupId":"org.apache.commons","artifactId":"commons-csv","version":"1.14.1"},"{\"artifactId\":\"commons-email\"}":{"groupId":"org.apache.commons","artifactId":"commons-email","version":"1.6.0"},"{\"artifactId\":\"commons-io\"}":{"groupId":"commons-io","artifactId":"commons-io","version":"2.22.0"},"{\"artifactId\":\"commons-lang3\"}":{"groupId":"org.apache.commons","artifactId":"commons-lang3","version":"3.20.0"},"{\"artifactId\":\"commons-logging\"}":{"groupId":"commons-logging","artifactId":"commons-logging","version":"1.4.0"},"{\"artifactId\":\"commons-math3\"}":{"groupId":"org.apache.commons","artifactId":"commons-math3","version":"3.6.1"},"{\"artifactId\":\"commons-net\"}":{"groupId":"commons-net","artifactId":"commons-net","version":"3.13.0"},"{\"artifactId\":\"googleauth\"}":{"groupId":"com.warrenstrange","artifactId":"googleauth","version":"1.5.0"},"{\"artifactId\":\"gson\"}":{"groupId":"com.google.code.gson","artifactId":"gson","version":"2.14.0"},"{\"artifactId\":\"h2\"}":{"groupId":"com.h2database","artifactId":"h2","version":"2.5.250"},"{\"artifactId\":\"jackson-annotations\"}":{"groupId":"com.fasterxml.jackson.core","artifactId":"jackson-annotations","version":"2.21"},"{\"artifactId\":\"jackson-core\"}":{"groupId":"com.fasterxml.jackson.core","artifactId":"jackson-core","version":"2.22.3"},"{\"artifactId\":\"jackson-databind\"}":{"groupId":"com.fasterxml.jackson.core","artifactId":"jackson-databind","version":"2.22.3"},"{\"artifactId\":\"jackson-dataformat-toml\"}":{"groupId":"com.fasterxml.jackson.dataformat","artifactId":"jackson-dataformat-toml","version":"2.22.3"},"{\"artifactId\":\"jansi\"}":{"groupId":"org.fusesource.jansi","artifactId":"jansi","version":"1.18"},"{\"artifactId\":\"jaxb-api\"}":{"groupId":"javax.xml.bind","artifactId":"jaxb-api","version":"2.3.1"},"{\"artifactId\":\"jbsdiff\"}":{"groupId":"io.sigpipe","artifactId":"jbsdiff","version":"1.0"},"{\"artifactId\":\"jetty-client\"}":{"groupId":"org.eclipse.jetty","artifactId":"jetty-client","version":"12.1.13"},"{\"artifactId\":\"jetty-http\"}":{"groupId":"org.eclipse.jetty","artifactId":"jetty-http","version":"12.1.13"},"{\"artifactId\":\"jetty-io\"}":{"groupId":"org.eclipse.jetty","artifactId":"jetty-io","version":"12.1.13"},"{\"artifactId\":\"jetty-util\"}":{"groupId":"org.eclipse.jetty","artifactId":"jetty-util","version":"12.1.13"},"{\"artifactId\":\"jetty-compression-common\"}":{"groupId":"org.eclipse.jetty.compression","artifactId":"jetty-compression-common","version":"12.1.13"},"{\"artifactId\":\"jetty-websocket-jetty-common\"}":{"groupId":"org.eclipse.jetty.websocket","artifactId":"jetty-websocket-jetty-common","version":"12.1.13"},"{\"artifactId\":\"jetty-websocket-jetty-api\"}":{"groupId":"org.eclipse.jetty.websocket","artifactId":"jetty-websocket-jetty-api","version":"12.1.13"},"{\"artifactId\":\"jetty-websocket-jetty-client\"}":{"groupId":"org.eclipse.jetty.websocket","artifactId":"jetty-websocket-jetty-client","version":"12.1.13"},"{\"artifactId\":\"jetty-websocket-core-client\"}":{"groupId":"org.eclipse.jetty.websocket","artifactId":"jetty-websocket-core-client","version":"12.1.13"},"{\"artifactId\":\"jetty-websocket-core-common\"}":{"groupId":"org.eclipse.jetty.websocket","artifactId":"jetty-websocket-core-common","version":"12.1.13"},"{\"artifactId\":\"jna-platform\"}":{"groupId":"net.java.dev.jna","artifactId":"jna-platform","version":"5.19.1"},"{\"artifactId\":\"jna\"}":{"groupId":"net.java.dev.jna","artifactId":"jna","version":"5.19.1"},"{\"artifactId\":\"postgresql\"}":{"groupId":"org.postgresql","artifactId":"postgresql","version":"42.7.13"},"{\"artifactId\":\"snmp4j\"}":{"groupId":"org.snmp4j","artifactId":"snmp4j","version":"3.13.1"},"{\"artifactId\":\"snmp4j-agent\"}":{"groupId":"org.snmp4j","artifactId":"snmp4j-agent","version":"3.10.1"},"{\"artifactId\":\"jjwt-impl\"}":{"groupId":"io.jsonwebtoken","artifactId":"jjwt-impl","version":"0.13.0"},"{\"artifactId\":\"jjwt-api\"}":{"groupId":"io.jsonwebtoken","artifactId":"jjwt-api","version":"0.13.0"},"{\"artifactId\":\"jjwt-gson\"}":{"groupId":"io.jsonwebtoken","artifactId":"jjwt-gson","version":"0.13.0"},"{\"artifactId\":\"okhttp\"}":{"groupId":"com.squareup.okhttp3","artifactId":"okhttp","version":"5.5.0"},"{\"artifactId\":\"okhttp-jvm\"}":{"groupId":"com.squareup.okhttp3","artifactId":"okhttp-jvm","version":"5.5.0"},"{\"artifactId\":\"kotlin-stdlib\"}":{"groupId":"org.jetbrains.kotlin","artifactId":"kotlin-stdlib","version":"2.4.20"},"{\"artifactId\":\"okio\"}":{"groupId":"com.squareup.okio","artifactId":"okio","version":"3.18.2"},"{\"artifactId\":\"okio-jvm\"}":{"groupId":"com.squareup.okio","artifactId":"okio-jvm","version":"3.18.2"},"{\"artifactId\":\"dnsjava\"}":{"groupId":"dnsjava","artifactId":"dnsjava","version":"3.6.5"},"{\"artifactId\":\"slf4j-api\"}":{"groupId":"org.slf4j","artifactId":"slf4j-api","version":"2.0.19"},"{\"artifactId\":\"slf4j-nop\"}":{"groupId":"org.slf4j","artifactId":"slf4j-nop","version":"2.0.19"},"{\"artifactId\":\"jsch\"}":{"groupId":"com.github.mwiede","artifactId":"jsch","version":"2.28.7"},"{\"artifactId\":\"sql-formatter\"}":{"groupId":"com.github.vertical-blank","artifactId":"sql-formatter","version":"2.0.5"},"{\"artifactId\":\"semver4j\"}":{"groupId":"org.semver4j","artifactId":"semver4j","version":"6.0.0"},"{\"artifactId\":\"ojdbc17\"}":{"groupId":"com.oracle.database.jdbc","artifactId":"ojdbc17","version":"23.26.3.0.0"},"{\"artifactId\":\"jakarta.mail\"}":{"groupId":"com.sun.mail","artifactId":"jakarta.mail","version":"1.6.8"},"{\"artifactId\":\"json-io\"}":{"groupId":"com.cedarsoftware","artifactId":"json-io","version":"4.111.0"},"{\"artifactId\":\"java-util\"}":{"groupId":"com.cedarsoftware","artifactId":"java-util","version":"4.111.0"},"{\"artifactId\":\"jline-reader\"}":{"groupId":"org.jline","artifactId":"jline-reader","version":"4.4.6"},"{\"artifactId\":\"jline-terminal\"}":{"groupId":"org.jline","artifactId":"jline-terminal","version":"4.4.6"},"{\"artifactId\":\"jline-terminal-jni\"}":{"groupId":"org.jline","artifactId":"jline-terminal-jni","version":"4.4.6"},"{\"artifactId\":\"jline-native\"}":{"groupId":"org.jline","artifactId":"jline-native","version":"4.4.6"}}
\ No newline at end of file
diff --git a/pom.xml b/pom.xml
index 4156c60d1..a32b7479d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -295,22 +295,22 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma
org.jline
jline-reader
- 4.4.5
+ 4.4.6
org.jline
jline-terminal
- 4.4.5
+ 4.4.6
org.jline
jline-terminal-jni
- 4.4.5
+ 4.4.6
org.jline
jline-native
- 4.4.5
+ 4.4.6
net.java.dev.jna
@@ -385,7 +385,7 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/ma
org.slf4j
slf4j-api
- 2.0.19
+ 2.0.20
org.slf4j
diff --git a/src/jline/Terminal.java b/src/jline/Terminal.java
index 7d5280b72..f272524bf 100644
--- a/src/jline/Terminal.java
+++ b/src/jline/Terminal.java
@@ -22,10 +22,15 @@ public static synchronized Terminal system() throws IOException {
if (system == null) {
// No forced Unix backend: JNI selects the native OS, including Windows Java
// launched from Cygwin. A dumb terminal also supports redirected stdin.
- org.jline.terminal.Terminal terminal = TerminalBuilder.builder()
+ TerminalBuilder builder = TerminalBuilder.builder()
.name("OpenAF").system(true).dumb(true).ffm(false)
.classLoader(TerminalBuilder.class.getClassLoader())
- .encoding(Charset.defaultCharset()).build();
+ .encoding(Charset.defaultCharset());
+ // Skip JLine's grapheme cluster auto-probe (DECRQM "\e[?2027$p" & co.): terminals
+ // without DECRQM support echo the trailing "p" on screen. Opt in with
+ // -Dorg.jline.terminal.graphemeCluster=true.
+ if (System.getProperty(TerminalBuilder.PROP_GRAPHEME_CLUSTER) == null) builder.graphemeCluster(false);
+ org.jline.terminal.Terminal terminal = builder.build();
system = new Terminal(terminal);
Terminal owned = system;
Runtime.getRuntime().addShutdownHook(new Thread(() -> {
diff --git a/tests/asserts.svg b/tests/asserts.svg
index 234f4078d..9a1f2fea5 100644
--- a/tests/asserts.svg
+++ b/tests/asserts.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/tests/autoTestAll.md b/tests/autoTestAll.md
index a13771b36..734cc17da 100644
--- a/tests/autoTestAll.md
+++ b/tests/autoTestAll.md
@@ -2,266 +2,293 @@
## Summary
-* Number of tests performed: 255
-* Number of tests passed: 253
-* Number of tests failed: 2
-* Number of asserts: 913
+* Number of tests performed: 282
+* Number of tests passed: 276
+* Number of tests failed: 6
+* Number of asserts: 1058
## Result details
| Suite | Test | Status | Time | Result |
|-------|------|--------|------|--------------|
-|AI | Anthropic prompt caching body and stats | PASS | 4 ms | n/a |
-|AI | Anthropic prompt caching headers | FAIL | 22 ms | Problem enabling Anthropic prompt caching beta header on request. (got undefined but expected "prompt-caching-2024-07-31") |
-|AI | GPT prompt argument routing | PASS | 3 ms | n/a |
-|AI | LSTM AND | PASS | 153 ms | n/a |
-|AI | LSTM network save and load | PASS | 164 ms | n/a |
-|AI | Liquid XOR | PASS | 356 ms | n/a |
-|AI | Liquid network save and load | PASS | 397 ms | n/a |
-|AI | Normalize features array | PASS | ~0 ms | n/a |
-|AI | Normalize with schema | PASS | 3 ms | n/a |
-|AI | Ollama streaming tool execution and ids | PASS | 39 ms | n/a |
-|AI | Ollama streaming warmup on fresh conversation | PASS | 1 ms | n/a |
-|AI | OpenAI export conversation falls back to tool name | PASS | 2 ms | n/a |
-|AI | OpenAI jsonSchemaPrompt | PASS | 1 ms | n/a |
-|AI | OpenAI jsonSchemaPrompt schema defaults | PASS | 1 ms | n/a |
-|AI | OpenAI jsonSchemaPrompt unsupported provider | PASS | 2 ms | n/a |
-|AI | OpenAI jsonSchemaPromptWithStats | PASS | 1 ms | n/a |
-|AI | OpenAI rawResponse caches chat fallback | PASS | 1 ms | n/a |
-|AI | OpenAI rawResponse fallback to chat completions | PASS | 2 ms | n/a |
-|AI | OpenAI rawResponse keeps non availability errors | PASS | 1 ms | n/a |
-|AI | OpenAI rawResponse prefers responses | PASS | 3 ms | n/a |
-|AI | OpenAI stats capture includes cached and reasoning | PASS | 3 ms | n/a |
-|AI | OpenAI streaming tool recursion without duplication | PASS | 7 ms | n/a |
-|AI | OpenAI tool recursion without duplication | PASS | 2 ms | n/a |
-|AI | OpenAI transport modes | PASS | 5 ms | n/a |
-|AI | Perceptron XOR | PASS | 151 ms | n/a |
-|AI | Perceptron XOR Put | PASS | 3 seconds, 512 ms | n/a |
-|AI | Perceptron XOR save and load | PASS | 26 ms | n/a |
-|AI | Perceptron network save and load | PASS | 31 ms | n/a |
-|AI | Test C45 | PASS | 13 ms | n/a |
-|AI | Test ID3 | PASS | 19 ms | n/a |
-|AI | Test KMeans | PASS | 4 ms | n/a |
+|AI | Anthropic prompt caching body and stats | PASS | 12 ms | n/a |
+|AI | Anthropic prompt caching headers | FAIL | 26 ms | Problem enabling Anthropic prompt caching beta header on request. (got undefined but expected "prompt-caching-2024-07-31") |
+|AI | GPT prompt argument routing | PASS | 9 ms | n/a |
+|AI | LSTM AND | PASS | 220 ms | n/a |
+|AI | LSTM network save and load | PASS | 156 ms | n/a |
+|AI | Liquid XOR | PASS | 343 ms | n/a |
+|AI | Liquid network save and load | FAIL | 366 ms | Problem with saves ow.ai liquid 1 XOR 0 (got 1 but expected 0) |
+|AI | Normalize features array | PASS | 1 ms | n/a |
+|AI | Normalize with schema | PASS | 5 ms | n/a |
+|AI | Ollama streaming tool execution and ids | PASS | 31 ms | n/a |
+|AI | Ollama streaming warmup on fresh conversation | PASS | 4 ms | n/a |
+|AI | OpenAI export conversation falls back to tool name | PASS | 4 ms | n/a |
+|AI | OpenAI jsonSchemaPrompt | PASS | 5 ms | n/a |
+|AI | OpenAI jsonSchemaPrompt schema defaults | PASS | 3 ms | n/a |
+|AI | OpenAI jsonSchemaPrompt unsupported provider | PASS | 3 ms | n/a |
+|AI | OpenAI jsonSchemaPromptWithStats | PASS | 3 ms | n/a |
+|AI | OpenAI rawResponse caches chat fallback | PASS | 2 ms | n/a |
+|AI | OpenAI rawResponse fallback to chat completions | PASS | 4 ms | n/a |
+|AI | OpenAI rawResponse keeps non availability errors | PASS | 3 ms | n/a |
+|AI | OpenAI rawResponse prefers responses | PASS | 7 ms | n/a |
+|AI | OpenAI stats capture includes cached and reasoning | PASS | 9 ms | n/a |
+|AI | OpenAI streaming tool recursion without duplication | PASS | 19 ms | n/a |
+|AI | OpenAI tool recursion without duplication | PASS | 6 ms | n/a |
+|AI | OpenAI transport modes | PASS | 18 ms | n/a |
+|AI | Perceptron XOR | PASS | 510 ms | n/a |
+|AI | Perceptron XOR Put | PASS | 4 seconds, 10 ms | n/a |
+|AI | Perceptron XOR save and load | PASS | 31 ms | n/a |
+|AI | Perceptron network save and load | PASS | 55 ms | n/a |
+|AI | Test C45 | PASS | 35 ms | n/a |
+|AI | Test ID3 | PASS | 57 ms | n/a |
+|AI | Test KMeans | PASS | 11 ms | n/a |
+|CDS | Failed probe preserves archive | PASS | 1 second, 298 ms | n/a |
+|CDS | Platform coverage fallback | PASS | 3 ms | n/a |
+|CDS | Preserve launcher arguments | PASS | ~0 ms | n/a |
+|CDS | Training profile isolation | PASS | 2 seconds, 111 ms | n/a |
|CSV | Generic CSV | PASS | 1 ms | n/a |
-|CSV | Stream CSV | PASS | 7 ms | n/a |
-|CSV | ToFrom CSV | PASS | 3 ms | n/a |
-|Channels | Keep history util | PASS | 4 seconds, 13 ms | n/a |
-|Channels | Remote channel access auditing | PASS | 36 ms | n/a |
-|Channels | Subscribers test | PASS | 229 ms | n/a |
-|Channels | Test Elastic Index | PASS | ~0 ms | n/a |
-|Channels | Test MVS Utils | PASS | 41 ms | n/a |
-|Channels | Test channel (all) | PASS | 11 ms | n/a |
+|CSV | Stream CSV | PASS | 9 ms | n/a |
+|CSV | ToFrom CSV | PASS | 7 ms | n/a |
+|Channels | File iteration keys | PASS | 7 ms | n/a |
+|Channels | File multifile configured key | PASS | 5 ms | n/a |
+|Channels | File multifile read and delete | PASS | 136 ms | n/a |
+|Channels | Keep history util | PASS | 4 seconds, 6 ms | n/a |
+|Channels | Proxy bulk delete | PASS | 3 ms | n/a |
+|Channels | Proxy queue | PASS | 27 ms | n/a |
+|Channels | Remote channel access auditing | PASS | 178 ms | n/a |
+|Channels | Shift error propagation | PASS | 1 ms | n/a |
+|Channels | Subscribers test | PASS | 584 ms | n/a |
+|Channels | Test Elastic Index | PASS | 1 ms | n/a |
+|Channels | Test MVS Utils | PASS | 65 ms | n/a |
+|Channels | Test channel (all) | PASS | 15 ms | n/a |
|Channels | Test channel (big) | PASS | 1 ms | n/a |
-|Channels | Test channel (big) | PASS | 3 ms | n/a |
-|Channels | Test channel (big) | PASS | 13 ms | n/a |
+|Channels | Test channel (big) | PASS | 16 ms | n/a |
+|Channels | Test channel (big) | PASS | 159 ms | n/a |
|Channels | Test channel (big) | PASS | ~0 ms | n/a |
-|Channels | Test channel (big) | PASS | 32 seconds, 10 ms | n/a |
+|Channels | Test channel (big) | PASS | 32 seconds, 4 ms | n/a |
|Channels | Test channel (cache) | PASS | 1 ms | n/a |
|Channels | Test channel (cache) | PASS | 1 ms | n/a |
-|Channels | Test channel (cache) | PASS | 32 seconds, 3 ms | n/a |
-|Channels | Test channel (file) | PASS | 3 ms | n/a |
-|Channels | Test channel (file) | PASS | 5 ms | n/a |
-|Channels | Test channel (file) | PASS | 9 ms | n/a |
-|Channels | Test channel (file) | PASS | 1 ms | n/a |
-|Channels | Test channel (file) | PASS | 32 seconds, 23 ms | n/a |
+|Channels | Test channel (cache) | PASS | 32 seconds, 5 ms | n/a |
+|Channels | Test channel (file) | PASS | 2 ms | n/a |
+|Channels | Test channel (file) | PASS | 11 ms | n/a |
+|Channels | Test channel (file) | PASS | 171 ms | n/a |
+|Channels | Test channel (file) | PASS | ~0 ms | n/a |
+|Channels | Test channel (file) | PASS | 32 seconds, 6 ms | n/a |
+|Channels | Test channel (mvs) | PASS | 1 ms | n/a |
+|Channels | Test channel (mvs) | PASS | 13 ms | n/a |
+|Channels | Test channel (mvs) | PASS | 110 ms | n/a |
|Channels | Test channel (mvs) | PASS | ~0 ms | n/a |
-|Channels | Test channel (mvs) | PASS | 3 ms | n/a |
-|Channels | Test channel (mvs) | PASS | 10 ms | n/a |
-|Channels | Test channel (mvs) | PASS | ~0 ms | n/a |
-|Channels | Test channel (mvs) | PASS | 32 seconds, 23 ms | n/a |
+|Channels | Test channel (mvs) | PASS | 32 seconds, 6 ms | n/a |
|Channels | Test channel (simple) | PASS | ~0 ms | n/a |
-|Channels | Test channel (simple) | PASS | 2 ms | n/a |
-|Channels | Test channel (simple) | PASS | 6 ms | n/a |
+|Channels | Test channel (simple) | PASS | 4 ms | n/a |
+|Channels | Test channel (simple) | PASS | 64 ms | n/a |
|Channels | Test channel (simple) | PASS | ~0 ms | n/a |
|Channels | Test channel (simple) | PASS | 32 seconds, 6 ms | n/a |
-|Compile | loadCompiled large script | PASS | 19 ms | n/a |
+|Compile | loadCompiled large script | PASS | 41 ms | n/a |
|Compile | loadCompiled purges stale layout | PASS | 6 ms | n/a |
-|Compile | loadCompiled recursion depth | PASS | 6 ms | n/a |
-|Compile | loadCompiled round-trip | PASS | 13 ms | n/a |
-|Compile | loadCompiled stale recompile | PASS | 1 second, 131 ms | n/a |
-|Compile | requireCompiled round-trip | PASS | 6 ms | n/a |
-|DB | DB type conversion to JS | PASS | 3 ms | n/a |
-|DB | Simple DB in memory | PASS | 66 ms | n/a |
-|Format | Add number separator | PASS | ~0 ms | n/a |
+|Compile | loadCompiled recursion depth | PASS | 7 ms | n/a |
+|Compile | loadCompiled round-trip | PASS | 16 ms | n/a |
+|Compile | loadCompiled stale recompile | PASS | 1 second, 112 ms | n/a |
+|Compile | requireCompiled round-trip | PASS | 8 ms | n/a |
+|Console | completion callback | PASS | 8 ms | n/a |
+|Console | facade | PASS | 7 ms | n/a |
+|Console | launcher settings | PASS | ~0 ms | n/a |
+|Console | legacy history | PASS | 7 ms | n/a |
+|DB | DB type conversion to JS | PASS | 6 ms | n/a |
+|DB | Simple DB in memory | PASS | 107 ms | n/a |
+|Format | $output Markdown | FAIL | 5 ms | Problem with structured Markdown table or list strings. (got false but expected true) |
+|Format | Add number separator | PASS | 1 ms | n/a |
|Format | Check version spec | PASS | 2 ms | n/a |
-|Format | Compare version | PASS | 4 ms | n/a |
-|Format | Conversions | PASS | 3 ms | n/a |
-|Format | Cron | PASS | 3 ms | n/a |
-|Format | Cron How Many Ago | PASS | 18 ms | n/a |
-|Format | Date diff | PASS | 3 ms | n/a |
-|Format | Date to/from | PASS | 1 ms | n/a |
-|Format | Escape strings | PASS | ~0 ms | n/a |
-|Format | Escape/Unescape HTML4 | PASS | 3 ms | n/a |
-|Format | Grid | PASS | 75 ms | n/a |
-|Format | Host | PASS | 9 ms | n/a |
-|Format | LDAP date to/from | PASS | ~0 ms | n/a |
-|Format | LSH | PASS | 668 ms | n/a |
+|Format | Compare version | PASS | 8 ms | n/a |
+|Format | Conversions | PASS | 4 ms | n/a |
+|Format | Cron | PASS | 4 ms | n/a |
+|Format | Cron How Many Ago | PASS | 27 ms | n/a |
+|Format | Date diff | PASS | 5 ms | n/a |
+|Format | Date to/from | PASS | 2 ms | n/a |
+|Format | Escape strings | PASS | 1 ms | n/a |
+|Format | Escape/Unescape HTML4 | PASS | 6 ms | n/a |
+|Format | Grid | PASS | 36 ms | n/a |
+|Format | Host | PASS | 3 ms | n/a |
+|Format | LDAP date to/from | PASS | 1 ms | n/a |
+|Format | LSH | PASS | 1 second, 108 ms | n/a |
|Format | Load Format | PASS | ~0 ms | n/a |
-|Format | Markdown wrap | PASS | 11 ms | n/a |
-|Format | Number abbreviation | PASS | ~0 ms | n/a |
-|Format | Number rounding | PASS | ~0 ms | n/a |
-|Format | Print bullet value formats | PASS | 9 ms | n/a |
-|Format | Print dashboard | PASS | 66 ms | n/a |
-|Format | Print heatmap | PASS | 39 ms | n/a |
-|Format | Print histogram | PASS | 4 ms | n/a |
-|Format | Print sparkline | PASS | 3 ms | n/a |
-|Format | PrintTable emoji alignment | PASS | 11 ms | n/a |
-|Format | PrintTable header alignment | PASS | 5 ms | n/a |
-|Format | PrintTable subdivision flag alignment | PASS | 7 ms | n/a |
-|Format | SLON | PASS | 7 ms | n/a |
-|Format | String pad | PASS | ~0 ms | n/a |
-|Format | Terminal capabilities | PASS | 2 ms | n/a |
-|Format | Time ago | PASS | 1 ms | n/a |
+|Format | Markdown wrap | PASS | 17 ms | n/a |
+|Format | Number abbreviation | PASS | 1 ms | n/a |
+|Format | Number rounding | PASS | 1 ms | n/a |
+|Format | Print bullet value formats | PASS | 25 ms | n/a |
+|Format | Print chart array | PASS | 82 ms | n/a |
+|Format | Print dashboard | PASS | 62 ms | n/a |
+|Format | Print heatmap | PASS | 96 ms | n/a |
+|Format | Print histogram | PASS | 20 ms | n/a |
+|Format | Print sparkline | PASS | 10 ms | n/a |
+|Format | PrintTable emoji alignment | PASS | 20 ms | n/a |
+|Format | PrintTable header alignment | PASS | 10 ms | n/a |
+|Format | PrintTable subdivision flag alignment | PASS | 11 ms | n/a |
+|Format | SLON | PASS | 28 ms | n/a |
+|Format | String pad | PASS | 1 ms | n/a |
+|Format | Terminal capabilities | PASS | 3 ms | n/a |
+|Format | Time ago | PASS | 2 ms | n/a |
|Format | TimeAbbreviation | PASS | 3 ms | n/a |
-|Format | Unix date to/from | PASS | ~0 ms | n/a |
-|Format | Viz benchmark | PASS | 1 ms | n/a |
-|Format | Viz create canvas | PASS | 1 ms | n/a |
+|Format | Unix date to/from | PASS | 1 ms | n/a |
+|Format | Viz benchmark | PASS | 2 ms | n/a |
+|Format | Viz create canvas | PASS | 4 ms | n/a |
|Format | Viz frame diff | PASS | 2 ms | n/a |
-|Format | Viz layout | PASS | 3 ms | n/a |
-|Format | Word wrap | PASS | 6 ms | n/a |
-|HTTP | HTTP changing user agent | PASS | 1 second, 336 ms | n/a |
-|HTTP | HTTP plugin basic functionality | PASS | 13 ms | n/a |
-|HTTP | HTTP plugin test basic auth | PASS | 1 second, 854 ms | n/a |
-|HTTP | HTTP plugin web socket client | PASS | 3 seconds, 891 ms | n/a |
-|IO | IO Test Gzip Native to Byte array | PASS | 15 ms | n/a |
+|Format | Viz layout | PASS | 4 ms | n/a |
+|Format | Word wrap | PASS | 14 ms | n/a |
+|HTTP | HTTP changing user agent | PASS | 452 ms | n/a |
+|HTTP | HTTP plugin basic functionality | FAIL | 59 ms | Failed to receive response from the server correctly (without a query string) |
+|HTTP | HTTP plugin test basic auth | PASS | 737 ms | n/a |
+|HTTP | HTTP plugin web socket client | PASS | 2 seconds, 570 ms | n/a |
+|IO | IO Test Gzip Native to Byte array | PASS | 24 ms | n/a |
|IO | IO Test JSON | PASS | 1 ms | n/a |
-|IO | IO Test Stream JSON | PASS | 12 ms | n/a |
-|IO | IO Test TAR functionality | PASS | 2 seconds, 60 ms | n/a |
-|IO | IO Test binary file detection | PASS | 10 ms | n/a |
-|IO | IO Test copy streams | PASS | 152 ms | n/a |
-|IO | IO Test copy/move/delete file | PASS | 4 ms | n/a |
-|IO | IO Test read/writeFileStream | PASS | 4 ms | n/a |
+|IO | IO Test Stream JSON | PASS | 25 ms | n/a |
+|IO | IO Test TAR functionality | PASS | 5 seconds, 34 ms | n/a |
+|IO | IO Test binary file detection | PASS | 11 ms | n/a |
+|IO | IO Test copy streams | PASS | 207 ms | n/a |
+|IO | IO Test copy/move/delete file | PASS | 3 ms | n/a |
+|IO | IO Test read/writeFileStream | PASS | 1 ms | n/a |
|IO | IO Test read/writeFileStream NIO | PASS | 1 ms | n/a |
|IO | IO Test read/writeFileStreamBytes | PASS | 2 ms | n/a |
-|IO | IO Test read/writeFileStreamBytes NIO | PASS | 7 ms | n/a |
-|JMX | JMX test | PASS | 71 ms | n/a |
-|Java | Java ASym Cipher | PASS | 84 ms | n/a |
-|Java | Java Cipher | PASS | 123 ms | n/a |
-|MCP | OAuth authorization URL includes resource and PKCE | PASS | 26 ms | n/a |
-|MCP | OAuth authorization code token exchange includes resource and verifier | PASS | 75 ms | n/a |
-|MCP | OAuth discovery with client credentials | PASS | 214 ms | n/a |
-|MCP | Remote clients close request HTTP clients | PASS | 49 ms | n/a |
-|MCP | oJob tplDesc renders all tool metadata strings | PASS | 146 ms | n/a |
-|Net | Get Actual Time (default) | PASS | 144 ms | n/a |
-|Net | Get Actual Time (server and timeout) | PASS | 75 ms | n/a |
-|Net | Get Actual Time (with server) | PASS | 69 ms | n/a |
-|Net | Get Actual Time (with timeout) | PASS | 34 ms | n/a |
+|IO | IO Test read/writeFileStreamBytes NIO | PASS | ~0 ms | n/a |
+|Instrumentation | Isolated regression | PASS | 6 seconds, 437 ms | n/a |
+|JMX | JMX test | PASS | 726 ms | n/a |
+|Java | Java ASym Cipher | PASS | 48 ms | n/a |
+|Java | Java Cipher | PASS | 223 ms | n/a |
+|MCP | OAuth authorization URL includes resource and PKCE | PASS | 41 ms | n/a |
+|MCP | OAuth authorization code token exchange includes resource and verifier | PASS | 115 ms | n/a |
+|MCP | OAuth discovery with client credentials | PASS | 185 ms | n/a |
+|MCP | Remote clients close request HTTP clients | PASS | 54 ms | n/a |
+|MCP | auto client falls back to legacy server | PASS | 72 ms | n/a |
+|MCP | auto client negotiates modern era with dual-era server | FAIL | 55 ms | Modern-era tools/list result should carry resultType. (got undefined but expected "complete") |
+|MCP | legacy client unaffected by dual-era server | PASS | 40 ms | n/a |
+|MCP | modern server rejects unsupported protocol version | PASS | 24 ms | n/a |
+|MCP | oJob tplDesc renders all tool metadata strings | PASS | 331 ms | n/a |
+|MCP | server discover is probeable without client capabilities | PASS | 30 ms | n/a |
+|Net | Get Actual Time (default) | PASS | 239 ms | n/a |
+|Net | Get Actual Time (server and timeout) | PASS | 19 ms | n/a |
+|Net | Get Actual Time (with server) | PASS | 71 ms | n/a |
+|Net | Get Actual Time (with timeout) | PASS | 73 ms | n/a |
+|Net | Get DoH (custom server) | FAIL | 55 ms | Problem using a custom DNS over HTTPS server. (got undefined but expected [{"name":"example.test.","type":1,"TTL":60,"data":"192.0.2.1"}]) |
|Net | Load Net | PASS | ~0 ms | n/a |
|Obj | Array to object conversion | PASS | 1 ms | n/a |
-|Obj | DB ResultSet to object | PASS | 552 ms | n/a |
-|Obj | Filter | PASS | 6 ms | n/a |
-|Obj | Flat map | PASS | 6 ms | n/a |
-|Obj | Flatten | PASS | 110 ms | n/a |
-|Obj | Generate One of | PASS | 18 ms | n/a |
-|Obj | Generate One of Fn | PASS | 5 ms | n/a |
-|Obj | Get Path | PASS | ~0 ms | n/a |
-|Obj | Object fuzzy search | PASS | 40 ms | n/a |
-|Obj | Object pool | PASS | 6 seconds, 118 ms | n/a |
-|Obj | Object schema validation | PASS | 158 ms | n/a |
+|Obj | DB ResultSet to object | PASS | 1 second, 351 ms | n/a |
+|Obj | Filter | PASS | 14 ms | n/a |
+|Obj | Flat map | PASS | 13 ms | n/a |
+|Obj | Flatten | PASS | 192 ms | n/a |
+|Obj | Generate One of | PASS | 52 ms | n/a |
+|Obj | Generate One of Fn | PASS | 17 ms | n/a |
+|Obj | Get Path | PASS | 1 ms | n/a |
+|Obj | Object fuzzy search | PASS | 82 ms | n/a |
+|Obj | Object pool | PASS | 2 seconds, 117 ms | n/a |
+|Obj | Object pool added and failed batch | PASS | 1 ms | n/a |
+|Obj | Object pool batch growth | PASS | 2 ms | n/a |
+|Obj | Object pool capacity | PASS | 1 ms | n/a |
+|Obj | Object pool stop without close | PASS | 1 ms | n/a |
+|Obj | Object schema validation | PASS | 246 ms | n/a |
|Obj | Object to array conversion | PASS | 1 ms | n/a |
|Obj | Set Path | PASS | 1 ms | n/a |
-|Obj | Sign object | PASS | 209 ms | n/a |
-|Obj | Thread-safe array | PASS | 4 ms | n/a |
-|Obj | Thread-safe array | PASS | ~0 ms | n/a |
-|Obj | Thread-safe map | PASS | 1 ms | n/a |
-|OpenAF | Await | PASS | 57 ms | n/a |
-|OpenAF | AwaitAll | PASS | 56 ms | n/a |
-|OpenAF | Basic Parallel processing | PASS | 5 ms | n/a |
-|OpenAF | Cache | PASS | 320 ms | n/a |
-|OpenAF | Crypt | PASS | 5 ms | n/a |
-|OpenAF | DescType | PASS | 1 ms | n/a |
+|Obj | Sign object | PASS | 449 ms | n/a |
+|Obj | Thread-safe array | PASS | 3 ms | n/a |
+|Obj | Thread-safe array | PASS | 1 ms | n/a |
+|Obj | Thread-safe map | PASS | 3 ms | n/a |
+|OpenAF | Await | PASS | 55 ms | n/a |
+|OpenAF | AwaitAll | PASS | 54 ms | n/a |
+|OpenAF | Basic Parallel processing | PASS | 11 ms | n/a |
+|OpenAF | Cache | PASS | 326 ms | n/a |
+|OpenAF | Crypt | PASS | 10 ms | n/a |
+|OpenAF | DescType | PASS | 2 ms | n/a |
|OpenAF | Encrypt/Decrypt | PASS | 1 ms | n/a |
|OpenAF | Get Path | PASS | ~0 ms | n/a |
-|OpenAF | Get version | PASS | ~0 ms | n/a |
-|OpenAF | IsFunctions | PASS | ~0 ms | n/a |
-|OpenAF | Java RegExp | PASS | 2 ms | n/a |
+|OpenAF | Get version | PASS | 1 ms | n/a |
+|OpenAF | IsFunctions | PASS | 1 ms | n/a |
+|OpenAF | Java RegExp | PASS | 6 ms | n/a |
|OpenAF | Logs | PASS | 2 ms | n/a |
-|OpenAF | Map Array | PASS | 1 ms | n/a |
-|OpenAF | Map22Array | PASS | 1 second, 372 ms | n/a |
-|OpenAF | NDJSON | PASS | 2 ms | n/a |
-|OpenAF | PSelect | PASS | 4 ms | n/a |
-|OpenAF | Prints | PASS | ~0 ms | n/a |
-|OpenAF | Queue | PASS | 4 ms | n/a |
-|OpenAF | Range | PASS | ~0 ms | n/a |
-|OpenAF | Retry | PASS | 1 ms | n/a |
+|OpenAF | Map Array | PASS | 2 ms | n/a |
+|OpenAF | Map22Array | PASS | 737 ms | n/a |
+|OpenAF | NDJSON | PASS | 3 ms | n/a |
+|OpenAF | PSelect | PASS | 9 ms | n/a |
+|OpenAF | Prints | PASS | 1 ms | n/a |
+|OpenAF | Queue | PASS | 14 ms | n/a |
+|OpenAF | Range | PASS | 2 ms | n/a |
+|OpenAF | Retry | PASS | 2 ms | n/a |
|OpenAF | SPrints | PASS | 1 ms | n/a |
-|OpenAF | Search Key and Values | PASS | 1 ms | n/a |
+|OpenAF | Search Key and Values | PASS | 3 ms | n/a |
|OpenAF | Set Path | PASS | 1 ms | n/a |
-|OpenAF | Test $do | PASS | 3 ms | n/a |
-|OpenAF | Test $doAll | PASS | 2 ms | n/a |
-|OpenAF | Test $doFirst | PASS | 170 ms | n/a |
-|OpenAF | Test AF Parse | PASS | ~0 ms | n/a |
-|OpenAF | Test BCrypt | PASS | 734 ms | n/a |
-|OpenAF | Test Encoding | PASS | ~0 ms | n/a |
-|OpenAF | Test Envs | PASS | 1 ms | n/a |
-|OpenAF | Test FLock | PASS | 2 ms | n/a |
+|OpenAF | Test $do | PASS | 10 ms | n/a |
+|OpenAF | Test $doAll | PASS | 8 ms | n/a |
+|OpenAF | Test $doFirst | PASS | 155 ms | n/a |
+|OpenAF | Test AF Parse | PASS | 1 ms | n/a |
+|OpenAF | Test BCrypt | PASS | 737 ms | n/a |
+|OpenAF | Test Encoding | PASS | 1 ms | n/a |
+|OpenAF | Test Envs | PASS | 3 ms | n/a |
+|OpenAF | Test FLock | PASS | 5 ms | n/a |
|OpenAF | Test Format Conversion to/from base64 | PASS | ~0 ms | n/a |
|OpenAF | Test Format Conversion to/from bytes | PASS | ~0 ms | n/a |
|OpenAF | Test GetSet | PASS | 1 ms | n/a |
-|OpenAF | Test Lock | PASS | 1 ms | n/a |
+|OpenAF | Test Lock | PASS | 2 ms | n/a |
|OpenAF | Test Merge | PASS | ~0 ms | n/a |
-|OpenAF | Test Object Compression | PASS | ~0 ms | n/a |
-|OpenAF | Test Path | PASS | 46 ms | n/a |
-|OpenAF | Test Rest | PASS | 7 seconds, 597 ms | n/a |
+|OpenAF | Test Object Compression | PASS | 1 ms | n/a |
+|OpenAF | Test Path | PASS | 174 ms | n/a |
+|OpenAF | Test Rest | PASS | 275 ms | n/a |
|OpenAF | Test SHA1 | PASS | ~0 ms | n/a |
|OpenAF | Test SHA256 | PASS | ~0 ms | n/a |
|OpenAF | Test SHA512 | PASS | ~0 ms | n/a |
-|OpenAF | Test Scope Ids | PASS | ~0 ms | n/a |
-|OpenAF | Test Shell | PASS | 8 ms | n/a |
-|OpenAF | Test Shell with Map | PASS | 6 ms | n/a |
-|OpenAF | Test Stream conversions | PASS | ~0 ms | n/a |
+|OpenAF | Test Scope Ids | PASS | 1 ms | n/a |
+|OpenAF | Test Shell | PASS | 3 ms | n/a |
+|OpenAF | Test Shell with Map | PASS | 2 ms | n/a |
+|OpenAF | Test Stream conversions | PASS | 1 ms | n/a |
|OpenAF | Test Void shortcut | PASS | ~0 ms | n/a |
-|OpenAF | Test clone | PASS | ~0 ms | n/a |
-|OpenAF | Test pForEach | PASS | 958 ms | n/a |
-|OpenAF | Test pForEach Timeout | PASS | 2 seconds, 18 ms | n/a |
-|OpenAF | Thread box | PASS | 329 ms | n/a |
-|OpenAF | Two factor authentication | PASS | ~0 ms | n/a |
-|OpenAF | XML2And4Obj | PASS | 53 ms | n/a |
-|OpenAF | YAML | PASS | 2 ms | n/a |
-|Sec | Sec basic functionality | PASS | 9 ms | n/a |
-|Sec | Sec function functionality | PASS | 441 ms | n/a |
-|Sec | Sec object functionality | PASS | 606 ms | n/a |
-|Server | Auth | PASS | 6 seconds, 32 ms | n/a |
-|Server | AuthApp | PASS | 163 ms | n/a |
-|Server | CheckIn | PASS | 7 ms | n/a |
-|Server | HTTP server | PASS | 44 ms | n/a |
-|Server | HTTP server Java | PASS | 7 ms | n/a |
-|Server | HTTP server NWU2 | PASS | 29 ms | n/a |
-|Server | HTTP server prefix | PASS | 1 second, 5 ms | n/a |
-|Server | HTTP server prefix Java | PASS | 997 ms | n/a |
-|Server | HTTP server prefix NWU2 | PASS | 1 second, 11 ms | n/a |
-|Server | HTTP server prefix helpers | PASS | ~0 ms | n/a |
-|Server | Locks | PASS | 2 seconds, 20 ms | n/a |
-|Server | Queue | PASS | 2 seconds, 854 ms | n/a |
-|Server | REST server | PASS | 48 ms | n/a |
-|Server | REST server Java | PASS | 51 ms | n/a |
-|Server | REST server NWU2 | PASS | 25 ms | n/a |
-|Server | REST server simple | PASS | 23 ms | n/a |
-|Server | REST server simple Java | PASS | 7 ms | n/a |
-|Server | REST server simple NWU2 | PASS | 17 ms | n/a |
-|Server | Scheduler | PASS | 16 seconds, 118 ms | n/a |
-|TOON | Default engine round-trip | PASS | 142 ms | n/a |
-|TOON | Engines agree on tabular data | PASS | 225 ms | n/a |
-|TOON | Java engine round-trip | PASS | 5 ms | n/a |
-|TOON | Known empty array cross-engine limitation | PASS | 2 ms | n/a |
-|TOON | Large payload | PASS | 100 ms | n/a |
+|OpenAF | Test clone | PASS | 1 ms | n/a |
+|OpenAF | Test pForEach | PASS | 124 ms | n/a |
+|OpenAF | Test pForEach Timeout | PASS | 2 seconds, 16 ms | n/a |
+|OpenAF | Thread box | PASS | 304 ms | n/a |
+|OpenAF | Two factor authentication | PASS | 2 ms | n/a |
+|OpenAF | XML2And4Obj | PASS | 266 ms | n/a |
+|OpenAF | YAML | PASS | 5 ms | n/a |
+|Sec | Sec basic functionality | PASS | 18 ms | n/a |
+|Sec | Sec function functionality | PASS | 631 ms | n/a |
+|Sec | Sec object functionality | PASS | 884 ms | n/a |
+|Server | Auth | PASS | 6 seconds, 20 ms | n/a |
+|Server | AuthApp | PASS | 172 ms | n/a |
+|Server | CheckIn | PASS | 4 ms | n/a |
+|Server | HTTP server | PASS | 114 ms | n/a |
+|Server | HTTP server Java | PASS | 15 ms | n/a |
+|Server | HTTP server NWU2 | PASS | 75 ms | n/a |
+|Server | HTTP server prefix | PASS | 1 second, 306 ms | n/a |
+|Server | HTTP server prefix Java | PASS | 1 second, 246 ms | n/a |
+|Server | HTTP server prefix NWU2 | PASS | 1 second, 368 ms | n/a |
+|Server | HTTP server prefix helpers | PASS | 1 ms | n/a |
+|Server | Locks | PASS | 2 seconds, 24 ms | n/a |
+|Server | Queue | PASS | 4 seconds, 707 ms | n/a |
+|Server | REST server | PASS | 65 ms | n/a |
+|Server | REST server Java | PASS | 218 ms | n/a |
+|Server | REST server NWU2 | PASS | 41 ms | n/a |
+|Server | REST server simple | PASS | 31 ms | n/a |
+|Server | REST server simple Java | PASS | 15 ms | n/a |
+|Server | REST server simple NWU2 | PASS | 28 ms | n/a |
+|Server | Scheduler | PASS | 16 seconds, 23 ms | n/a |
+|TOON | Default engine round-trip | PASS | 478 ms | n/a |
+|TOON | Engines agree on tabular data | PASS | 358 ms | n/a |
+|TOON | Java engine round-trip | PASS | 2 ms | n/a |
+|TOON | Known empty array cross-engine limitation | PASS | 4 ms | n/a |
+|TOON | Large payload | PASS | 268 ms | n/a |
|Template | Load Template | PASS | ~0 ms | n/a |
-|Template | Test Markdown display math | PASS | 7 ms | n/a |
-|Template | Test Markdown to HTML | PASS | 528 ms | n/a |
-|Template | Test Markdown to HTML prefix | FAIL | 51 ms | JavaException: java.nio.file.NoSuchFileException: /js/katex.min.js |
-|Template | Test conditional helpers | PASS | 69 ms | n/a |
-|Template | Test format helpers | PASS | 18 ms | n/a |
-|Template | Test openaf helpers | PASS | 38 ms | n/a |
-|Template | Test partial helpers | PASS | 10 ms | n/a |
-|Template | Test simple template | PASS | 7 ms | n/a |
-|ZIP | ZIP basic functionality | PASS | 1 second, 220 ms | n/a |
-|ZIP | ZIP streaming functionality | PASS | 1 second, 286 ms | n/a |
-|oDoc | Test access to oDoc | PASS | 805 ms | n/a |
-|oJob | oJob | PASS | 1 second, 242 ms | n/a |
-|oJob | oJobArgsMultipleLevels | PASS | 1 second, 153 ms | n/a |
-|oJob | oJobChecks | PASS | 1 second, 59 ms | n/a |
-|oJob | oJobEncryptedJSON | PASS | 1 second, 45 ms | n/a |
-|oJob | oJobEncryptedYAML | PASS | 1 second, 127 ms | n/a |
-|oJob | oJobInitArray | PASS | 2 seconds, 764 ms | n/a |
-|oJob | oJobPass | PASS | 1 second, 145 ms | n/a |
-|oJob | oJobShortcutOutput | PASS | 1 second, 94 ms | n/a |
-|oJob | oJobShortcuts | PASS | 1 second, 108 ms | n/a |
+|Template | Test Markdown display math | PASS | 16 ms | n/a |
+|Template | Test Markdown to HTML | PASS | 743 ms | n/a |
+|Template | Test Markdown to HTML prefix | PASS | 160 ms | n/a |
+|Template | Test conditional helpers | PASS | 198 ms | n/a |
+|Template | Test format helpers | PASS | 44 ms | n/a |
+|Template | Test openaf helpers | PASS | 115 ms | n/a |
+|Template | Test partial helpers | PASS | 32 ms | n/a |
+|Template | Test simple template | PASS | 23 ms | n/a |
+|ZIP | ZIP basic functionality | PASS | 1 second, 838 ms | n/a |
+|ZIP | ZIP streaming functionality | PASS | 1 second, 821 ms | n/a |
+|oDoc | Test access to oDoc | PASS | 1 second, 80 ms | n/a |
+|oJob | oJob | PASS | 3 seconds, 157 ms | n/a |
+|oJob | oJobArgsMultipleLevels | PASS | 2 seconds, 782 ms | n/a |
+|oJob | oJobChecks | PASS | 2 seconds, 615 ms | n/a |
+|oJob | oJobEncryptedJSON | PASS | 2 seconds, 303 ms | n/a |
+|oJob | oJobEncryptedYAML | PASS | 2 seconds, 486 ms | n/a |
+|oJob | oJobInitArray | PASS | 5 seconds, 818 ms | n/a |
+|oJob | oJobPass | PASS | 2 seconds, 403 ms | n/a |
+|oJob | oJobShortcutOutput | PASS | 2 seconds, 839 ms | n/a |
+|oJob | oJobShortcuts | PASS | 3 seconds, 202 ms | n/a |
diff --git a/tests/results.svg b/tests/results.svg
index 1eda6e770..67c361771 100644
--- a/tests/results.svg
+++ b/tests/results.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file