about summary refs log tree commit diff
path: root/tests
diff options
context:
space:
mode:
authorArun Isaac2025-11-11 17:55:44 +0000
committerArun Isaac2025-11-16 22:43:00 +0000
commita39bc5776c9a93492ef0cbafb44b354d78492e72 (patch)
treec98d386af28c6fe08a012e9c24f176d82d86f1bd /tests
parent872ffd5f5c18c895c50c341abeb899d53d0d7020 (diff)
downloadravanan-a39bc5776c9a93492ef0cbafb44b354d78492e72.tar.gz
ravanan-a39bc5776c9a93492ef0cbafb44b354d78492e72.tar.lz
ravanan-a39bc5776c9a93492ef0cbafb44b354d78492e72.zip
javascript: Refer to parameter context variables in G-expression.
Diffstat (limited to 'tests')
-rw-r--r--tests/javascript.scm23
1 files changed, 19 insertions, 4 deletions
diff --git a/tests/javascript.scm b/tests/javascript.scm
index 75936c0..58d2639 100644
--- a/tests/javascript.scm
+++ b/tests/javascript.scm
@@ -1,5 +1,5 @@
 ;;; ravanan --- High-reproducibility CWL runner powered by Guix
-;;; Copyright © 2024 Arun Isaac <arunisaac@systemreboot.net>
+;;; Copyright © 2024–2025 Arun Isaac <arunisaac@systemreboot.net>
 ;;;
 ;;; This file is part of ravanan.
 ;;;
@@ -119,7 +119,12 @@
    (evaluate-parameter-reference "foo$(inputs.vector)$(inputs.object)")))
 
 (test-equal "evaluate parameter reference with node (without context)"
-  '(evaluate-javascript (*approximate*) "(inputs.n + 1)" "")
+  '(evaluate-javascript (*approximate*)
+                        "(inputs.n + 1)"
+                        (string-append ""
+                                       "inputs = " (scm->json-string inputs) ";"
+                                       "self = " (scm->json-string self) ";"
+                                       "runtime = " (scm->json-string runtime) ";"))
   (gexp->sexp-rec
    (evaluate-parameter-reference "$(inputs.n + 1)")))
 
@@ -129,7 +134,12 @@
            (if (string? token) token (scm->json-string (canonicalize-json token))))
          (list (json-ref runtime "cores")
                "foo"
-               (evaluate-javascript (*approximate*) "(inputs.threads*2)" "")
+               (evaluate-javascript (*approximate*)
+                                    "(inputs.threads*2)"
+                                    (string-append ""
+                                                   "inputs = " (scm->json-string inputs) ";"
+                                                   "self = " (scm->json-string self) ";"
+                                                   "runtime = " (scm->json-string runtime) ";"))
                (json-ref inputs "output_filename")))
     "")
   (gexp->sexp-rec
@@ -142,7 +152,12 @@
          (list "foo"
                (json-ref inputs "vector")
                (json-ref inputs "object")
-               (evaluate-javascript (*approximate*) "(inputs.object.foo*20)" "")))
+               (evaluate-javascript (*approximate*)
+                                    "(inputs.object.foo*20)"
+                                    (string-append ""
+                                                   "inputs = " (scm->json-string inputs) ";"
+                                                   "self = " (scm->json-string self) ";"
+                                                   "runtime = " (scm->json-string runtime) ";"))))
     "")
   (gexp->sexp-rec
    (evaluate-parameter-reference "foo$(inputs.vector)$(inputs.object)$(inputs.object.foo*20)")))