difftreelog
test run upstream testsuites in ci
in: master
238 files changed
Cargo.lockdiffbeforeafterboth--- a/Cargo.lock
+++ b/Cargo.lock
@@ -213,6 +213,12 @@
checksum = "9330f8b2ff13f34540b44e946ef35111825727b38d33286ef986142615121801"
[[package]]
+name = "cfg_aliases"
+version = "0.2.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "613afe47fcd5fac7ccf1db93babcb082c5994d996f20b8b159f2ad1658eb5724"
+
+[[package]]
name = "ciborium"
version = "0.2.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -263,9 +269,9 @@
[[package]]
name = "clap_complete"
-version = "4.6.2"
+version = "4.6.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "3ff7a1dccbdd8b078c2bdebff47e404615151534d5043da397ec50286816f9cb"
+checksum = "660c0520455b1013b9bcb0393d5f643d7e4454fb69c915b8d6d2aa0e9a45acc3"
dependencies = [
"clap",
]
@@ -413,9 +419,9 @@
[[package]]
name = "digest"
-version = "0.11.2"
+version = "0.11.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "4850db49bf08e663084f7fb5c87d202ef91a3907271aff24a94eb97ff039153c"
+checksum = "f1dd6dbb5841937940781866fa1281a1ff7bd3bf827091440879f9994983d5c2"
dependencies = [
"block-buffer",
"const-oid",
@@ -623,6 +629,16 @@
]
[[package]]
+name = "granit-parser"
+version = "0.0.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "b7e736dfe3881c53a7dce0685eb18202d0d9fe6911782f9870946eb9ee89d778"
+dependencies = [
+ "arraydeque",
+ "smallvec",
+]
+
+[[package]]
name = "half"
version = "2.7.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -984,18 +1000,18 @@
[[package]]
name = "jrsonnet-gcmodule"
-version = "0.4.6"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "bb04c12f50f954e1d8b3b5a7e99c448da97af2e1f7435a88f3c9b9f2a677015a"
+checksum = "f65a6fdef5568ea2e3459dcad15979d7613f968cbacf722e1138ffe83d28ee24"
dependencies = [
"jrsonnet-gcmodule-derive",
]
[[package]]
name = "jrsonnet-gcmodule-derive"
-version = "0.4.6"
+version = "0.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "454a895e7c0b7ea3584966e8b346c6c80fdd33acb0224ad7e3fbd80cf8171601"
+checksum = "829a23aa96f1afb78bbc9722e323ced7a0b75d9b89cec6bfbc709cf484e8a0a4"
dependencies = [
"proc-macro2",
"quote",
@@ -1220,9 +1236,9 @@
[[package]]
name = "lru"
-version = "0.17.0"
+version = "0.18.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "0e0b564323a0fb6d54b864f625ae139de9612e27edb944dda37c109f05aac531"
+checksum = "8a860605968fce16869fd239cf4237a82f3ac470723415db603b0e8b6c8d4fb9"
dependencies = [
"hashbrown 0.17.0",
]
@@ -1259,6 +1275,18 @@
]
[[package]]
+name = "nix"
+version = "0.31.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "5d6d0705320c1e6ba1d912b5e37cf18071b6c2e9b7fa8215a1e8a7651966f5d3"
+dependencies = [
+ "bitflags",
+ "cfg-if",
+ "cfg_aliases",
+ "libc",
+]
+
+[[package]]
name = "num-bigint"
version = "0.4.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1356,9 +1384,9 @@
[[package]]
name = "peg"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "9928cfca101b36ec5163e70049ee5368a8a1c3c6efc9ca9c5f9cc2f816152477"
+checksum = "0aad070be5b63aa72103f2fcdd70a83adbd5e90112ce5b574171ff1c65501773"
dependencies = [
"peg-macros",
"peg-runtime",
@@ -1366,9 +1394,9 @@
[[package]]
name = "peg-macros"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "6298ab04c202fa5b5d52ba03269fb7b74550b150323038878fe6c372d8280f71"
+checksum = "ddd8ef6825cae95355031ae26a99b616a2a21f22ba2de0197c43dfb05acbe7ee"
dependencies = [
"peg-runtime",
"proc-macro2",
@@ -1377,9 +1405,9 @@
[[package]]
name = "peg-runtime"
-version = "0.8.5"
+version = "0.8.6"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "132dca9b868d927b35b5dd728167b2dee150eb1ad686008fc71ccb298b776fca"
+checksum = "7011d97b484a5ebdc4b1fdb3b12d5e4bbbea56e9d22b688f2e79e04b65a7d8a6"
[[package]]
name = "percent-encoding"
@@ -1645,17 +1673,6 @@
]
[[package]]
-name = "saphyr-parser-bw"
-version = "0.0.611"
-source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "67dec0c833db75dc98957956b303fe447ffc5eb13f2325ef4c2350f7f3aa69e3"
-dependencies = [
- "arraydeque",
- "smallvec",
- "thiserror",
-]
-
-[[package]]
name = "semver"
version = "1.0.28"
source = "registry+https://github.com/rust-lang/crates.io-index"
@@ -1673,17 +1690,17 @@
[[package]]
name = "serde-saphyr"
-version = "0.0.25"
+version = "0.0.26"
source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "75e214449d107a81daf1453eb46c9314457660509534883e82db6faca2034a8a"
+checksum = "dcc7fe48e34d02a97bc8e6253b8b91e5a47fe2c47eaacb5149cefbb69922eaf0"
dependencies = [
"ahash",
"annotate-snippets",
"base64",
"encoding_rs_io",
"getrandom 0.3.4",
+ "granit-parser",
"num-traits",
- "saphyr-parser-bw",
"serde",
"smallvec",
]
@@ -2297,6 +2314,7 @@
"clap",
"indexmap",
"itertools 0.14.0",
+ "nix",
"proc-macro2",
"quote",
"ungrammar",
Cargo.tomldiffbeforeafterboth--- a/Cargo.toml
+++ b/Cargo.toml
@@ -30,7 +30,7 @@
jrsonnet-types = { path = "./crates/jrsonnet-types", version = "0.5.0-pre98" }
jrsonnet-formatter = { path = "./crates/jrsonnet-formatter", version = "0.5.0-pre98" }
jrsonnet-lexer = { path = "./crates/jrsonnet-lexer", version = "0.5.0-pre98" }
-jrsonnet-gcmodule = { version = "0.4.6" }
+jrsonnet-gcmodule = { version = "0.5.0" }
# Diagnostics.
# hi-doc is my library, which handles text formatting very well, but isn't polished enough yet
# Previous implementation was based on annotate-snippets, which I don't like for many reasons.
@@ -47,7 +47,7 @@
# Parsing, manifestification is implemented manually everywhere
serde = "1.0.228"
serde_json = "1.0.149"
-serde-saphyr = { version = "0.0.25", default-features = false, features = [
+serde-saphyr = { version = "0.0.26", default-features = false, features = [
"deserialize",
] }
@@ -99,7 +99,7 @@
xshell = "0.2.7"
regex = "1.12"
-lru = "0.17.0"
+lru = "0.18.0"
syn-dissect-closure = "0.1.0"
@@ -107,6 +107,7 @@
insta = { version = "1.46", features = ["glob"] }
criterion = { version = "0.8" }
strip-ansi-escapes = "0.2.1"
+nix = { version = "0.31", features = ["process"] }
# Web
wasm-bindgen = "=0.2.106"
crates/jrsonnet-cli/src/stdlib.rsdiffbeforeafterboth--- a/crates/jrsonnet-cli/src/stdlib.rs
+++ b/crates/jrsonnet-cli/src/stdlib.rs
@@ -23,12 +23,6 @@
/// assert_eq!(ext.name, "name");
/// assert_eq!(ext.value, "value");
///
-/// std::env::set_var("name", "value");
-///
-/// let ext = ExtStr::from_str("name").unwrap();
-/// assert_eq!(ext.name, "name");
-/// assert_eq!(ext.value, "value");
-///
/// let ext = ExtStr::from_str("name=value=with=equals").unwrap();
/// assert_eq!(ext.name, "name");
/// assert_eq!(ext.value, "value=with=equals");
crates/jrsonnet-evaluator/src/lib.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/lib.rs
+++ b/crates/jrsonnet-evaluator/src/lib.rs
@@ -1,5 +1,5 @@
//! jsonnet interpreter implementation
-#![cfg_attr(nightly, feature(thread_local, type_alias_impl_trait))]
+#![cfg_attr(nightly, feature(thread_local))]
// For jrsonnet-macros
extern crate self as jrsonnet_evaluator;
crates/jrsonnet-evaluator/src/trace/mod.rsdiffbeforeafterboth--- a/crates/jrsonnet-evaluator/src/trace/mod.rs
+++ b/crates/jrsonnet-evaluator/src/trace/mod.rs
@@ -2,6 +2,7 @@
use std::cell::RefCell;
use std::{
any::Any,
+ fmt,
path::{Component, Path, PathBuf},
};
@@ -10,7 +11,7 @@
#[cfg(feature = "explaining-traces")]
use jrsonnet_ir::Span;
-use crate::{Error, error::ErrorKind};
+use crate::{Error, ResolvePathOwned, error::ErrorKind};
/// The way paths should be displayed
#[derive(Clone, Trace)]
@@ -61,12 +62,8 @@
/// Implements pretty-printing of traces
#[allow(clippy::module_name_repetitions)]
pub trait TraceFormat: Trace {
- fn write_trace(
- &self,
- out: &mut dyn std::fmt::Write,
- error: &Error,
- ) -> Result<(), std::fmt::Error>;
- fn format(&self, error: &Error) -> Result<String, std::fmt::Error> {
+ fn write_trace(&self, out: &mut dyn fmt::Write, error: &Error) -> Result<(), fmt::Error>;
+ fn format(&self, error: &Error) -> Result<String, fmt::Error> {
let mut out = String::new();
self.write_trace(&mut out, error)?;
Ok(out)
@@ -76,10 +73,10 @@
}
fn print_code_location(
- out: &mut impl std::fmt::Write,
+ out: &mut impl fmt::Write,
start: &CodeLocation,
end: &CodeLocation,
-) -> Result<(), std::fmt::Error> {
+) -> Result<(), fmt::Error> {
if start.line == end.line {
if start.column == end.column {
write!(out, "{}:{}", start.line, start.column)?;
@@ -123,12 +120,20 @@
}
impl TraceFormat for CompactFormat {
- fn write_trace(
- &self,
- out: &mut dyn std::fmt::Write,
- error: &Error,
- ) -> Result<(), std::fmt::Error> {
- write!(out, "{}", error.error())?;
+ fn write_trace(&self, out: &mut dyn fmt::Write, error: &Error) -> Result<(), fmt::Error> {
+ if let ErrorKind::ImportFileNotFound(from, import) = error.error() {
+ let from = from
+ .path()
+ .map_or_else(|| from.to_string(), |path| self.resolver.resolve(path));
+ let import = match import {
+ ResolvePathOwned::Str(s) => s.clone(),
+ ResolvePathOwned::Path(path_buf) => self.resolver.resolve(path_buf),
+ };
+ write!(out, "import file not found {import} from {from}")?;
+ } else {
+ write!(out, "{}", error.error())?;
+ }
+
if let ErrorKind::ImportSyntaxError { path, error } = error.error() {
use std::fmt::Write;
@@ -212,11 +217,7 @@
pub max_trace: usize,
}
impl TraceFormat for JsFormat {
- fn write_trace(
- &self,
- out: &mut dyn std::fmt::Write,
- error: &Error,
- ) -> Result<(), std::fmt::Error> {
+ fn write_trace(&self, out: &mut dyn fmt::Write, error: &Error) -> Result<(), fmt::Error> {
write!(out, "{}", error.error())?;
for item in &error.trace().0 {
writeln!(out)?;
@@ -257,11 +258,7 @@
}
#[cfg(feature = "explaining-traces")]
impl TraceFormat for HiDocFormat {
- fn write_trace(
- &self,
- out: &mut dyn std::fmt::Write,
- error: &Error,
- ) -> Result<(), std::fmt::Error> {
+ fn write_trace(&self, out: &mut dyn fmt::Write, error: &Error) -> Result<(), fmt::Error> {
struct ResetData {
loc: Span,
}
@@ -284,8 +281,8 @@
let mut builder: Option<SnippetBuilder> = None;
let mut current_src: Option<&str> = None;
let flush = |builder: Option<SnippetBuilder>,
- out: &mut dyn std::fmt::Write|
- -> Result<(), std::fmt::Error> {
+ out: &mut dyn fmt::Write|
+ -> Result<(), fmt::Error> {
if let Some(b) = builder {
let ansi = source_to_ansi(&b.build());
write!(out, "\n{}", ansi.trim_end())?;
crates/jrsonnet-formatter/src/lib.rsdiffbeforeafterboth--- a/crates/jrsonnet-formatter/src/lib.rs
+++ b/crates/jrsonnet-formatter/src/lib.rs
@@ -913,6 +913,8 @@
pub fn format(input: &str, opts: &FormatOptions) -> Result<String, SnippetBuilder> {
let (parsed, errors) = jrsonnet_rowan_parser::parse(input);
if !errors.is_empty() {
+ // Reserve one char for EOF display
+ let input = format!("{input} ");
let mut builder = hi_doc::SnippetBuilder::new(input);
for error in errors {
builder
crates/jrsonnet-formatter/src/snapshots/jrsonnet_formatter__tests__snapshots@comments.jsonnet.snapdiffbeforeafterboth--- a/crates/jrsonnet-formatter/src/snapshots/jrsonnet_formatter__tests__snapshots@comments.jsonnet.snap
+++ b/crates/jrsonnet-formatter/src/snapshots/jrsonnet_formatter__tests__snapshots@comments.jsonnet.snap
@@ -14,3 +14,6 @@
value: 42,
},
}
+// Empty before
+//
+// Empty after
crates/jrsonnet-formatter/src/tests/comments.jsonnetdiffbeforeafterboth--- a/crates/jrsonnet-formatter/src/tests/comments.jsonnet
+++ b/crates/jrsonnet-formatter/src/tests/comments.jsonnet
@@ -9,3 +9,6 @@
value: 42,
},
}
+// Empty before
+//
+// Empty after
flake.lockdiffbeforeafterboth--- a/flake.lock
+++ b/flake.lock
@@ -1,16 +1,31 @@
{
"nodes": {
+ "cpp-jsonnet-for-tests": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1774879924,
+ "narHash": "sha256-yFxRp/YHaj1BtAAK5n5QcTBTl/a7m5pU5Wh65+sknT4=",
+ "owner": "google",
+ "repo": "jsonnet",
+ "rev": "2ef32abf3d5b83c24863949e8413b810d54c7f2a",
+ "type": "github"
+ },
+ "original": {
+ "owner": "google",
+ "repo": "jsonnet",
+ "type": "github"
+ }
+ },
"crane": {
"locked": {
- "lastModified": 1775245625,
- "owner": "CertainLach",
+ "lastModified": 1777830388,
+ "owner": "ipetkov",
"repo": "crane",
- "rev": "9c67a3098774323d0270004eed7d7291ddcfe918",
+ "rev": "d459c1350e96ce1a7e3859c513ef5e9869d67d6f",
"type": "github"
},
"original": {
- "owner": "CertainLach",
- "ref": "refactor/drop-remarshal",
+ "owner": "ipetkov",
"repo": "crane",
"type": "github"
}
@@ -43,10 +58,10 @@
]
},
"locked": {
- "lastModified": 1775087534,
+ "lastModified": 1777988971,
"owner": "hercules-ci",
"repo": "flake-parts",
- "rev": "3107b77cd68437b9a76194f0f7f9c55f2329ca5b",
+ "rev": "0678d8986be1661af6bb555f3489f2fdfc31f6ff",
"type": "github"
},
"original": {
@@ -55,6 +70,22 @@
"type": "github"
}
},
+ "go-jsonnet-for-tests": {
+ "flake": false,
+ "locked": {
+ "lastModified": 1774367753,
+ "narHash": "sha256-O7b26aobvs1gHsUNM2RZ/WnIMpFJOa/XbupttTMJ8LA=",
+ "owner": "google",
+ "repo": "go-jsonnet",
+ "rev": "567b61ac4a6c23546a62d79324bb4aaed6bdc941",
+ "type": "github"
+ },
+ "original": {
+ "owner": "google",
+ "repo": "go-jsonnet",
+ "type": "github"
+ }
+ },
"hercules-ci-effects": {
"inputs": {
"flake-parts": [
@@ -65,10 +96,10 @@
]
},
"locked": {
- "lastModified": 1773550609,
+ "lastModified": 1776603440,
"owner": "hercules-ci",
"repo": "hercules-ci-effects",
- "rev": "554f6ed448ca74c00aa2371cde901ae1e73005b9",
+ "rev": "e2456ee419f9d75f8382e3d6c5af4690b316a5a8",
"type": "github"
},
"original": {
@@ -79,10 +110,10 @@
},
"nixpkgs": {
"locked": {
- "lastModified": 1775270577,
+ "lastModified": 1778022901,
"owner": "nixos",
"repo": "nixpkgs",
- "rev": "9370b0614498381a0019e082c10e9cf8413e7c2c",
+ "rev": "5d0f6be1c3cebacc3e817a18a44a3ac89ff66109",
"type": "github"
},
"original": {
@@ -94,9 +125,11 @@
},
"root": {
"inputs": {
+ "cpp-jsonnet-for-tests": "cpp-jsonnet-for-tests",
"crane": "crane",
"fenix": "fenix",
"flake-parts": "flake-parts",
+ "go-jsonnet-for-tests": "go-jsonnet-for-tests",
"hercules-ci-effects": "hercules-ci-effects",
"nixpkgs": "nixpkgs",
"shelly": "shelly",
@@ -141,10 +174,10 @@
]
},
"locked": {
- "lastModified": 1775125835,
+ "lastModified": 1775636079,
"owner": "numtide",
"repo": "treefmt-nix",
- "rev": "75925962939880974e3ab417879daffcba36c4a3",
+ "rev": "790751ff7fd3801feeaf96d7dc416a8d581265ba",
"type": "github"
},
"original": {
flake.nixdiffbeforeafterboth1{2 description = "Jrsonnet";3 inputs = {4 nixpkgs.url = "github:nixos/nixpkgs/release-25.11";5 fenix = {6 url = "github:CertainLach/fenix/fix/libatomic";7 inputs.nixpkgs.follows = "nixpkgs";8 };9 flake-parts = {10 url = "github:hercules-ci/flake-parts";11 inputs.nixpkgs-lib.follows = "nixpkgs";12 };13 hercules-ci-effects = {14 url = "github:hercules-ci/hercules-ci-effects";15 inputs.flake-parts.follows = "flake-parts";16 inputs.nixpkgs.follows = "nixpkgs";17 };18 treefmt-nix = {19 url = "github:numtide/treefmt-nix";20 inputs.nixpkgs.follows = "nixpkgs";21 };22 crane.url = "github:CertainLach/crane/refactor/drop-remarshal";23 shelly.url = "github:CertainLach/shelly";24 };25 outputs =26 inputs:27 let28 inherit (inputs.nixpkgs.lib)29 mkIf30 mkForce31 optionals32 optionalAttrs33 ;34 in35 inputs.flake-parts.lib.mkFlake { inherit inputs; } {36 imports = [37 inputs.shelly.flakeModule38 inputs.hercules-ci-effects.flakeModule39 ];40 systems = [41 "x86_64-linux"42 "i686-linux"43 "aarch64-linux"44 "armv7l-linux"45 "aarch64-darwin"46 ];47 perSystem =48 {49 config,50 self',51 system,52 ...53 }:54 let55 pkgs = import inputs.nixpkgs {56 inherit system;57 overlays = [ inputs.fenix.overlays.default ];58 config.allowUnsupportedSystem = true;59 config.allowUnfreePredicate = pkg: pkg.name == "Xcode.app";60 };61 targetArch = pkgs.stdenv.hostPlatform.parsed.cpu.name;62 rustfmt = (pkgs.fenix.complete or pkgs.fenix.stable).rustfmt;63 rust-analyzer = (pkgs.fenix.complete or pkgs.fenix.stable).rust-analyzer;64 toolchain = pkgs.fenix.combine [65 (pkgs.fenix.stable.withComponents [66 "cargo"67 "clippy"68 "rustc"69 "rust-src"70 ])71 rustfmt72 rust-analyzer73 pkgs.fenix.targets.wasm32-unknown-unknown.stable.rust-std74 ];75 craneLib = (inputs.crane.mkLib pkgs).overrideToolchain toolchain;76 treefmt =77 (inputs.treefmt-nix.lib.evalModule pkgs (import ./treefmt.nix { inherit rustfmt; })).config.build;7879 # Cross-compilation toolchains80 crossToolchain = pkgs.fenix.combine [81 (pkgs.fenix.stable.withComponents [82 "cargo"83 "rustc"84 ])85 pkgs.fenix.targets."${targetArch}-unknown-linux-musl".stable.rust-std86 pkgs.fenix.targets."${targetArch}-apple-darwin".stable.rust-std87 ];88 craneLibCross = (inputs.crane.mkLib pkgs).overrideToolchain crossToolchain;8990 # Windows cross-compilation91 pkgsWindows = import inputs.nixpkgs {92 overlays = [ inputs.fenix.overlays.default ];93 localSystem = system;94 crossSystem = {95 config = "${targetArch}-w64-mingw32";96 libc = "msvcrt";97 };98 };99 windowsToolchain = pkgs.fenix.combine [100 (pkgs.fenix.stable.withComponents [101 "cargo"102 "rustc"103 ])104 pkgs.fenix.targets."${targetArch}-pc-windows-gnu".stable.rust-std105 ];106 craneLibWindows = (inputs.crane.mkLib pkgsWindows).overrideToolchain (_: windowsToolchain);107108 in109 {110 legacyPackages = {111 release = optionalAttrs pkgs.stdenv.hostPlatform.isLinux (112 {113 jrsonnet-linux-glibc = self'.packages.jrsonnet;114 jrsonnet-experimental-linux-glibc = self'.packages.jrsonnet-experimental;115 }116 // optionalAttrs pkgs.stdenv.hostPlatform.is64bit rec {117 jrsonnet-linux-musl = pkgs.callPackage ./nix/jrsonnet-cross-musl.nix {118 craneLib = craneLibCross;119 targetTriple = "${targetArch}-unknown-linux-musl";120 muslCC = pkgs.pkgsMusl.stdenv.cc;121 };122 jrsonnet-experimental-linux-musl = jrsonnet-linux-musl.override {123 withExperimentalFeatures = true;124 };125 }126 // optionalAttrs (targetArch == "aarch64") rec {127 jrsonnet-darwin = pkgs.callPackage ./nix/jrsonnet-cross-darwin.nix {128 craneLib = craneLibCross;129 targetTriple = "${targetArch}-apple-darwin";130 };131 jrsonnet-experimental-darwin = jrsonnet-darwin.override {132 withExperimentalFeatures = true;133 };134 }135 // optionalAttrs (targetArch == "x86_64") rec {136 jrsonnet-windows = pkgsWindows.callPackage ./nix/jrsonnet-cross-windows.nix {137 craneLib = craneLibWindows;138 targetTriple = "${targetArch}-pc-windows-gnu";139 };140 jrsonnet-experimental-windows = jrsonnet-windows.override {141 withExperimentalFeatures = true;142 };143 }144 );145 benchmarks = optionalAttrs (system == "x86_64-linux" || system == "aarch64-linux") {146 default = pkgs.callPackage ./nix/benchmarks.nix {147 inherit (config.legacyPackages.jsonnetImpls)148 go-jsonnet149 sjsonnet150 cpp-jsonnet151 rsjsonnet152 ;153 jrsonnetVariants = [154 {155 drv = self'.packages.jrsonnet.override { forBenchmarks = true; };156 name = "";157 }158 ];159 };160 quick = pkgs.callPackage ./nix/benchmarks.nix {161 inherit (config.legacyPackages.jsonnetImpls)162 go-jsonnet163 sjsonnet164 cpp-jsonnet165 rsjsonnet166 ;167 quick = true;168 jrsonnetVariants = [169 {170 drv = self'.packages.jrsonnet.override { forBenchmarks = true; };171 name = "";172 }173 ];174 };175 against-release = pkgs.callPackage ./nix/benchmarks.nix {176 inherit (config.legacyPackages.jsonnetImpls)177 go-jsonnet178 sjsonnet179 cpp-jsonnet180 rsjsonnet181 ;182 jrsonnetVariants = [183 {184 drv = self'.packages.jrsonnet.override { forBenchmarks = true; };185 name = "current";186 }187 {188 drv = self'.packages.jrsonnet-experimental.override { forBenchmarks = true; };189 name = "current-experimental";190 }191 {192 drv = self'.legacyPackages.jsonnetImpls.jrsonnet-release.override { forBenchmarks = true; };193 name = "release";194 }195 ];196 };197 quick-against-release = pkgs.callPackage ./nix/benchmarks.nix {198 inherit (config.legacyPackages.jsonnetImpls)199 go-jsonnet200 sjsonnet201 cpp-jsonnet202 rsjsonnet203 ;204 quick = true;205 jrsonnetVariants = [206 {207 drv = self'.packages.jrsonnet.override { forBenchmarks = true; };208 name = "current";209 }210 {211 drv = self'.packages.jrsonnet-experimental.override { forBenchmarks = true; };212 name = "current-experimental";213 }214 {215 drv = self'.legacyPackages.jsonnetImpls.jrsonnet-release.override { forBenchmarks = true; };216 name = "release";217 }218 ];219 };220 };221 jsonnetImpls = {222 go-jsonnet = pkgs.callPackage ./nix/go-jsonnet.nix { };223 sjsonnet = pkgs.callPackage ./nix/sjsonnet.nix { };224 cpp-jsonnet = pkgs.callPackage ./nix/cpp-jsonnet.nix { };225 # I didn't managed to build it, and nixpkgs version is marked as broken226 # haskell-jsonnet = pkgs.callPackage ./nix/haskell-jsonnet.nix { };227 rsjsonnet = pkgs.callPackage ./nix/rsjsonnet.nix { };228 # Older released version of jrsonnet itself, for benchmarking purposes229 jrsonnet-release = pkgs.callPackage ./nix/jrsonnet-release.nix {230 rustPlatform = pkgs.makeRustPlatform {231 rustc = toolchain;232 cargo = toolchain;233 };234 };235 };236 };237 packages =238 let239 jrsonnet = pkgs.callPackage ./nix/jrsonnet.nix {240 inherit craneLib;241 };242 jrsonnet-experimental = pkgs.callPackage ./nix/jrsonnet.nix {243 inherit craneLib;244 withExperimentalFeatures = true;245 };246 in247 {248 default = jrsonnet;249 inherit jrsonnet jrsonnet-experimental;250 };251 checks = optionalAttrs (system != "armv7l-linux") {252 formatting = treefmt.check inputs.self;253 };254 formatter = mkIf (system != "armv7l-linux") treefmt.wrapper;255 shelly.shells.default = {256 factory = craneLib.devShell;257 packages =258 with pkgs;259 [260 cargo-edit261 cargo-outdated262 cargo-watch263 cargo-insta264 cargo-hack265 cargo-show-asm266 lld267 hyperfine268 graphviz269 ]270 ++ optionals (!stdenv.isDarwin) [271 valgrind272 kdePackages.kcachegrind273 samply274 ];275 };276 };277 hercules-ci.github-releases.files =278 let279 rel = system: inputs.self.legacyPackages.${system}.release;280 bin = drv: "${drv}/bin/jrsonnet";281 exe = drv: "${drv}/bin/jrsonnet.exe";282 in283 [284 {285 label = "jrsonnet-x86_64-linux-musl";286 path = bin (rel "x86_64-linux").jrsonnet-linux-musl;287 }288 {289 label = "jrsonnet-experimental-x86_64-linux-musl";290 path = bin (rel "x86_64-linux").jrsonnet-experimental-linux-musl;291 }292 {293 label = "jrsonnet-aarch64-darwin";294 path = bin (rel "aarch64-linux").jrsonnet-darwin;295 }296 {297 label = "jrsonnet-experimental-aarch64-darwin";298 path = bin (rel "aarch64-linux").jrsonnet-experimental-darwin;299 }300 {301 label = "jrsonnet-x86_64-windows.exe";302 path = exe (rel "x86_64-linux").jrsonnet-windows;303 }304 {305 label = "jrsonnet-experimental-x86_64-windows.exe";306 path = exe (rel "x86_64-linux").jrsonnet-experimental-windows;307 }308309 {310 label = "jrsonnet-aarch64-linux-musl";311 path = bin (rel "aarch64-linux").jrsonnet-linux-musl;312 }313 {314 label = "jrsonnet-experimental-aarch64-linux-musl";315 path = bin (rel "aarch64-linux").jrsonnet-experimental-linux-musl;316 }317318 {319 label = "jrsonnet-x86_64-linux-glibc";320 path = bin (rel "x86_64-linux").jrsonnet-linux-glibc;321 }322 {323 label = "jrsonnet-experimental-x86_64-linux-glibc";324 path = bin (rel "x86_64-linux").jrsonnet-experimental-linux-glibc;325 }326 {327 label = "jrsonnet-aarch64-linux-glibc";328 path = bin (rel "aarch64-linux").jrsonnet-linux-glibc;329 }330 {331 label = "jrsonnet-experimental-aarch64-linux-glibc";332 path = bin (rel "aarch64-linux").jrsonnet-experimental-linux-glibc;333 }334 {335 label = "jrsonnet-i686-linux-glibc";336 path = bin (rel "i686-linux").jrsonnet-linux-glibc;337 }338 {339 label = "jrsonnet-experimental-i686-linux-glibc";340 path = bin (rel "i686-linux").jrsonnet-experimental-linux-glibc;341 }342 {343 label = "jrsonnet-armv7l-linux-glibc";344 path = bin (rel "armv7l-linux").jrsonnet-linux-glibc;345 }346 {347 label = "jrsonnet-experimental-armv7l-linux-glibc";348 path = bin (rel "armv7l-linux").jrsonnet-experimental-linux-glibc;349 }350 ];351 hercules-ci.cargo-publish = {352 enable = true;353 secretName = "crates-io";354 extraPublishArgs = [ "--workspace" ];355 };356 hercules-ci.flake-update = {357 enable = true;358 baseMerge.enable = true;359 baseMerge.method = "fast-forward";360 when = {361 dayOfWeek = [ "Sat" ];362 };363 };364 herculesCI =365 { lib, config, ... }:366 {367 ciSystems = [368 "x86_64-linux"369 "i686-linux"370 "aarch64-linux"371 "armv7l-linux"372 # TODO: add workers for these platforms373 # "aarch64-darwin"374 ];375 onPush.default.outputs = {376 benchmarks.x86_64-linux = inputs.self.legacyPackages.x86_64-linux.benchmarks.default;377378 # Cross: musl/mingw/darwin-zigbuild379 release.x86_64-linux = inputs.self.legacyPackages.x86_64-linux.release;380 release.aarch64-linux = inputs.self.legacyPackages.aarch64-linux.release;381 release.armv7l-linux = inputs.self.legacyPackages.armv7l-linux.release;382 release.i686-linux = inputs.self.legacyPackages.i686-linux.release;383384 # Too much to build for CI purposes385 devShells = mkForce { };386 formatter = mkForce { };387388 # No need to run them on different arch, pretty large derivations and might try to compile GHC389 checks.i686-linux.formatting = mkForce { };390 checks.aarch64-linux.formatting = mkForce { };391 };392 };393 };394}1{2 description = "Jrsonnet";3 inputs = {4 nixpkgs.url = "github:nixos/nixpkgs/release-25.11";5 fenix = {6 url = "github:CertainLach/fenix/fix/libatomic";7 inputs.nixpkgs.follows = "nixpkgs";8 };9 flake-parts = {10 url = "github:hercules-ci/flake-parts";11 inputs.nixpkgs-lib.follows = "nixpkgs";12 };13 hercules-ci-effects = {14 url = "github:hercules-ci/hercules-ci-effects";15 inputs.flake-parts.follows = "flake-parts";16 inputs.nixpkgs.follows = "nixpkgs";17 };18 treefmt-nix = {19 url = "github:numtide/treefmt-nix";20 inputs.nixpkgs.follows = "nixpkgs";21 };22 crane.url = "github:ipetkov/crane";23 shelly.url = "github:CertainLach/shelly";2425 cpp-jsonnet-for-tests = {26 url = "github:google/jsonnet";27 flake = false;28 };29 go-jsonnet-for-tests = {30 url = "github:google/go-jsonnet";31 flake = false;32 };33 };34 outputs =35 inputs:36 let37 inherit (inputs.nixpkgs.lib)38 mkIf39 mkForce40 optionals41 optionalAttrs42 ;43 in44 inputs.flake-parts.lib.mkFlake { inherit inputs; } {45 imports = [46 inputs.shelly.flakeModule47 inputs.hercules-ci-effects.flakeModule48 ];49 systems = [50 "x86_64-linux"51 "i686-linux"52 "aarch64-linux"53 "armv7l-linux"54 "aarch64-darwin"55 ];56 perSystem =57 {58 config,59 self',60 system,61 ...62 }:63 let64 pkgs = import inputs.nixpkgs {65 inherit system;66 overlays = [ inputs.fenix.overlays.default ];67 config.allowUnsupportedSystem = true;68 config.allowUnfreePredicate = pkg: pkg.name == "Xcode.app";69 };70 targetArch = pkgs.stdenv.hostPlatform.parsed.cpu.name;71 rustfmt = (pkgs.fenix.complete or pkgs.fenix.stable).rustfmt;72 toolchain = pkgs.fenix.combine [73 (pkgs.fenix.complete.withComponents [74 "cargo"75 "clippy"76 "rustc"77 "rust-src"78 "rustfmt"79 "rust-analyzer"80 ])81 pkgs.fenix.targets.wasm32-unknown-unknown.latest.rust-std82 ];83 craneLib = (inputs.crane.mkLib pkgs).overrideToolchain toolchain;84 treefmt =85 (inputs.treefmt-nix.lib.evalModule pkgs (import ./treefmt.nix { inherit rustfmt; })).config.build;8687 # Cross-compilation toolchains88 crossToolchain = pkgs.fenix.combine [89 (pkgs.fenix.stable.withComponents [90 "cargo"91 "rustc"92 ])93 pkgs.fenix.targets."${targetArch}-unknown-linux-musl".stable.rust-std94 pkgs.fenix.targets."${targetArch}-apple-darwin".stable.rust-std95 ];96 craneLibCross = (inputs.crane.mkLib pkgs).overrideToolchain crossToolchain;9798 # Windows cross-compilation99 pkgsWindows = import inputs.nixpkgs {100 overlays = [ inputs.fenix.overlays.default ];101 localSystem = system;102 crossSystem = {103 config = "${targetArch}-w64-mingw32";104 libc = "msvcrt";105 };106 };107 windowsToolchain = pkgs.fenix.combine [108 (pkgs.fenix.stable.withComponents [109 "cargo"110 "rustc"111 ])112 pkgs.fenix.targets."${targetArch}-pc-windows-gnu".stable.rust-std113 ];114 craneLibWindows = (inputs.crane.mkLib pkgsWindows).overrideToolchain (_: windowsToolchain);115116 in117 {118 legacyPackages = {119 release = optionalAttrs pkgs.stdenv.hostPlatform.isLinux (120 {121 jrsonnet-linux-glibc = self'.packages.jrsonnet;122 jrsonnet-experimental-linux-glibc = self'.packages.jrsonnet-experimental;123 }124 // optionalAttrs pkgs.stdenv.hostPlatform.is64bit rec {125 jrsonnet-linux-musl = pkgs.callPackage ./nix/jrsonnet-cross-musl.nix {126 craneLib = craneLibCross;127 targetTriple = "${targetArch}-unknown-linux-musl";128 muslCC = pkgs.pkgsMusl.stdenv.cc;129 };130 jrsonnet-experimental-linux-musl = jrsonnet-linux-musl.override {131 withExperimentalFeatures = true;132 };133 }134 // optionalAttrs (targetArch == "aarch64") rec {135 jrsonnet-darwin = pkgs.callPackage ./nix/jrsonnet-cross-darwin.nix {136 craneLib = craneLibCross;137 targetTriple = "${targetArch}-apple-darwin";138 };139 jrsonnet-experimental-darwin = jrsonnet-darwin.override {140 withExperimentalFeatures = true;141 };142 }143 // optionalAttrs (targetArch == "x86_64") rec {144 jrsonnet-windows = pkgsWindows.callPackage ./nix/jrsonnet-cross-windows.nix {145 craneLib = craneLibWindows;146 targetTriple = "${targetArch}-pc-windows-gnu";147 };148 jrsonnet-experimental-windows = jrsonnet-windows.override {149 withExperimentalFeatures = true;150 };151 }152 );153 benchmarks = optionalAttrs (system == "x86_64-linux" || system == "aarch64-linux") {154 default = pkgs.callPackage ./nix/benchmarks.nix {155 inherit (config.legacyPackages.jsonnetImpls)156 go-jsonnet157 sjsonnet158 cpp-jsonnet159 rsjsonnet160 ;161 jrsonnetVariants = [162 {163 drv = self'.packages.jrsonnet.override { forBenchmarks = true; };164 name = "";165 }166 ];167 };168 quick = pkgs.callPackage ./nix/benchmarks.nix {169 inherit (config.legacyPackages.jsonnetImpls)170 go-jsonnet171 sjsonnet172 cpp-jsonnet173 rsjsonnet174 ;175 quick = true;176 jrsonnetVariants = [177 {178 drv = self'.packages.jrsonnet.override { forBenchmarks = true; };179 name = "";180 }181 ];182 };183 against-release = pkgs.callPackage ./nix/benchmarks.nix {184 inherit (config.legacyPackages.jsonnetImpls)185 go-jsonnet186 sjsonnet187 cpp-jsonnet188 rsjsonnet189 ;190 jrsonnetVariants = [191 {192 drv = self'.packages.jrsonnet.override { forBenchmarks = true; };193 name = "current";194 }195 {196 drv = self'.packages.jrsonnet-experimental.override { forBenchmarks = true; };197 name = "current-experimental";198 }199 {200 drv = self'.legacyPackages.jsonnetImpls.jrsonnet-release.override { forBenchmarks = true; };201 name = "release";202 }203 ];204 };205 quick-against-release = pkgs.callPackage ./nix/benchmarks.nix {206 inherit (config.legacyPackages.jsonnetImpls)207 go-jsonnet208 sjsonnet209 cpp-jsonnet210 rsjsonnet211 ;212 quick = true;213 jrsonnetVariants = [214 {215 drv = self'.packages.jrsonnet.override { forBenchmarks = true; };216 name = "current";217 }218 {219 drv = self'.packages.jrsonnet-experimental.override { forBenchmarks = true; };220 name = "current-experimental";221 }222 {223 drv = self'.legacyPackages.jsonnetImpls.jrsonnet-release.override { forBenchmarks = true; };224 name = "release";225 }226 ];227 };228 };229 jsonnetImpls = {230 go-jsonnet = pkgs.callPackage ./nix/go-jsonnet.nix { };231 sjsonnet = pkgs.callPackage ./nix/sjsonnet.nix { };232 cpp-jsonnet = pkgs.callPackage ./nix/cpp-jsonnet.nix { };233 # I didn't managed to build it, and nixpkgs version is marked as broken234 # haskell-jsonnet = pkgs.callPackage ./nix/haskell-jsonnet.nix { };235 rsjsonnet = pkgs.callPackage ./nix/rsjsonnet.nix { };236 # Older released version of jrsonnet itself, for benchmarking purposes237 jrsonnet-release = pkgs.callPackage ./nix/jrsonnet-release.nix {238 rustPlatform = pkgs.makeRustPlatform {239 rustc = toolchain;240 cargo = toolchain;241 };242 };243 };244 };245 packages =246 let247 jrsonnet = pkgs.callPackage ./nix/jrsonnet.nix {248 inherit craneLib;249 inherit (inputs) cpp-jsonnet-for-tests go-jsonnet-for-tests;250 };251 jrsonnet-experimental = pkgs.callPackage ./nix/jrsonnet.nix {252 inherit craneLib;253 inherit (inputs) cpp-jsonnet-for-tests go-jsonnet-for-tests;254 withExperimentalFeatures = true;255 };256 in257 {258 default = jrsonnet;259 inherit jrsonnet jrsonnet-experimental;260 };261 checks = optionalAttrs (system != "armv7l-linux") {262 formatting = treefmt.check inputs.self;263 };264 formatter = mkIf (system != "armv7l-linux") treefmt.wrapper;265 shelly.shells.default = {266 factory = craneLib.devShell;267 packages =268 with pkgs;269 [270 cargo-edit271 cargo-outdated272 cargo-watch273 cargo-insta274 cargo-hack275 cargo-show-asm276 lld277 hyperfine278 graphviz279 ]280 ++ optionals (!stdenv.isDarwin) [281 valgrind282 kdePackages.kcachegrind283 samply284 ];285 environment = {286 CPP_JSONNET_FOR_TESTS = inputs.cpp-jsonnet-for-tests;287 GO_JSONNET_FOR_TESTS = inputs.go-jsonnet-for-tests;288 };289 };290 shelly.shells.impls = {291 packages =292 (with self'.legacyPackages.jsonnetImpls; [293 cpp-jsonnet294 go-jsonnet295 rsjsonnet296 sjsonnet297 ])298 ++ (with self'.packages; [299 jrsonnet300 ]);301 };302 };303 hercules-ci.github-releases.files =304 let305 rel = system: inputs.self.legacyPackages.${system}.release;306 bin = drv: "${drv}/bin/jrsonnet";307 exe = drv: "${drv}/bin/jrsonnet.exe";308 in309 [310 {311 label = "jrsonnet-x86_64-linux-musl";312 path = bin (rel "x86_64-linux").jrsonnet-linux-musl;313 }314 {315 label = "jrsonnet-experimental-x86_64-linux-musl";316 path = bin (rel "x86_64-linux").jrsonnet-experimental-linux-musl;317 }318 {319 label = "jrsonnet-aarch64-darwin";320 path = bin (rel "aarch64-linux").jrsonnet-darwin;321 }322 {323 label = "jrsonnet-experimental-aarch64-darwin";324 path = bin (rel "aarch64-linux").jrsonnet-experimental-darwin;325 }326 {327 label = "jrsonnet-x86_64-windows.exe";328 path = exe (rel "x86_64-linux").jrsonnet-windows;329 }330 {331 label = "jrsonnet-experimental-x86_64-windows.exe";332 path = exe (rel "x86_64-linux").jrsonnet-experimental-windows;333 }334335 {336 label = "jrsonnet-aarch64-linux-musl";337 path = bin (rel "aarch64-linux").jrsonnet-linux-musl;338 }339 {340 label = "jrsonnet-experimental-aarch64-linux-musl";341 path = bin (rel "aarch64-linux").jrsonnet-experimental-linux-musl;342 }343344 {345 label = "jrsonnet-x86_64-linux-glibc";346 path = bin (rel "x86_64-linux").jrsonnet-linux-glibc;347 }348 {349 label = "jrsonnet-experimental-x86_64-linux-glibc";350 path = bin (rel "x86_64-linux").jrsonnet-experimental-linux-glibc;351 }352 {353 label = "jrsonnet-aarch64-linux-glibc";354 path = bin (rel "aarch64-linux").jrsonnet-linux-glibc;355 }356 {357 label = "jrsonnet-experimental-aarch64-linux-glibc";358 path = bin (rel "aarch64-linux").jrsonnet-experimental-linux-glibc;359 }360 {361 label = "jrsonnet-i686-linux-glibc";362 path = bin (rel "i686-linux").jrsonnet-linux-glibc;363 }364 {365 label = "jrsonnet-experimental-i686-linux-glibc";366 path = bin (rel "i686-linux").jrsonnet-experimental-linux-glibc;367 }368 {369 label = "jrsonnet-armv7l-linux-glibc";370 path = bin (rel "armv7l-linux").jrsonnet-linux-glibc;371 }372 {373 label = "jrsonnet-experimental-armv7l-linux-glibc";374 path = bin (rel "armv7l-linux").jrsonnet-experimental-linux-glibc;375 }376 ];377 hercules-ci.cargo-publish = {378 enable = true;379 secretName = "crates-io";380 extraPublishArgs = [ "--workspace" ];381 assertVersions = true;382 };383 hercules-ci.flake-update = {384 enable = true;385 baseMerge.enable = true;386 baseMerge.method = "fast-forward";387 when = {388 dayOfWeek = [ "Sat" ];389 };390 };391 herculesCI =392 { lib, config, ... }:393 {394 ciSystems = [395 "x86_64-linux"396 "i686-linux"397 "aarch64-linux"398 "armv7l-linux"399 # TODO: add workers for these platforms400 # "aarch64-darwin"401 ];402 onPush.default.outputs = {403 benchmarks.x86_64-linux = inputs.self.legacyPackages.x86_64-linux.benchmarks.default;404405 # Cross: musl/mingw/darwin-zigbuild406 release.x86_64-linux = inputs.self.legacyPackages.x86_64-linux.release;407 release.aarch64-linux = inputs.self.legacyPackages.aarch64-linux.release;408 release.armv7l-linux = inputs.self.legacyPackages.armv7l-linux.release;409 release.i686-linux = inputs.self.legacyPackages.i686-linux.release;410411 # Too much to build for CI purposes412 devShells = mkForce { };413 formatter = mkForce { };414415 # No need to run them on different arch, pretty large derivations and might try to compile GHC416 checks.i686-linux.formatting = mkForce { };417 checks.aarch64-linux.formatting = mkForce { };418 };419 };420 };421}nix/jrsonnet.nixdiffbeforeafterboth--- a/nix/jrsonnet.nix
+++ b/nix/jrsonnet.nix
@@ -4,6 +4,9 @@
makeWrapper,
withExperimentalFeatures ? false,
forBenchmarks ? false,
+
+ cpp-jsonnet-for-tests,
+ go-jsonnet-for-tests,
}:
let
inherit (lib) optionalString;
@@ -18,6 +21,9 @@
cargoExtraArgs = "--locked --features=mimalloc${optionalString withExperimentalFeatures ",experimental"}";
+ CPP_JSONNET_FOR_TESTS = cpp-jsonnet-for-tests;
+ GO_JSONNET_FOR_TESTS = go-jsonnet-for-tests;
+
nativeBuildInputs = [ makeWrapper ];
# To clean-up hyperfine output
tests/cpp_test_suite_golden_override/error.01.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.01.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.01.jsonnet.golden
@@ -1,5 +1,5 @@
runtime error: foo
- error.01.jsonnet:17:29-35: error statement
- error.01.jsonnet:18:36-40: function <bananas> call
- error.01.jsonnet:19:35-39: function <oranges> call
- error.01.jsonnet:20:7-11: function <apples> call
\ No newline at end of file
+ error.01.jsonnet:17:29-33: error statement
+ error.01.jsonnet:18:36-38: function <bananas> call
+ error.01.jsonnet:19:35-37: function <oranges> call
+ error.01.jsonnet:20:7-9: function <apples> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.02.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.02.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.02.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: Foo.
- error.02.jsonnet:17:1-7: error statement
\ No newline at end of file
+ error.02.jsonnet:17:1-5: error statement
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.03.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.03.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.03.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: foo
- error.03.jsonnet:17:21-27: error statement
- error.03.jsonnet:18:8-10: field <x> access
\ No newline at end of file
+ error.03.jsonnet:17:21-25: error statement
+ error.03.jsonnet:18:8-8: field <x> access
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.04.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.04.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.04.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: foo
- error.04.jsonnet:17:21-27: error statement
+ error.04.jsonnet:17:21-25: error statement
field <x> evaluation
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.05.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.05.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.05.jsonnet.golden
@@ -1,4 +1,4 @@
runtime error: foo
- error.05.jsonnet:17:21-27: error statement
+ error.05.jsonnet:17:21-25: error statement
field <x> evaluation
field <y> manifestification
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.06.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.06.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.06.jsonnet.golden
@@ -1,2 +1,2 @@
attempted to divide by zero
- error.06.jsonnet:19:2-5: function <f> call
\ No newline at end of file
+ error.06.jsonnet:19:2-3: function <f> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.07.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.07.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.07.jsonnet.golden
@@ -1,4 +1,4 @@
runtime error: sarcasm
- error.07.jsonnet:18:31-37: error statement
- error.07.jsonnet:17:33-35: element <3> access
- error.07.jsonnet:18:20-55: function <third> call
\ No newline at end of file
+ error.07.jsonnet:18:31-35: error statement
+ error.07.jsonnet:17:33-33: element <3> access
+ error.07.jsonnet:18:20-53: function <third> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.08.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.08.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.08.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: {"a": 1, "b": 2, "c": 3}
- error.08.jsonnet:18:1-7: error statement
\ No newline at end of file
+ error.08.jsonnet:18:1-5: error statement
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.assert.fail1.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.assert.fail1.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.assert.fail1.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- error.assert.fail1.jsonnet:20:8-15: assertion failure
\ No newline at end of file
+ error.assert.fail1.jsonnet:20:8-13: assertion failure
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.assert.fail2.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.assert.fail2.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.assert.fail2.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: foo was not equal to bar
- error.assert.fail2.jsonnet:20:8-15: assertion failure
\ No newline at end of file
+ error.assert.fail2.jsonnet:20:8-13: assertion failure
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.assert_equal_obj.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.assert_equal_obj.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.assert_equal_obj.jsonnet.golden
@@ -5,4 +5,4 @@
B: {
"b": 1
}
- error.assert_equal_obj.jsonnet:17:16-37: function <builtin_assert_equal> call
\ No newline at end of file
+ error.assert_equal_obj.jsonnet:17:16-35: function <builtin_assert_equal> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.assert_equal_str.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.assert_equal_str.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.assert_equal_str.jsonnet.golden
@@ -8,4 +8,4 @@
four
</B>
- error.assert_equal_str.jsonnet:17:16-46: function <builtin_assert_equal> call
\ No newline at end of file
+ error.assert_equal_str.jsonnet:17:16-44: function <builtin_assert_equal> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.decodeUTF8_float.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.decodeUTF8_float.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.decodeUTF8_float.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: cannot convert number with fractional part to u8
argument <arr> evaluation
- error.decodeUTF8_float.jsonnet:1:15-24: function <builtin_decode_utf8> call
\ No newline at end of file
+ error.decodeUTF8_float.jsonnet:1:15-22: function <builtin_decode_utf8> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.decodeUTF8_nan.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.decodeUTF8_nan.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.decodeUTF8_nan.jsonnet.golden
@@ -1,4 +1,4 @@
type error: expected BoundedNumber<0, 255>, got string at self[0]
array index 0
argument <arr> evaluation
- error.decodeUTF8_nan.jsonnet:1:15-25: function <builtin_decode_utf8> call
\ No newline at end of file
+ error.decodeUTF8_nan.jsonnet:1:15-23: function <builtin_decode_utf8> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.flatMap_array_typecheck.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.flatMap_array_typecheck.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.flatMap_array_typecheck.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: in std.join all items should be arrays
- error.flatMap_array_typecheck.jsonnet:1:12-45: function <builtin_flatmap> call
\ No newline at end of file
+ error.flatMap_array_typecheck.jsonnet:1:12-43: function <builtin_flatmap> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.flatMap_seq_typecheck.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.flatMap_seq_typecheck.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.flatMap_seq_typecheck.jsonnet.golden
@@ -2,4 +2,4 @@
- expected array, got object
- expected string, got object
argument <arr> evaluation
- error.flatMap_seq_typecheck.jsonnet:1:12-52: function <builtin_flatmap> call
\ No newline at end of file
+ error.flatMap_seq_typecheck.jsonnet:1:12-50: function <builtin_flatmap> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.flatMap_string_typecheck.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.flatMap_string_typecheck.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.flatMap_string_typecheck.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: in std.join all items should be strings
- error.flatMap_string_typecheck.jsonnet:1:12-50: function <builtin_flatmap> call
\ No newline at end of file
+ error.flatMap_string_typecheck.jsonnet:1:12-48: function <builtin_flatmap> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.function_duplicate_arg.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.function_duplicate_arg.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.function_duplicate_arg.jsonnet.golden
@@ -1,2 +1,2 @@
argument x is already bound
- error.function_duplicate_arg.jsonnet:17:21-30: function <anonymous> preparation
\ No newline at end of file
+ error.function_duplicate_arg.jsonnet:17:21-28: function <anonymous> preparation
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.function_too_many_args.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.function_too_many_args.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.function_too_many_args.jsonnet.golden
@@ -1,3 +1,3 @@
too many args, function has 2
Function has the following signature: (a, b)
- error.function_too_many_args.jsonnet:19:4-14: function <foo> preparation
\ No newline at end of file
+ error.function_too_many_args.jsonnet:19:4-12: function <foo> preparation
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.import_static-check-failure.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.import_static-check-failure.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.import_static-check-failure.jsonnet.golden
@@ -1,2 +1,2 @@
static analysis errors: undefined local: x
- error.import_static-check-failure.jsonnet:1:1-8: import
\ No newline at end of file
+ error.import_static-check-failure.jsonnet:1:1-6: import
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.import_syntax-error.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.import_syntax-error.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.import_syntax-error.jsonnet.golden
@@ -1,3 +1,4 @@
syntax error: unterminated double-quoted string
- syntax_error.jsonnet:1:1
- error.import_syntax-error.jsonnet:1:1-8: import
\ No newline at end of file
+ lib/syntax_error.jsonnet:1:1
+ lib/syntax_error.jsonnet:1:1-2:0: parse imported
+ error.import_syntax-error.jsonnet:1:1-6: import
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.inside_equals_array.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.inside_equals_array.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.inside_equals_array.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: foobar
- error.inside_equals_array.jsonnet:18:18-24: error statement
\ No newline at end of file
+ error.inside_equals_array.jsonnet:18:18-22: error statement
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.inside_equals_object.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.inside_equals_object.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.inside_equals_object.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: foobar
- error.inside_equals_object.jsonnet:18:22-28: error statement
\ No newline at end of file
+ error.inside_equals_object.jsonnet:18:22-26: error statement
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.inside_tostring_array.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.inside_tostring_array.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.inside_tostring_array.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: foobar
- error.inside_tostring_array.jsonnet:17:8-14: error statement
+ error.inside_tostring_array.jsonnet:17:8-12: error statement
elem <2> evaluation
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.inside_tostring_object.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.inside_tostring_object.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.inside_tostring_object.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: foobar
- error.inside_tostring_object.jsonnet:17:12-18: error statement
+ error.inside_tostring_object.jsonnet:17:12-16: error statement
field <b> evaluation
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.invariant.avoid_output_change.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.invariant.avoid_output_change.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.invariant.avoid_output_change.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- error.invariant.avoid_output_change.jsonnet:18:10-25: assertion failure
\ No newline at end of file
+ error.invariant.avoid_output_change.jsonnet:18:10-23: assertion failure
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.invariant.equality.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.invariant.equality.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.invariant.equality.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- error.invariant.equality.jsonnet:17:10-16: assertion failure
\ No newline at end of file
+ error.invariant.equality.jsonnet:17:10-14: assertion failure
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.invariant.option.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.invariant.option.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.invariant.option.jsonnet.golden
@@ -1,6 +1,6 @@
type error: expected array, got string
argument <a> evaluation
- error.invariant.option.jsonnet:19:33-56: function <builtin_set_inter> call
+ error.invariant.option.jsonnet:19:33-54: function <builtin_set_inter> call
argument <x> evaluation
- error.invariant.option.jsonnet:19:20-57: function <builtin_length> call
- error.invariant.option.jsonnet:19:10-61: assertion condition
\ No newline at end of file
+ error.invariant.option.jsonnet:19:20-55: function <builtin_length> call
+ error.invariant.option.jsonnet:19:10-59: assertion condition
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.invariant.simple.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.invariant.simple.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.invariant.simple.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- error.invariant.simple.jsonnet:18:10-16: assertion failure
\ No newline at end of file
+ error.invariant.simple.jsonnet:18:10-14: assertion failure
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.invariant.simple2.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.invariant.simple2.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.invariant.simple2.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: my error message
- error.invariant.simple2.jsonnet:18:10-17: assertion failure
\ No newline at end of file
+ error.invariant.simple2.jsonnet:18:10-15: assertion failure
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.invariant.simple3.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.invariant.simple3.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.invariant.simple3.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: my error message
- error.invariant.simple3.jsonnet:18:10-16: error statement
- error.invariant.simple3.jsonnet:18:10-35: assertion condition
\ No newline at end of file
+ error.invariant.simple3.jsonnet:18:10-14: error statement
+ error.invariant.simple3.jsonnet:18:10-33: assertion condition
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.manifest_toml_null_value.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.manifest_toml_null_value.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.manifest_toml_null_value.jsonnet.golden
@@ -2,4 +2,4 @@
table <c> manifestification
section <b> manifestification
section <a> manifestification
- error.manifest_toml_null_value.jsonnet:17:19-55: function <builtin_manifest_toml_ex> call
\ No newline at end of file
+ error.manifest_toml_null_value.jsonnet:17:19-53: function <builtin_manifest_toml_ex> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.manifest_toml_wrong_type.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.manifest_toml_wrong_type.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.manifest_toml_wrong_type.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected object, got array
argument <value> evaluation
- error.manifest_toml_wrong_type.jsonnet:17:19-30: function <builtin_manifest_toml_ex> call
\ No newline at end of file
+ error.manifest_toml_wrong_type.jsonnet:17:19-28: function <builtin_manifest_toml_ex> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.obj_assert.fail1.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.obj_assert.fail1.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.obj_assert.fail1.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- error.obj_assert.fail1.jsonnet:20:23-30: assertion failure
\ No newline at end of file
+ error.obj_assert.fail1.jsonnet:20:23-28: assertion failure
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.obj_assert.fail2.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.obj_assert.fail2.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.obj_assert.fail2.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: foo was not equal to bar
- error.obj_assert.fail2.jsonnet:20:23-30: assertion failure
\ No newline at end of file
+ error.obj_assert.fail2.jsonnet:20:23-28: assertion failure
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.overflow.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.overflow.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.overflow.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: invalid number value: non-finite
- error.overflow.jsonnet:17:1
\ No newline at end of file
+ error.overflow.jsonnet:17:1
+ error.overflow.jsonnet:17:1-5: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.overflow3.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.overflow3.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.overflow3.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: invalid number value: non-finite
- error.overflow3.jsonnet:17:1
\ No newline at end of file
+ error.overflow3.jsonnet:17:1
+ error.overflow3.jsonnet:17:1-5: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.array_comma.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.array_comma.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.array_comma.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: expected ']', got number "3"
- error.parse.array_comma.jsonnet:17:7
\ No newline at end of file
+ error.parse.array_comma.jsonnet:17:7
+ error.parse.array_comma.jsonnet:17:7-7: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.function_arg_positional_after_named.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.function_arg_positional_after_named.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.function_arg_positional_after_named.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: positional argument after named argument
- error.parse.function_arg_positional_after_named.jsonnet:19:10
\ No newline at end of file
+ error.parse.function_arg_positional_after_named.jsonnet:19:10
+ error.parse.function_arg_positional_after_named.jsonnet:19:10-10: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.import_text_block.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.import_text_block.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.import_text_block.jsonnet.golden
@@ -1,3 +1,3 @@
-can't resolve This is a paragraph of text, which is being used in the place of
+import file not found This is a paragraph of text, which is being used in the place of
a filename. That is quite unusual, and probably not intended.
- from /home/lach/build/jrsonnet-pr/tests/cpp_test_suite/error.parse.import_text_block.jsonnet
\ No newline at end of file
+ from error.parse.import_text_block.jsonnet
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.index_unterminated.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.index_unterminated.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.index_unterminated.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: unexpected end of file
- error.parse.index_unterminated.jsonnet:17:3
\ No newline at end of file
+ error.parse.index_unterminated.jsonnet:17:3
+ error.parse.index_unterminated.jsonnet:17:3-0:0: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.method_plus.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.method_plus.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.method_plus.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: expected ':', got '+'
- error.parse.method_plus.jsonnet:17:18
\ No newline at end of file
+ error.parse.method_plus.jsonnet:17:18
+ error.parse.method_plus.jsonnet:17:18-18: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.object_comma.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.object_comma.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.object_comma.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: expected '}', got identifier "z"
- error.parse.object_comma.jsonnet:17:11
\ No newline at end of file
+ error.parse.object_comma.jsonnet:17:11
+ error.parse.object_comma.jsonnet:17:11-11: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.object_comprehension_local_clash.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.object_comprehension_local_clash.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.object_comprehension_local_clash.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: expected '}', got ':'
- error.parse.object_comprehension_local_clash.jsonnet:17:29
\ No newline at end of file
+ error.parse.object_comprehension_local_clash.jsonnet:17:29
+ error.parse.object_comprehension_local_clash.jsonnet:17:29-29: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.self_in_computed_field.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.self_in_computed_field.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.self_in_computed_field.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: expected field name, got 'self'
- error.parse.self_in_computed_field.jsonnet:17:15
\ No newline at end of file
+ error.parse.self_in_computed_field.jsonnet:17:15
+ error.parse.self_in_computed_field.jsonnet:17:15-18: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.static_error_bad_number.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.static_error_bad_number.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.static_error_bad_number.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: unexpected '.'
- error.parse.static_error_bad_number.jsonnet:17:1
\ No newline at end of file
+ error.parse.static_error_bad_number.jsonnet:17:1
+ error.parse.static_error_bad_number.jsonnet:17:1-1: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: invalid string escape
- error.parse.string.invalid_escape.jsonnet:17:1
\ No newline at end of file
+ error.parse.string.invalid_escape.jsonnet:17:1
+ error.parse.string.invalid_escape.jsonnet:17:1-4: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_non_hex.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_non_hex.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_non_hex.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: invalid string escape
- error.parse.string.invalid_escape_unicode_non_hex.jsonnet:17:1
\ No newline at end of file
+ error.parse.string.invalid_escape_unicode_non_hex.jsonnet:17:1
+ error.parse.string.invalid_escape_unicode_non_hex.jsonnet:17:1-8: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_short.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_short.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_short.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: unterminated double-quoted string
- error.parse.string.invalid_escape_unicode_short.jsonnet:17:1
\ No newline at end of file
+ error.parse.string.invalid_escape_unicode_short.jsonnet:17:1
+ error.parse.string.invalid_escape_unicode_short.jsonnet:17:1-18:0: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_short2.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_short2.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_short2.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: invalid string escape
- error.parse.string.invalid_escape_unicode_short2.jsonnet:17:1
\ No newline at end of file
+ error.parse.string.invalid_escape_unicode_short2.jsonnet:17:1
+ error.parse.string.invalid_escape_unicode_short2.jsonnet:17:1-7: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_short3.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_short3.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.string.invalid_escape_unicode_short3.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: unterminated double-quoted string
- error.parse.string.invalid_escape_unicode_short3.jsonnet:17:1
\ No newline at end of file
+ error.parse.string.invalid_escape_unicode_short3.jsonnet:17:1
+ error.parse.string.invalid_escape_unicode_short3.jsonnet:17:1-18:0: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.string.unfinished.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.string.unfinished.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.string.unfinished.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: unterminated double-quoted string
- error.parse.string.unfinished.jsonnet:17:1
\ No newline at end of file
+ error.parse.string.unfinished.jsonnet:17:1
+ error.parse.string.unfinished.jsonnet:17:1-18:0: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.string.unfinished2.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.string.unfinished2.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.string.unfinished2.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: unterminated single-quoted string
- error.parse.string.unfinished2.jsonnet:17:1
\ No newline at end of file
+ error.parse.string.unfinished2.jsonnet:17:1
+ error.parse.string.unfinished2.jsonnet:17:1-18:0: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.string_multi_no_newline.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.string_multi_no_newline.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.string_multi_no_newline.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: text block requires new line after |||
- error.parse.string_multi_no_newline.jsonnet:17:1
\ No newline at end of file
+ error.parse.string_multi_no_newline.jsonnet:17:1
+ error.parse.string_multi_no_newline.jsonnet:17:1-18:0: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.text_block_bad_whitespace.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.text_block_bad_whitespace.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.text_block_bad_whitespace.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: unterminated text block
- error.parse.text_block_bad_whitespace.jsonnet:17:1
\ No newline at end of file
+ error.parse.text_block_bad_whitespace.jsonnet:17:1
+ error.parse.text_block_bad_whitespace.jsonnet:17:1-20:3: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.text_block_eof.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.text_block_eof.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.text_block_eof.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: unexpected end of text block
- error.parse.text_block_eof.jsonnet:17:1
\ No newline at end of file
+ error.parse.text_block_eof.jsonnet:17:1
+ error.parse.text_block_eof.jsonnet:17:1-18:6: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.text_block_indent_spaces.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.text_block_indent_spaces.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.text_block_indent_spaces.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: unterminated text block
- error.parse.text_block_indent_spaces.jsonnet:17:1
\ No newline at end of file
+ error.parse.text_block_indent_spaces.jsonnet:17:1
+ error.parse.text_block_indent_spaces.jsonnet:17:1-20:3: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse.text_block_not_terminated.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse.text_block_not_terminated.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse.text_block_not_terminated.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: unexpected end of text block
- error.parse.text_block_not_terminated.jsonnet:17:1
\ No newline at end of file
+ error.parse.text_block_not_terminated.jsonnet:17:1
+ error.parse.text_block_not_terminated.jsonnet:17:1-19:0: parse imported
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.parse_json.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.parse_json.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.parse_json.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: failed to parse json: expected value at line 1 column 1
- error.parse_json.jsonnet:1:14-30: function <builtin_parse_json> call
\ No newline at end of file
+ error.parse_json.jsonnet:1:14-28: function <builtin_parse_json> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.recursive_function_nonterm.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.recursive_function_nonterm.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.recursive_function_nonterm.jsonnet.golden
@@ -1,201 +1,201 @@
stack overflow, try to reduce recursion, or set --max-stack to bigger value
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:18:4-8: function <f> call
- error.recursive_function_nonterm.jsonnet:20:2-7: function <f> call
\ No newline at end of file
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:18:4-6: function <f> call
+ error.recursive_function_nonterm.jsonnet:20:2-5: function <f> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.recursive_import.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.recursive_import.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.recursive_import.jsonnet.golden
@@ -1,2 +1,2 @@
infinite recursion detected
- error.recursive_import.jsonnet:17:15-22: import
\ No newline at end of file
+ error.recursive_import.jsonnet:17:15-20: import
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.sanity.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.sanity.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.sanity.jsonnet.golden
@@ -1,4 +1,4 @@
runtime error: assertion failed: A != B
A: 1
B: 2
- error.sanity.jsonnet:17:16-23: function <builtin_assert_equal> call
\ No newline at end of file
+ error.sanity.jsonnet:17:16-21: function <builtin_assert_equal> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.std_join_types1.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.std_join_types1.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.std_join_types1.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: in std.join all items should be strings
- error.std_join_types1.jsonnet:17:9-27: function <builtin_join> call
\ No newline at end of file
+ error.std_join_types1.jsonnet:17:9-25: function <builtin_join> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.std_join_types2.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.std_join_types2.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.std_join_types2.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: in std.join all items should be arrays
- error.std_join_types2.jsonnet:17:9-32: function <builtin_join> call
\ No newline at end of file
+ error.std_join_types2.jsonnet:17:9-30: function <builtin_join> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.std_makeArray_negative.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.std_makeArray_negative.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.std_makeArray_negative.jsonnet.golden
@@ -1,3 +1,3 @@
type error: number out of bounds: -10 not in 0..4294967295
argument <sz> evaluation
- error.std_makeArray_negative.jsonnet:17:14-38: function <builtin_make_array> call
\ No newline at end of file
+ error.std_makeArray_negative.jsonnet:17:14-36: function <builtin_make_array> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.std_maxArray.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.std_maxArray.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.std_maxArray.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: expected non-empty array
- error.std_maxArray.jsonnet:1:13-18: function <builtin_max_array> call
\ No newline at end of file
+ error.std_maxArray.jsonnet:1:13-16: function <builtin_max_array> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.std_minArray.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.std_minArray.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.std_minArray.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: expected non-empty array
- error.std_minArray.jsonnet:1:13-18: function <builtin_min_array> call
\ No newline at end of file
+ error.std_minArray.jsonnet:1:13-16: function <builtin_min_array> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.std_parseJson.nodigitsep.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.std_parseJson.nodigitsep.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.std_parseJson.nodigitsep.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: failed to parse json: trailing characters at line 1 column 4
- error.std_parseJson.nodigitsep.jsonnet:1:14-26: function <builtin_parse_json> call
\ No newline at end of file
+ error.std_parseJson.nodigitsep.jsonnet:1:14-24: function <builtin_parse_json> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.std_parseYaml1.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.std_parseYaml1.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.std_parseYaml1.jsonnet.golden
@@ -3,4 +3,4 @@
|
1 | a: b:
| ^ mapping values are not allowed in this context
- error.std_parseYaml1.jsonnet:1:14-24: function <builtin_parse_yaml> call
\ No newline at end of file
+ error.std_parseYaml1.jsonnet:1:14-22: function <builtin_parse_yaml> call
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.trace_three_param.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.trace_three_param.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.trace_three_param.jsonnet.golden
@@ -1,4 +1,4 @@
too many args, function has 2
Function has the following signature: (str, rest = <default>)
- error.trace_three_param.jsonnet:17:20-33: function <builtin_trace> preparation
+ error.trace_three_param.jsonnet:17:20-31: function <builtin_trace> preparation
field <a> evaluation
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.trace_zero_param.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.trace_zero_param.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.trace_zero_param.jsonnet.golden
@@ -1,4 +1,4 @@
function argument is not passed: str
Function has the following signature: (str, rest = <default>)
- error.trace_zero_param.jsonnet:17:20-23: function <builtin_trace> preparation
+ error.trace_zero_param.jsonnet:17:20-21: function <builtin_trace> preparation
field <a> evaluation
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.verbatim_import.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.verbatim_import.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.verbatim_import.jsonnet.golden
@@ -1 +1 @@
-can't resolve C:\can't possibly exist~ from /home/lach/build/jrsonnet-pr/tests/cpp_test_suite/error.verbatim_import.jsonnet
\ No newline at end of file
+import file not found C:\can't possibly exist~ from error.verbatim_import.jsonnet
\ No newline at end of file
tests/cpp_test_suite_golden_override/error.wrong_type.jsonnet.goldendiffbeforeafterboth--- a/tests/cpp_test_suite_golden_override/error.wrong_type.jsonnet.golden
+++ b/tests/cpp_test_suite_golden_override/error.wrong_type.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected char, got number
argument <str> evaluation
- error.wrong_type.jsonnet:1:14-19: function <builtin_codepoint> call
\ No newline at end of file
+ error.wrong_type.jsonnet:1:14-17: function <builtin_codepoint> call
\ No newline at end of file
tests/go_testdata_golden_override/arrcomp_if6.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/arrcomp_if6.jsonnet.golden
+++ b/tests/go_testdata_golden_override/arrcomp_if6.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: x
- arrcomp_if6.jsonnet:1:20-26: error statement
\ No newline at end of file
+ arrcomp_if6.jsonnet:1:20-24: error statement
\ No newline at end of file
tests/go_testdata_golden_override/assert3.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/assert3.jsonnet.golden
+++ b/tests/go_testdata_golden_override/assert3.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- assert3.jsonnet:1:8-17: assertion failure
\ No newline at end of file
+ assert3.jsonnet:1:8-15: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/assert_equal4.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/assert_equal4.jsonnet.golden
+++ b/tests/go_testdata_golden_override/assert_equal4.jsonnet.golden
@@ -5,4 +5,4 @@
B: {
"x": 2
}
- assert_equal4.jsonnet:1:16-33: function <builtin_assert_equal> call
\ No newline at end of file
+ assert_equal4.jsonnet:1:16-31: function <builtin_assert_equal> call
\ No newline at end of file
tests/go_testdata_golden_override/assert_equal5.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/assert_equal5.jsonnet.golden
+++ b/tests/go_testdata_golden_override/assert_equal5.jsonnet.golden
@@ -7,4 +7,4 @@
</B>
- assert_equal5.jsonnet:1:16-30: function <builtin_assert_equal> call
\ No newline at end of file
+ assert_equal5.jsonnet:1:16-28: function <builtin_assert_equal> call
\ No newline at end of file
tests/go_testdata_golden_override/assert_equal6.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/assert_equal6.jsonnet.golden
+++ b/tests/go_testdata_golden_override/assert_equal6.jsonnet.golden
@@ -5,4 +5,4 @@
B: <B>
</B>
- assert_equal6.jsonnet:1:16-35: function <builtin_assert_equal> call
\ No newline at end of file
+ assert_equal6.jsonnet:1:16-33: function <builtin_assert_equal> call
\ No newline at end of file
tests/go_testdata_golden_override/assert_failed.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/assert_failed.jsonnet.golden
+++ b/tests/go_testdata_golden_override/assert_failed.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- assert_failed.jsonnet:1:8-14: assertion failure
\ No newline at end of file
+ assert_failed.jsonnet:1:8-12: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/assert_failed_custom.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/assert_failed_custom.jsonnet.golden
+++ b/tests/go_testdata_golden_override/assert_failed_custom.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: Custom Message
- assert_failed_custom.jsonnet:1:8-14: assertion failure
\ No newline at end of file
+ assert_failed_custom.jsonnet:1:8-12: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/bad_function_call.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/bad_function_call.jsonnet.golden
+++ b/tests/go_testdata_golden_override/bad_function_call.jsonnet.golden
@@ -1,3 +1,3 @@
function argument is not passed: x
Function has the following signature: (x)
- bad_function_call.jsonnet:1:16-19: function <builtin_id> preparation
\ No newline at end of file
+ bad_function_call.jsonnet:1:16-17: function <builtin_id> preparation
\ No newline at end of file
tests/go_testdata_golden_override/bad_function_call2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/bad_function_call2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/bad_function_call2.jsonnet.golden
@@ -1,3 +1,3 @@
too many args, function has 1
Function has the following signature: (x)
- bad_function_call2.jsonnet:1:16-23: function <builtin_id> preparation
\ No newline at end of file
+ bad_function_call2.jsonnet:1:16-21: function <builtin_id> preparation
\ No newline at end of file
tests/go_testdata_golden_override/bad_function_call_and_error.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/bad_function_call_and_error.jsonnet.golden
+++ b/tests/go_testdata_golden_override/bad_function_call_and_error.jsonnet.golden
@@ -1,3 +1,3 @@
too many args, function has 1
Function has the following signature: (x)
- bad_function_call_and_error.jsonnet:1:16-39: function <builtin_id> preparation
\ No newline at end of file
+ bad_function_call_and_error.jsonnet:1:16-37: function <builtin_id> preparation
\ No newline at end of file
tests/go_testdata_golden_override/bitwise_and4.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/bitwise_and4.jsonnet.golden
+++ b/tests/go_testdata_golden_override/bitwise_and4.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: x
- bitwise_and4.jsonnet:1:5-11: error statement
\ No newline at end of file
+ bitwise_and4.jsonnet:1:5-9: error statement
\ No newline at end of file
tests/go_testdata_golden_override/bitwise_xor7.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/bitwise_xor7.jsonnet.golden
+++ b/tests/go_testdata_golden_override/bitwise_xor7.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: x
- bitwise_xor7.jsonnet:1:5-11: error statement
\ No newline at end of file
+ bitwise_xor7.jsonnet:1:5-9: error statement
\ No newline at end of file
tests/go_testdata_golden_override/builtinBase64DecodeBytes_high_codepoint.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinBase64DecodeBytes_high_codepoint.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinBase64DecodeBytes_high_codepoint.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: invalid base64: Invalid symbol 196, offset 0.
- builtinBase64DecodeBytes_high_codepoint.jsonnet:1:22-30: function <builtin_base64_decode_bytes> call
\ No newline at end of file
+ builtinBase64DecodeBytes_high_codepoint.jsonnet:1:22-28: function <builtin_base64_decode_bytes> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinBase64DecodeBytes_invalid_base64_data.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinBase64DecodeBytes_invalid_base64_data.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinBase64DecodeBytes_invalid_base64_data.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: invalid base64: Invalid input length: 5
- builtinBase64DecodeBytes_invalid_base64_data.jsonnet:1:22-32: function <builtin_base64_decode_bytes> call
\ No newline at end of file
+ builtinBase64DecodeBytes_invalid_base64_data.jsonnet:1:22-30: function <builtin_base64_decode_bytes> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinBase64DecodeBytes_wrong_type.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinBase64DecodeBytes_wrong_type.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinBase64DecodeBytes_wrong_type.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected string, got number
argument <str> evaluation
- builtinBase64DecodeBytes_wrong_type.jsonnet:1:22-26: function <builtin_base64_decode_bytes> call
\ No newline at end of file
+ builtinBase64DecodeBytes_wrong_type.jsonnet:1:22-24: function <builtin_base64_decode_bytes> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinBase64Decode_high_codepoint.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinBase64Decode_high_codepoint.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinBase64Decode_high_codepoint.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: invalid base64: Invalid symbol 196, offset 0.
- builtinBase64Decode_high_codepoint.jsonnet:1:17-25: function <builtin_base64_decode> call
\ No newline at end of file
+ builtinBase64Decode_high_codepoint.jsonnet:1:17-23: function <builtin_base64_decode> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinBase64Decode_invalid_base64_data.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinBase64Decode_invalid_base64_data.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinBase64Decode_invalid_base64_data.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: invalid base64: Invalid input length: 5
- builtinBase64Decode_invalid_base64_data.jsonnet:1:17-27: function <builtin_base64_decode> call
\ No newline at end of file
+ builtinBase64Decode_invalid_base64_data.jsonnet:1:17-25: function <builtin_base64_decode> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinBase64Decode_wrong_type.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinBase64Decode_wrong_type.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinBase64Decode_wrong_type.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected string, got number
argument <str> evaluation
- builtinBase64Decode_wrong_type.jsonnet:1:17-21: function <builtin_base64_decode> call
\ No newline at end of file
+ builtinBase64Decode_wrong_type.jsonnet:1:17-19: function <builtin_base64_decode> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinBase64_invalid_byte_array.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array.jsonnet.golden
@@ -2,4 +2,4 @@
- expected string, got array
- expected BoundedNumber<0, 255>, got string at self[1]
argument <input> evaluation
- builtinBase64_invalid_byte_array.jsonnet:1:11-24: function <builtin_base64> call
\ No newline at end of file
+ builtinBase64_invalid_byte_array.jsonnet:1:11-22: function <builtin_base64> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinBase64_invalid_byte_array1.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array1.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array1.jsonnet.golden
@@ -2,4 +2,4 @@
- expected string, got array
- number out of bounds: -1 not in 0..255 at self[1]
argument <input> evaluation
- builtinBase64_invalid_byte_array1.jsonnet:1:11-21: function <builtin_base64> call
\ No newline at end of file
+ builtinBase64_invalid_byte_array1.jsonnet:1:11-19: function <builtin_base64> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinBase64_invalid_byte_array2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinBase64_invalid_byte_array2.jsonnet.golden
@@ -2,4 +2,4 @@
- expected string, got array
- number out of bounds: 256 not in 0..255 at self[1]
argument <input> evaluation
- builtinBase64_invalid_byte_array2.jsonnet:1:11-22: function <builtin_base64> call
\ No newline at end of file
+ builtinBase64_invalid_byte_array2.jsonnet:1:11-20: function <builtin_base64> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinBase64_non_string_non_array.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinBase64_non_string_non_array.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinBase64_non_string_non_array.jsonnet.golden
@@ -2,4 +2,4 @@
- expected string, got number
- expected Array<BoundedNumber<0, 255>>, got number
argument <input> evaluation
- builtinBase64_non_string_non_array.jsonnet:1:11-15: function <builtin_base64> call
\ No newline at end of file
+ builtinBase64_non_string_non_array.jsonnet:1:11-13: function <builtin_base64> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinChar3.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinChar3.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinChar3.jsonnet.golden
@@ -1,3 +1,3 @@
type error: number out of bounds: -1 not in 0..4294967295
argument <n> evaluation
- builtinChar3.jsonnet:1:9-14: function <builtin_char> call
\ No newline at end of file
+ builtinChar3.jsonnet:1:9-12: function <builtin_char> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinChar5.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinChar5.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinChar5.jsonnet.golden
@@ -1,2 +1,2 @@
invalid unicode codepoint: 1114112
- builtinChar5.jsonnet:2:9-19: function <builtin_char> call
\ No newline at end of file
+ builtinChar5.jsonnet:2:9-17: function <builtin_char> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinChar7.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinChar7.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinChar7.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected BoundedNumber<0, 4294967295>, got string
argument <n> evaluation
- builtinChar7.jsonnet:1:9-17: function <builtin_char> call
\ No newline at end of file
+ builtinChar7.jsonnet:1:9-15: function <builtin_char> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinIsEmpty2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinIsEmpty2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinIsEmpty2.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected string, got number
argument <str> evaluation
- builtinIsEmpty2.jsonnet:1:12-17: function <builtin_is_empty> call
\ No newline at end of file
+ builtinIsEmpty2.jsonnet:1:12-15: function <builtin_is_empty> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinManifestJsonEx_cyclic.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinManifestJsonEx_cyclic.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinManifestJsonEx_cyclic.jsonnet.golden
@@ -198,4 +198,4 @@
field <a> manifestification
field <a> manifestification
field <a> manifestification
- builtinManifestJsonEx_cyclic.jsonnet:1:19-33: function <builtin_manifest_json_ex> call
\ No newline at end of file
+ builtinManifestJsonEx_cyclic.jsonnet:1:19-31: function <builtin_manifest_json_ex> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinObjectFieldsEx_bad.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinObjectFieldsEx_bad.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinObjectFieldsEx_bad.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected object, got number
argument <obj> evaluation
- builtinObjectFieldsEx_bad.jsonnet:1:19-30: function <builtin_object_fields_ex> call
\ No newline at end of file
+ builtinObjectFieldsEx_bad.jsonnet:1:19-28: function <builtin_object_fields_ex> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinObjectFieldsEx_bad2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinObjectFieldsEx_bad2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinObjectFieldsEx_bad2.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected boolean, got string
argument <hidden> evaluation
- builtinObjectFieldsEx_bad2.jsonnet:1:19-31: function <builtin_object_fields_ex> call
\ No newline at end of file
+ builtinObjectFieldsEx_bad2.jsonnet:1:19-29: function <builtin_object_fields_ex> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinObjectHasExBadBoolean.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinObjectHasExBadBoolean.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinObjectHasExBadBoolean.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected boolean, got string
argument <hidden> evaluation
- builtinObjectHasExBadBoolean.jsonnet:1:16-35: function <builtin_object_has_ex> call
\ No newline at end of file
+ builtinObjectHasExBadBoolean.jsonnet:1:16-33: function <builtin_object_has_ex> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinObjectHasExBadField.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinObjectHasExBadField.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinObjectHasExBadField.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected string, got number
argument <fname> evaluation
- builtinObjectHasExBadField.jsonnet:1:16-32: function <builtin_object_has_ex> call
\ No newline at end of file
+ builtinObjectHasExBadField.jsonnet:1:16-30: function <builtin_object_has_ex> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinObjectHasExBadObject.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinObjectHasExBadObject.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinObjectHasExBadObject.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected object, got number
argument <obj> evaluation
- builtinObjectHasExBadObject.jsonnet:1:16-33: function <builtin_object_has_ex> call
\ No newline at end of file
+ builtinObjectHasExBadObject.jsonnet:1:16-31: function <builtin_object_has_ex> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinObjectRemoveKey_super_assert.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinObjectRemoveKey_super_assert.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinObjectRemoveKey_super_assert.jsonnet.golden
@@ -1,2 +1,2 @@
no such field: x
- builtinObjectRemoveKey_super_assert.jsonnet:2:10-17: assertion condition
\ No newline at end of file
+ builtinObjectRemoveKey_super_assert.jsonnet:2:10-15: assertion condition
\ No newline at end of file
tests/go_testdata_golden_override/builtinReverse_not_array.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinReverse_not_array.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinReverse_not_array.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected array, got boolean
argument <arr> evaluation
- builtinReverse_not_array.jsonnet:1:12-20: function <builtin_reverse> call
\ No newline at end of file
+ builtinReverse_not_array.jsonnet:1:12-18: function <builtin_reverse> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinSplitLimitR5.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinSplitLimitR5.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinSplitLimitR5.jsonnet.golden
@@ -2,4 +2,4 @@
- number out of bounds: -2 not in 0..9007199254740991
- number out of bounds: -2 not in -1..-1
argument <maxsplits> evaluation
- builtinSplitLimitR5.jsonnet:1:16-45: function <builtin_splitlimitr> call
\ No newline at end of file
+ builtinSplitLimitR5.jsonnet:1:16-43: function <builtin_splitlimitr> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinSubStr_first_param_not_string.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinSubStr_first_param_not_string.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinSubStr_first_param_not_string.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected string, got number
argument <str> evaluation
- builtinSubStr_first_param_not_string.jsonnet:1:11-21: function <builtin_substr> call
\ No newline at end of file
+ builtinSubStr_first_param_not_string.jsonnet:1:11-19: function <builtin_substr> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinSubStr_second_parameter_not_integer.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinSubStr_second_parameter_not_integer.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinSubStr_second_parameter_not_integer.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: cannot convert number with fractional part to usize
argument <from> evaluation
- builtinSubStr_second_parameter_not_integer.jsonnet:1:11-29: function <builtin_substr> call
\ No newline at end of file
+ builtinSubStr_second_parameter_not_integer.jsonnet:1:11-27: function <builtin_substr> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinSubStr_second_parameter_not_number.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinSubStr_second_parameter_not_number.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinSubStr_second_parameter_not_number.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected BoundedNumber<0, 9007199254740991>, got string
argument <from> evaluation
- builtinSubStr_second_parameter_not_number.jsonnet:1:11-31: function <builtin_substr> call
\ No newline at end of file
+ builtinSubStr_second_parameter_not_number.jsonnet:1:11-29: function <builtin_substr> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinSubStr_third_parameter_less_then_zero.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinSubStr_third_parameter_less_then_zero.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinSubStr_third_parameter_less_then_zero.jsonnet.golden
@@ -1,3 +1,3 @@
type error: number out of bounds: -1 not in 0..9007199254740991
argument <len> evaluation
- builtinSubStr_third_parameter_less_then_zero.jsonnet:1:11-28: function <builtin_substr> call
\ No newline at end of file
+ builtinSubStr_third_parameter_less_then_zero.jsonnet:1:11-26: function <builtin_substr> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinSubStr_third_parameter_not_integer.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinSubStr_third_parameter_not_integer.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinSubStr_third_parameter_not_integer.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: cannot convert number with fractional part to usize
argument <len> evaluation
- builtinSubStr_third_parameter_not_integer.jsonnet:1:11-29: function <builtin_substr> call
\ No newline at end of file
+ builtinSubStr_third_parameter_not_integer.jsonnet:1:11-27: function <builtin_substr> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinSubStr_third_parameter_not_number.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinSubStr_third_parameter_not_number.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinSubStr_third_parameter_not_number.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected BoundedNumber<0, 9007199254740991>, got string
argument <len> evaluation
- builtinSubStr_third_parameter_not_number.jsonnet:1:11-31: function <builtin_substr> call
\ No newline at end of file
+ builtinSubStr_third_parameter_not_number.jsonnet:1:11-29: function <builtin_substr> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinTrim4.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinTrim4.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinTrim4.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected string, got number
argument <str> evaluation
- builtinTrim4.jsonnet:1:9-14: function <builtin_trim> call
\ No newline at end of file
+ builtinTrim4.jsonnet:1:9-12: function <builtin_trim> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinXnor2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinXnor2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinXnor2.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected boolean, got string
argument <x> evaluation
- builtinXnor2.jsonnet:1:9-25: function <builtin_xnor> call
\ No newline at end of file
+ builtinXnor2.jsonnet:1:9-23: function <builtin_xnor> call
\ No newline at end of file
tests/go_testdata_golden_override/builtinXor2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtinXor2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtinXor2.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected boolean, got string
argument <x> evaluation
- builtinXor2.jsonnet:1:8-24: function <builtin_xor> call
\ No newline at end of file
+ builtinXor2.jsonnet:1:8-22: function <builtin_xor> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_exp3.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_exp3.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_exp3.jsonnet.golden
@@ -1,2 +1,2 @@
convert num value: non-finite
- builtin_exp3.jsonnet:1:8-15: function <builtin_exp> call
\ No newline at end of file
+ builtin_exp3.jsonnet:1:8-13: function <builtin_exp> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_exp5.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_exp5.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_exp5.jsonnet.golden
@@ -1,2 +1,2 @@
convert num value: non-finite
- builtin_exp5.jsonnet:1:8-32: function <builtin_exp> call
\ No newline at end of file
+ builtin_exp5.jsonnet:1:8-30: function <builtin_exp> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_log5.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_log5.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_log5.jsonnet.golden
@@ -1,2 +1,2 @@
convert num value: non-finite
- builtin_log5.jsonnet:1:8-12: function <builtin_log> call
\ No newline at end of file
+ builtin_log5.jsonnet:1:8-10: function <builtin_log> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_log7.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_log7.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_log7.jsonnet.golden
@@ -1,2 +1,2 @@
convert num value: non-finite
- builtin_log7.jsonnet:1:8-13: function <builtin_log> call
\ No newline at end of file
+ builtin_log7.jsonnet:1:8-11: function <builtin_log> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_log8.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_log8.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_log8.jsonnet.golden
@@ -1,2 +1,2 @@
convert num value: non-finite
- builtin_log8.jsonnet:1:8-25: function <builtin_log> call
\ No newline at end of file
+ builtin_log8.jsonnet:1:8-23: function <builtin_log> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_manifestTomlEx_array.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_manifestTomlEx_array.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_manifestTomlEx_array.jsonnet.golden
@@ -1,4 +1,4 @@
type error: expected object, got array
argument <value> evaluation
- builtin_manifestTomlEx_array.jsonnet:11:28-42: function <builtin_manifest_toml_ex> call
+ builtin_manifestTomlEx_array.jsonnet:11:28-40: function <builtin_manifest_toml_ex> call
field <array> evaluation
\ No newline at end of file
tests/go_testdata_golden_override/builtin_manifestTomlEx_cyclic.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_manifestTomlEx_cyclic.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_manifestTomlEx_cyclic.jsonnet.golden
@@ -198,4 +198,4 @@
section <a> manifestification
section <b> manifestification
section <a> manifestification
- builtin_manifestTomlEx_cyclic.jsonnet:1:19-38: function <builtin_manifest_toml_ex> call
\ No newline at end of file
+ builtin_manifestTomlEx_cyclic.jsonnet:1:19-36: function <builtin_manifest_toml_ex> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_manifestTomlEx_null.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_manifestTomlEx_null.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_manifestTomlEx_null.jsonnet.golden
@@ -1,4 +1,4 @@
type error: expected object, got null
argument <value> evaluation
- builtin_manifestTomlEx_null.jsonnet:2:29-43: function <builtin_manifest_toml_ex> call
+ builtin_manifestTomlEx_null.jsonnet:2:29-41: function <builtin_manifest_toml_ex> call
field <null> evaluation
\ No newline at end of file
tests/go_testdata_golden_override/builtin_manifestYamlDoc_cyclic.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_manifestYamlDoc_cyclic.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_manifestYamlDoc_cyclic.jsonnet.golden
@@ -198,4 +198,4 @@
field <a> manifestification
field <a> manifestification
field <a> manifestification
- builtin_manifestYamlDoc_cyclic.jsonnet:1:20-29: function <builtin_manifest_yaml_doc> call
\ No newline at end of file
+ builtin_manifestYamlDoc_cyclic.jsonnet:1:20-27: function <builtin_manifest_yaml_doc> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_member_object_invalid.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_member_object_invalid.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_member_object_invalid.jsonnet.golden
@@ -2,4 +2,4 @@
- expected array, got object
- expected string, got object
argument <arr> evaluation
- builtin_member_object_invalid.jsonnet:1:11-32: function <builtin_member> call
\ No newline at end of file
+ builtin_member_object_invalid.jsonnet:1:11-30: function <builtin_member> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_parseInt_invalid.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_parseInt_invalid.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_parseInt_invalid.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: "hello" is not a base 10 integer
- builtin_parseInt_invalid.jsonnet:1:13-23: function <builtin_parse_int> call
\ No newline at end of file
+ builtin_parseInt_invalid.jsonnet:1:13-21: function <builtin_parse_int> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_parseInt_invalid_decimal.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_parseInt_invalid_decimal.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_parseInt_invalid_decimal.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: "123.12" is not a base 10 integer
- builtin_parseInt_invalid_decimal.jsonnet:1:13-24: function <builtin_parse_int> call
\ No newline at end of file
+ builtin_parseInt_invalid_decimal.jsonnet:1:13-22: function <builtin_parse_int> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_parseInt_invalid_hexadecimal.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_parseInt_invalid_hexadecimal.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_parseInt_invalid_hexadecimal.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: "7B316" is not a base 10 integer
- builtin_parseInt_invalid_hexadecimal.jsonnet:1:13-23: function <builtin_parse_int> call
\ No newline at end of file
+ builtin_parseInt_invalid_hexadecimal.jsonnet:1:13-21: function <builtin_parse_int> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_sqrt2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_sqrt2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_sqrt2.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected BoundedNumber<0, open>, got string
argument <x> evaluation
- builtin_sqrt2.jsonnet:1:9-20: function <builtin_sqrt> call
\ No newline at end of file
+ builtin_sqrt2.jsonnet:1:9-18: function <builtin_sqrt> call
\ No newline at end of file
tests/go_testdata_golden_override/builtin_stripChars_invalid.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/builtin_stripChars_invalid.jsonnet.golden
+++ b/tests/go_testdata_golden_override/builtin_stripChars_invalid.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected string, got object
argument <str> evaluation
- builtin_stripChars_invalid.jsonnet:1:15-4133: function <builtin_strip_chars> call
\ No newline at end of file
+ builtin_stripChars_invalid.jsonnet:1:15-4131: function <builtin_strip_chars> call
\ No newline at end of file
tests/go_testdata_golden_override/double_thunk.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/double_thunk.jsonnet.golden
+++ b/tests/go_testdata_golden_override/double_thunk.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: xxx
- double_thunk.jsonnet:1:21-27: error statement
\ No newline at end of file
+ double_thunk.jsonnet:1:21-25: error statement
\ No newline at end of file
tests/go_testdata_golden_override/error.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/error.jsonnet.golden
+++ b/tests/go_testdata_golden_override/error.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: 42
- error.jsonnet:1:1-7: error statement
\ No newline at end of file
+ error.jsonnet:1:1-5: error statement
\ No newline at end of file
tests/go_testdata_golden_override/error_from_array.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/error_from_array.jsonnet.golden
+++ b/tests/go_testdata_golden_override/error_from_array.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: xxx
- error_from_array.jsonnet:1:2-8: error statement
- error_from_array.jsonnet:1:15-17: element <0> access
\ No newline at end of file
+ error_from_array.jsonnet:1:2-6: error statement
+ error_from_array.jsonnet:1:15-15: element <0> access
\ No newline at end of file
tests/go_testdata_golden_override/error_from_func.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/error_from_func.jsonnet.golden
+++ b/tests/go_testdata_golden_override/error_from_func.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: xxx
- error_from_func.jsonnet:1:25-31: error statement
- error_from_func.jsonnet:1:37-45: function <foo> call
\ No newline at end of file
+ error_from_func.jsonnet:1:25-29: error statement
+ error_from_func.jsonnet:1:37-43: function <foo> call
\ No newline at end of file
tests/go_testdata_golden_override/error_function_fail.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/error_function_fail.jsonnet.golden
+++ b/tests/go_testdata_golden_override/error_function_fail.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: tried to manifest function
- error_function_fail.jsonnet:1:1-7: error statement
\ No newline at end of file
+ error_function_fail.jsonnet:1:1-5: error statement
\ No newline at end of file
tests/go_testdata_golden_override/error_hexnumber.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/error_hexnumber.jsonnet.golden
+++ b/tests/go_testdata_golden_override/error_hexnumber.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: expected end of file, got identifier "x42"
- error_hexnumber.jsonnet:1:2
\ No newline at end of file
+ error_hexnumber.jsonnet:1:2
+ error_hexnumber.jsonnet:1:2-4: parse imported
\ No newline at end of file
tests/go_testdata_golden_override/error_in_method.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/error_in_method.jsonnet.golden
+++ b/tests/go_testdata_golden_override/error_in_method.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: xxx
- error_in_method.jsonnet:1:23-29: error statement
- error_in_method.jsonnet:1:41-49: function <foo> call
\ No newline at end of file
+ error_in_method.jsonnet:1:23-27: error statement
+ error_in_method.jsonnet:1:41-47: function <foo> call
\ No newline at end of file
tests/go_testdata_golden_override/error_in_object_local.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/error_in_object_local.jsonnet.golden
+++ b/tests/go_testdata_golden_override/error_in_object_local.jsonnet.golden
@@ -1,4 +1,4 @@
runtime error: xxx
- error_in_object_local.jsonnet:1:20-26: error statement
- error_in_object_local.jsonnet:1:39-47: function <foo> call
+ error_in_object_local.jsonnet:1:20-24: error statement
+ error_in_object_local.jsonnet:1:39-45: function <foo> call
field <baz> evaluation
\ No newline at end of file
tests/go_testdata_golden_override/error_object.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/error_object.jsonnet.golden
+++ b/tests/go_testdata_golden_override/error_object.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: {"blah": 42}
- error_object.jsonnet:1:1-7: error statement
\ No newline at end of file
+ error_object.jsonnet:1:1-5: error statement
\ No newline at end of file
tests/go_testdata_golden_override/extvar_error.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/extvar_error.jsonnet.golden
+++ b/tests/go_testdata_golden_override/extvar_error.jsonnet.golden
@@ -1,2 +1,2 @@
external variable is not defined: errorVar
- extvar_error.jsonnet:1:11-24: function <builtin_ext_var> call
\ No newline at end of file
+ extvar_error.jsonnet:1:11-22: function <builtin_ext_var> call
\ No newline at end of file
tests/go_testdata_golden_override/extvar_hermetic.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/extvar_hermetic.jsonnet.golden
+++ b/tests/go_testdata_golden_override/extvar_hermetic.jsonnet.golden
@@ -1,2 +1,2 @@
external variable is not defined: UndeclaredX
- extvar_hermetic.jsonnet:1:25-41: function <builtin_ext_var> call
\ No newline at end of file
+ extvar_hermetic.jsonnet:1:25-39: function <builtin_ext_var> call
\ No newline at end of file
tests/go_testdata_golden_override/extvar_not_a_string.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/extvar_not_a_string.jsonnet.golden
+++ b/tests/go_testdata_golden_override/extvar_not_a_string.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected string, got number
argument <x> evaluation
- extvar_not_a_string.jsonnet:1:11-16: function <builtin_ext_var> call
\ No newline at end of file
+ extvar_not_a_string.jsonnet:1:11-14: function <builtin_ext_var> call
\ No newline at end of file
tests/go_testdata_golden_override/extvar_static_error.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/extvar_static_error.jsonnet.golden
+++ b/tests/go_testdata_golden_override/extvar_static_error.jsonnet.golden
@@ -1,2 +1,2 @@
external variable is not defined: staticErrorVar
- extvar_static_error.jsonnet:1:11-30: function <builtin_ext_var> call
\ No newline at end of file
+ extvar_static_error.jsonnet:1:11-28: function <builtin_ext_var> call
\ No newline at end of file
tests/go_testdata_golden_override/extvar_unknown.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/extvar_unknown.jsonnet.golden
+++ b/tests/go_testdata_golden_override/extvar_unknown.jsonnet.golden
@@ -1,2 +1,2 @@
external variable is not defined: UNKNOWN
- extvar_unknown.jsonnet:1:11-23: function <builtin_ext_var> call
\ No newline at end of file
+ extvar_unknown.jsonnet:1:11-21: function <builtin_ext_var> call
\ No newline at end of file
tests/go_testdata_golden_override/import_block_literal.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/import_block_literal.jsonnet.golden
+++ b/tests/go_testdata_golden_override/import_block_literal.jsonnet.golden
@@ -1,2 +1,2 @@
-can't resolve block_literals_for_imports_are_not_allowed_and_make_exactly_zero_sense
- from /home/lach/build/jrsonnet-pr/tests/go_testdata/import_block_literal.jsonnet
\ No newline at end of file
+import file not found block_literals_for_imports_are_not_allowed_and_make_exactly_zero_sense
+ from import_block_literal.jsonnet
\ No newline at end of file
tests/go_testdata_golden_override/import_syntax_error.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/import_syntax_error.jsonnet.golden
+++ b/tests/go_testdata_golden_override/import_syntax_error.jsonnet.golden
@@ -1,3 +1,4 @@
syntax error: unexpected end of file
syntax_error.jsonnet:1:4
- import_syntax_error.jsonnet:1:1-8: import
\ No newline at end of file
+ syntax_error.jsonnet:1:4-0:0: parse imported
+ import_syntax_error.jsonnet:1:1-6: import
\ No newline at end of file
tests/go_testdata_golden_override/importbin_block_literal.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/importbin_block_literal.jsonnet.golden
+++ b/tests/go_testdata_golden_override/importbin_block_literal.jsonnet.golden
@@ -1,2 +1,2 @@
-can't resolve block_literals_for_imports_are_not_allowed_and_make_exactly_zero_sense
- from /home/lach/build/jrsonnet-pr/tests/go_testdata/importbin_block_literal.jsonnet
\ No newline at end of file
+import file not found block_literals_for_imports_are_not_allowed_and_make_exactly_zero_sense
+ from importbin_block_literal.jsonnet
\ No newline at end of file
tests/go_testdata_golden_override/importstr_block_literal.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/importstr_block_literal.jsonnet.golden
+++ b/tests/go_testdata_golden_override/importstr_block_literal.jsonnet.golden
@@ -1,2 +1,2 @@
-can't resolve block_literals_for_imports_are_not_allowed_and_make_exactly_zero_sense
- from /home/lach/build/jrsonnet-pr/tests/go_testdata/importstr_block_literal.jsonnet
\ No newline at end of file
+import file not found block_literals_for_imports_are_not_allowed_and_make_exactly_zero_sense
+ from importstr_block_literal.jsonnet
\ No newline at end of file
tests/go_testdata_golden_override/lazy_operator2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/lazy_operator2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/lazy_operator2.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: should happen
- lazy_operator2.jsonnet:1:9-15: error statement
\ No newline at end of file
+ lazy_operator2.jsonnet:1:9-13: error statement
\ No newline at end of file
tests/go_testdata_golden_override/nonexistent_import.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/nonexistent_import.jsonnet.golden
+++ b/tests/go_testdata_golden_override/nonexistent_import.jsonnet.golden
@@ -1 +1 @@
-can't resolve no chance a file with this name exists from /home/lach/build/jrsonnet-pr/tests/go_testdata/nonexistent_import.jsonnet
\ No newline at end of file
+import file not found no chance a file with this name exists from nonexistent_import.jsonnet
\ No newline at end of file
tests/go_testdata_golden_override/nonexistent_import_crazy.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/nonexistent_import_crazy.jsonnet.golden
+++ b/tests/go_testdata_golden_override/nonexistent_import_crazy.jsonnet.golden
@@ -1,3 +1,3 @@
-can't resolve ąęółńśćźż " '
+import file not found ąęółńśćźż " '
- from /home/lach/build/jrsonnet-pr/tests/go_testdata/nonexistent_import_crazy.jsonnet
\ No newline at end of file
+ from nonexistent_import_crazy.jsonnet
\ No newline at end of file
tests/go_testdata_golden_override/object_comp_assert.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_comp_assert.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_comp_assert.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: asserts are unsupported in object comprehension
- object_comp_assert.jsonnet:1:46
\ No newline at end of file
+ object_comp_assert.jsonnet:1:46
+ object_comp_assert.jsonnet:1:46-46: parse imported
\ No newline at end of file
tests/go_testdata_golden_override/object_comp_err_elem.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_comp_err_elem.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_comp_err_elem.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: xxx
- object_comp_err_elem.jsonnet:1:11-17: error statement
+ object_comp_err_elem.jsonnet:1:11-15: error statement
field <x> evaluation
\ No newline at end of file
tests/go_testdata_golden_override/object_comp_err_index.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_comp_err_index.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_comp_err_index.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: xxx
- object_comp_err_index.jsonnet:1:4-10: error statement
+ object_comp_err_index.jsonnet:1:4-8: error statement
evaluating field name
\ No newline at end of file
tests/go_testdata_golden_override/object_comp_illegal.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_comp_illegal.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_comp_illegal.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: missing object comprehension field
- object_comp_illegal.jsonnet:1:34
\ No newline at end of file
+ object_comp_illegal.jsonnet:1:34
+ object_comp_illegal.jsonnet:1:34-34: parse imported
\ No newline at end of file
tests/go_testdata_golden_override/object_invariant10.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_invariant10.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_invariant10.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- object_invariant10.jsonnet:1:23-29: assertion failure
\ No newline at end of file
+ object_invariant10.jsonnet:1:23-27: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/object_invariant11.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_invariant11.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_invariant11.jsonnet.golden
@@ -1,3 +1,3 @@
assert failed: null
- object_invariant11.jsonnet:1:10-16: assertion failure
- object_invariant11.jsonnet:1:18-20: field <x> access
\ No newline at end of file
+ object_invariant11.jsonnet:1:10-14: assertion failure
+ object_invariant11.jsonnet:1:18-18: field <x> access
\ No newline at end of file
tests/go_testdata_golden_override/object_invariant13.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_invariant13.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_invariant13.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: x
- object_invariant13.jsonnet:1:10-16: error statement
- object_invariant13.jsonnet:1:10-20: assertion condition
\ No newline at end of file
+ object_invariant13.jsonnet:1:10-14: error statement
+ object_invariant13.jsonnet:1:10-18: assertion condition
\ No newline at end of file
tests/go_testdata_golden_override/object_invariant14.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_invariant14.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_invariant14.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: xxx
- object_invariant14.jsonnet:1:10-16: assertion failure
\ No newline at end of file
+ object_invariant14.jsonnet:1:10-14: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/object_invariant2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_invariant2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_invariant2.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- object_invariant2.jsonnet:1:10-16: assertion failure
\ No newline at end of file
+ object_invariant2.jsonnet:1:10-14: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/object_invariant7.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_invariant7.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_invariant7.jsonnet.golden
@@ -1,2 +1,2 @@
no super found
- object_invariant7.jsonnet:1:16-29: assertion condition
\ No newline at end of file
+ object_invariant7.jsonnet:1:16-27: assertion condition
\ No newline at end of file
tests/go_testdata_golden_override/object_invariant8.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_invariant8.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_invariant8.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- object_invariant8.jsonnet:1:16-28: assertion failure
\ No newline at end of file
+ object_invariant8.jsonnet:1:16-26: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/object_invariant9.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_invariant9.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_invariant9.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- object_invariant9.jsonnet:1:23-29: assertion failure
\ No newline at end of file
+ object_invariant9.jsonnet:1:23-27: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/object_invariant_plus.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_invariant_plus.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_invariant_plus.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- object_invariant_plus.jsonnet:1:9-15: assertion failure
\ No newline at end of file
+ object_invariant_plus.jsonnet:1:9-13: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/object_invariant_plus2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_invariant_plus2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_invariant_plus2.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- object_invariant_plus2.jsonnet:1:25-31: assertion failure
\ No newline at end of file
+ object_invariant_plus2.jsonnet:1:25-29: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/object_invariant_plus6.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/object_invariant_plus6.jsonnet.golden
+++ b/tests/go_testdata_golden_override/object_invariant_plus6.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: xxx
- object_invariant_plus6.jsonnet:1:10-16: assertion failure
\ No newline at end of file
+ object_invariant_plus6.jsonnet:1:10-14: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/optional_args11.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/optional_args11.jsonnet.golden
+++ b/tests/go_testdata_golden_override/optional_args11.jsonnet.golden
@@ -1,2 +1,2 @@
argument x is already bound
- optional_args11.jsonnet:1:20-31: function <anonymous> preparation
\ No newline at end of file
+ optional_args11.jsonnet:1:20-29: function <anonymous> preparation
\ No newline at end of file
tests/go_testdata_golden_override/optional_args13.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/optional_args13.jsonnet.golden
+++ b/tests/go_testdata_golden_override/optional_args13.jsonnet.golden
@@ -1,3 +1,3 @@
function argument is not passed: y
Function has the following signature: (x, y)
- optional_args13.jsonnet:1:20-27: function <anonymous> preparation
\ No newline at end of file
+ optional_args13.jsonnet:1:20-25: function <anonymous> preparation
\ No newline at end of file
tests/go_testdata_golden_override/optional_args8.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/optional_args8.jsonnet.golden
+++ b/tests/go_testdata_golden_override/optional_args8.jsonnet.golden
@@ -1,2 +1,2 @@
parameter y is not defined
- optional_args8.jsonnet:2:4-11: function <foo> preparation
\ No newline at end of file
+ optional_args8.jsonnet:2:4-9: function <foo> preparation
\ No newline at end of file
tests/go_testdata_golden_override/optional_args9.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/optional_args9.jsonnet.golden
+++ b/tests/go_testdata_golden_override/optional_args9.jsonnet.golden
@@ -1,2 +1,2 @@
argument x is already bound
- optional_args9.jsonnet:1:16-27: function <builtin_id> preparation
\ No newline at end of file
+ optional_args9.jsonnet:1:16-25: function <builtin_id> preparation
\ No newline at end of file
tests/go_testdata_golden_override/or4.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/or4.jsonnet.golden
+++ b/tests/go_testdata_golden_override/or4.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: xxx
- or4.jsonnet:1:10-16: error statement
\ No newline at end of file
+ or4.jsonnet:1:10-14: error statement
\ No newline at end of file
tests/go_testdata_golden_override/pow4.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/pow4.jsonnet.golden
+++ b/tests/go_testdata_golden_override/pow4.jsonnet.golden
@@ -1,2 +1,2 @@
convert num value: non-finite
- pow4.jsonnet:1:8-18: function <builtin_pow> call
\ No newline at end of file
+ pow4.jsonnet:1:8-16: function <builtin_pow> call
\ No newline at end of file
tests/go_testdata_golden_override/pow7.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/pow7.jsonnet.golden
+++ b/tests/go_testdata_golden_override/pow7.jsonnet.golden
@@ -1,2 +1,2 @@
convert num value: non-finite
- pow7.jsonnet:2:8-24: function <builtin_pow> call
\ No newline at end of file
+ pow7.jsonnet:2:8-22: function <builtin_pow> call
\ No newline at end of file
tests/go_testdata_golden_override/pow8.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/pow8.jsonnet.golden
+++ b/tests/go_testdata_golden_override/pow8.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected number, got string
argument <x> evaluation
- pow8.jsonnet:1:8-20: function <builtin_pow> call
\ No newline at end of file
+ pow8.jsonnet:1:8-18: function <builtin_pow> call
\ No newline at end of file
tests/go_testdata_golden_override/pow9.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/pow9.jsonnet.golden
+++ b/tests/go_testdata_golden_override/pow9.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected number, got string
argument <n> evaluation
- pow9.jsonnet:1:8-20: function <builtin_pow> call
\ No newline at end of file
+ pow9.jsonnet:1:8-18: function <builtin_pow> call
\ No newline at end of file
tests/go_testdata_golden_override/recursive_thunk.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/recursive_thunk.jsonnet.golden
+++ b/tests/go_testdata_golden_override/recursive_thunk.jsonnet.golden
@@ -1,8 +1,8 @@
runtime error: xxx
- recursive_thunk.jsonnet:1:35-41: error statement
- recursive_thunk.jsonnet:2:19-39: function <bar> call
- recursive_thunk.jsonnet:2:23-31: function <foo> call
- recursive_thunk.jsonnet:2:19-39: function <bar> call
- recursive_thunk.jsonnet:2:23-31: function <foo> call
- recursive_thunk.jsonnet:2:19-39: function <bar> call
- recursive_thunk.jsonnet:3:4-8: function <foo> call
\ No newline at end of file
+ recursive_thunk.jsonnet:1:35-39: error statement
+ recursive_thunk.jsonnet:2:19-37: function <bar> call
+ recursive_thunk.jsonnet:2:23-29: function <foo> call
+ recursive_thunk.jsonnet:2:19-37: function <bar> call
+ recursive_thunk.jsonnet:2:23-29: function <foo> call
+ recursive_thunk.jsonnet:2:19-37: function <bar> call
+ recursive_thunk.jsonnet:3:4-6: function <foo> call
\ No newline at end of file
tests/go_testdata_golden_override/stacktrace_assert.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/stacktrace_assert.jsonnet.golden
+++ b/tests/go_testdata_golden_override/stacktrace_assert.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- stacktrace_assert.jsonnet:1:10-16: assertion failure
\ No newline at end of file
+ stacktrace_assert.jsonnet:1:10-14: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/static_error_eof.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/static_error_eof.jsonnet.golden
+++ b/tests/go_testdata_golden_override/static_error_eof.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: expected ';', got end of file
- static_error_eof.jsonnet:1:12
\ No newline at end of file
+ static_error_eof.jsonnet:1:12
+ static_error_eof.jsonnet:1:12-0:0: parse imported
\ No newline at end of file
tests/go_testdata_golden_override/std.codepoint3.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.codepoint3.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.codepoint3.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected char, got string
argument <str> evaluation
- std.codepoint3.jsonnet:1:14-21: function <builtin_codepoint> call
\ No newline at end of file
+ std.codepoint3.jsonnet:1:14-19: function <builtin_codepoint> call
\ No newline at end of file
tests/go_testdata_golden_override/std.codepoint6.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.codepoint6.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.codepoint6.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected char, got string
argument <str> evaluation
- std.codepoint6.jsonnet:1:14-19: function <builtin_codepoint> call
\ No newline at end of file
+ std.codepoint6.jsonnet:1:14-17: function <builtin_codepoint> call
\ No newline at end of file
tests/go_testdata_golden_override/std.codepoint7.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.codepoint7.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.codepoint7.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected char, got string
argument <str> evaluation
- std.codepoint7.jsonnet:2:0-2:0: function <builtin_codepoint> call
\ No newline at end of file
+ std.codepoint7.jsonnet:2:14-0:0: function <builtin_codepoint> call
\ No newline at end of file
tests/go_testdata_golden_override/std.codepoint8.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.codepoint8.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.codepoint8.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected char, got number
argument <str> evaluation
- std.codepoint8.jsonnet:1:14-19: function <builtin_codepoint> call
\ No newline at end of file
+ std.codepoint8.jsonnet:1:14-17: function <builtin_codepoint> call
\ No newline at end of file
tests/go_testdata_golden_override/std.filter2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.filter2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.filter2.jsonnet.golden
@@ -1,4 +1,4 @@
runtime error: x
- std.filter2.jsonnet:1:12-18: error statement
+ std.filter2.jsonnet:1:12-16: error statement
argument <func> evaluation
- std.filter2.jsonnet:1:11-27: function <builtin_filter> call
\ No newline at end of file
+ std.filter2.jsonnet:1:11-25: function <builtin_filter> call
\ No newline at end of file
tests/go_testdata_golden_override/std.filter4.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.filter4.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.filter4.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected function, got number
argument <func> evaluation
- std.filter4.jsonnet:1:11-20: function <builtin_filter> call
\ No newline at end of file
+ std.filter4.jsonnet:1:11-18: function <builtin_filter> call
\ No newline at end of file
tests/go_testdata_golden_override/std.filter5.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.filter5.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.filter5.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected array, got number
argument <arr> evaluation
- std.filter5.jsonnet:1:11-32: function <builtin_filter> call
\ No newline at end of file
+ std.filter5.jsonnet:1:11-30: function <builtin_filter> call
\ No newline at end of file
tests/go_testdata_golden_override/std.filter6.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.filter6.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.filter6.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected function, got number
argument <func> evaluation
- std.filter6.jsonnet:1:11-22: function <builtin_filter> call
\ No newline at end of file
+ std.filter6.jsonnet:1:11-20: function <builtin_filter> call
\ No newline at end of file
tests/go_testdata_golden_override/std.filter8.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.filter8.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.filter8.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected function, got array
argument <func> evaluation
- std.filter8.jsonnet:1:11-37: function <builtin_filter> call
\ No newline at end of file
+ std.filter8.jsonnet:1:11-35: function <builtin_filter> call
\ No newline at end of file
tests/go_testdata_golden_override/std.filter_swapped_args.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.filter_swapped_args.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.filter_swapped_args.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected function, got array
argument <func> evaluation
- std.filter_swapped_args.jsonnet:1:11-39: function <builtin_filter> call
\ No newline at end of file
+ std.filter_swapped_args.jsonnet:1:11-37: function <builtin_filter> call
\ No newline at end of file
tests/go_testdata_golden_override/std.flatmap5.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.flatmap5.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.flatmap5.jsonnet.golden
@@ -1,5 +1,5 @@
runtime error: a
- std.flatmap5.jsonnet:1:21-27: error statement
- std.flatmap5.jsonnet:2:21-49: function <builtin_flatmap> call
+ std.flatmap5.jsonnet:1:21-25: error statement
+ std.flatmap5.jsonnet:2:21-47: function <builtin_flatmap> call
argument <x> evaluation
- std.flatmap5.jsonnet:2:9-50: function <builtin_type> call
\ No newline at end of file
+ std.flatmap5.jsonnet:2:9-48: function <builtin_type> call
\ No newline at end of file
tests/go_testdata_golden_override/std.join7.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.join7.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.join7.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: in std.join all items should be strings
- std.join7.jsonnet:1:9-28: function <builtin_join> call
\ No newline at end of file
+ std.join7.jsonnet:1:9-26: function <builtin_join> call
\ No newline at end of file
tests/go_testdata_golden_override/std.join8.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.join8.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.join8.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: in std.join all items should be arrays
- std.join8.jsonnet:1:9-34: function <builtin_join> call
\ No newline at end of file
+ std.join8.jsonnet:1:9-32: function <builtin_join> call
\ No newline at end of file
tests/go_testdata_golden_override/std.makeArrayNamed3.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.makeArrayNamed3.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.makeArrayNamed3.jsonnet.golden
@@ -1,2 +1,2 @@
parameter blahblah is not defined
- std.makeArrayNamed3.jsonnet:1:14-55: function <builtin_make_array> preparation
\ No newline at end of file
+ std.makeArrayNamed3.jsonnet:1:14-53: function <builtin_make_array> preparation
\ No newline at end of file
tests/go_testdata_golden_override/std.makeArray_bad.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.makeArray_bad.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.makeArray_bad.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected BoundedNumber<0, 4294967295>, got string
argument <sz> evaluation
- std.makeArray_bad.jsonnet:1:14-37: function <builtin_make_array> call
\ No newline at end of file
+ std.makeArray_bad.jsonnet:1:14-35: function <builtin_make_array> call
\ No newline at end of file
tests/go_testdata_golden_override/std.makeArray_bad2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.makeArray_bad2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.makeArray_bad2.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected function, got string
argument <func> evaluation
- std.makeArray_bad2.jsonnet:1:14-26: function <builtin_make_array> call
\ No newline at end of file
+ std.makeArray_bad2.jsonnet:1:14-24: function <builtin_make_array> call
\ No newline at end of file
tests/go_testdata_golden_override/std.makeArray_noninteger.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.makeArray_noninteger.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.makeArray_noninteger.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: cannot convert number with fractional part to u32
argument <sz> evaluation
- std.makeArray_noninteger.jsonnet:1:14-35: function <builtin_make_array> call
\ No newline at end of file
+ std.makeArray_noninteger.jsonnet:1:14-33: function <builtin_make_array> call
\ No newline at end of file
tests/go_testdata_golden_override/std.makeArray_noninteger_big.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.makeArray_noninteger_big.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.makeArray_noninteger_big.jsonnet.golden
@@ -1,3 +1,3 @@
type error: number out of bounds: 10000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000 not in 0..4294967295
argument <sz> evaluation
- std.makeArray_noninteger_big.jsonnet:1:14-37: function <builtin_make_array> call
\ No newline at end of file
+ std.makeArray_noninteger_big.jsonnet:1:14-35: function <builtin_make_array> call
\ No newline at end of file
tests/go_testdata_golden_override/std.manifestYamlDoc_error.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.manifestYamlDoc_error.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.manifestYamlDoc_error.jsonnet.golden
@@ -1,5 +1,5 @@
runtime error: foo
- std.manifestYamlDoc_error.jsonnet:1:31-37: error statement
+ std.manifestYamlDoc_error.jsonnet:1:31-35: error statement
field <y> evaluation
field <x> manifestification
- std.manifestYamlDoc_error.jsonnet:1:20-48: function <builtin_manifest_yaml_doc> call
\ No newline at end of file
+ std.manifestYamlDoc_error.jsonnet:1:20-46: function <builtin_manifest_yaml_doc> call
\ No newline at end of file
tests/go_testdata_golden_override/std.maxArrayOnEmpty.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.maxArrayOnEmpty.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.maxArrayOnEmpty.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: expected non-empty array
- std.maxArrayOnEmpty.jsonnet:1:13-18: function <builtin_max_array> call
\ No newline at end of file
+ std.maxArrayOnEmpty.jsonnet:1:13-16: function <builtin_max_array> call
\ No newline at end of file
tests/go_testdata_golden_override/std.md5_6.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.md5_6.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.md5_6.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected string, got number
argument <s> evaluation
- std.md5_6.jsonnet:1:8-13: function <builtin_md5> call
\ No newline at end of file
+ std.md5_6.jsonnet:1:8-11: function <builtin_md5> call
\ No newline at end of file
tests/go_testdata_golden_override/std.minArrayOnEmpty.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.minArrayOnEmpty.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.minArrayOnEmpty.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: expected non-empty array
- std.minArrayOnEmpty.jsonnet:1:13-18: function <builtin_min_array> call
\ No newline at end of file
+ std.minArrayOnEmpty.jsonnet:1:13-16: function <builtin_min_array> call
\ No newline at end of file
tests/go_testdata_golden_override/std.modulo2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.modulo2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.modulo2.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected number, got string
argument <x> evaluation
- std.modulo2.jsonnet:1:11-23: function <builtin_modulo> call
\ No newline at end of file
+ std.modulo2.jsonnet:1:11-21: function <builtin_modulo> call
\ No newline at end of file
tests/go_testdata_golden_override/std.modulo3.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.modulo3.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.modulo3.jsonnet.golden
@@ -1,3 +1,3 @@
type error: expected number, got string
argument <x> evaluation
- std.modulo3.jsonnet:1:11-23: function <builtin_modulo> call
\ No newline at end of file
+ std.modulo3.jsonnet:1:11-21: function <builtin_modulo> call
\ No newline at end of file
tests/go_testdata_golden_override/std.primitiveEquals10.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.primitiveEquals10.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.primitiveEquals10.jsonnet.golden
@@ -1,4 +1,4 @@
runtime error: x
- std.primitiveEquals10.jsonnet:1:21-27: error statement
+ std.primitiveEquals10.jsonnet:1:21-25: error statement
argument <x> evaluation
- std.primitiveEquals10.jsonnet:1:20-36: function <builtin_primitive_equals> call
\ No newline at end of file
+ std.primitiveEquals10.jsonnet:1:20-34: function <builtin_primitive_equals> call
\ No newline at end of file
tests/go_testdata_golden_override/std.primitiveEquals13.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.primitiveEquals13.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.primitiveEquals13.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: primitiveEquals operates on primitive types, got array
- std.primitiveEquals13.jsonnet:1:20-29: function <builtin_primitive_equals> call
\ No newline at end of file
+ std.primitiveEquals13.jsonnet:1:20-27: function <builtin_primitive_equals> call
\ No newline at end of file
tests/go_testdata_golden_override/std.primitiveEquals6.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.primitiveEquals6.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.primitiveEquals6.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: primitiveEquals operates on primitive types, got object
- std.primitiveEquals6.jsonnet:1:20-29: function <builtin_primitive_equals> call
\ No newline at end of file
+ std.primitiveEquals6.jsonnet:1:20-27: function <builtin_primitive_equals> call
\ No newline at end of file
tests/go_testdata_golden_override/std.primitiveEquals7.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.primitiveEquals7.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.primitiveEquals7.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: cannot test equality of functions
- std.primitiveEquals7.jsonnet:1:20-51: function <builtin_primitive_equals> call
\ No newline at end of file
+ std.primitiveEquals7.jsonnet:1:20-49: function <builtin_primitive_equals> call
\ No newline at end of file
tests/go_testdata_golden_override/std.primitiveEquals9.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.primitiveEquals9.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.primitiveEquals9.jsonnet.golden
@@ -1,4 +1,4 @@
runtime error: x
- std.primitiveEquals9.jsonnet:1:25-31: error statement
+ std.primitiveEquals9.jsonnet:1:25-29: error statement
argument <y> evaluation
- std.primitiveEquals9.jsonnet:1:20-36: function <builtin_primitive_equals> call
\ No newline at end of file
+ std.primitiveEquals9.jsonnet:1:20-34: function <builtin_primitive_equals> call
\ No newline at end of file
tests/go_testdata_golden_override/std.sort3.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.sort3.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.sort3.jsonnet.golden
@@ -1,3 +1,3 @@
runtime error: foo
- std.sort3.jsonnet:1:16-22: error statement
- std.sort3.jsonnet:1:9-30: function <builtin_sort> call
\ No newline at end of file
+ std.sort3.jsonnet:1:16-20: error statement
+ std.sort3.jsonnet:1:9-28: function <builtin_sort> call
\ No newline at end of file
tests/go_testdata_golden_override/std.sort4.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.sort4.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.sort4.jsonnet.golden
@@ -1,2 +1,2 @@
binary operation array < number is not implemented
- std.sort4.jsonnet:1:9-30: function <builtin_sort> call
\ No newline at end of file
+ std.sort4.jsonnet:1:9-28: function <builtin_sort> call
\ No newline at end of file
tests/go_testdata_golden_override/std.toString5.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/std.toString5.jsonnet.golden
+++ b/tests/go_testdata_golden_override/std.toString5.jsonnet.golden
@@ -1,4 +1,4 @@
runtime error: x
- std.toString5.jsonnet:1:14-20: error statement
+ std.toString5.jsonnet:1:14-18: error statement
argument <a> evaluation
- std.toString5.jsonnet:1:13-25: function <builtin_to_string> call
\ No newline at end of file
+ std.toString5.jsonnet:1:13-23: function <builtin_to_string> call
\ No newline at end of file
tests/go_testdata_golden_override/strReplace3.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/strReplace3.jsonnet.golden
+++ b/tests/go_testdata_golden_override/strReplace3.jsonnet.golden
@@ -1,2 +1,2 @@
runtime error: `from` string must not be zero length
- strReplace3.jsonnet:1:15-36: function <builtin_str_replace> call
\ No newline at end of file
+ strReplace3.jsonnet:1:15-34: function <builtin_str_replace> call
\ No newline at end of file
tests/go_testdata_golden_override/supersugar8.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/supersugar8.jsonnet.golden
+++ b/tests/go_testdata_golden_override/supersugar8.jsonnet.golden
@@ -1,2 +1,2 @@
assert failed: null
- supersugar8.jsonnet:1:10-17: assertion failure
\ No newline at end of file
+ supersugar8.jsonnet:1:10-15: assertion failure
\ No newline at end of file
tests/go_testdata_golden_override/syntax_error.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/syntax_error.jsonnet.golden
+++ b/tests/go_testdata_golden_override/syntax_error.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: unexpected end of file
- syntax_error.jsonnet:1:4
\ No newline at end of file
+ syntax_error.jsonnet:1:4
+ syntax_error.jsonnet:1:4-0:0: parse imported
\ No newline at end of file
tests/go_testdata_golden_override/tailstrict2.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/tailstrict2.jsonnet.golden
+++ b/tests/go_testdata_golden_override/tailstrict2.jsonnet.golden
@@ -1,4 +1,4 @@
runtime error: xxx
- tailstrict2.jsonnet:1:13-19: error statement
- tailstrict2.jsonnet:2:15-19: function <e> call
- tailstrict2.jsonnet:2:19-27: function <anonymous> call
\ No newline at end of file
+ tailstrict2.jsonnet:1:13-17: error statement
+ tailstrict2.jsonnet:2:15-17: function <e> call
+ tailstrict2.jsonnet:2:19-25: function <anonymous> call
\ No newline at end of file
tests/go_testdata_golden_override/too_many_arguments.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/too_many_arguments.jsonnet.golden
+++ b/tests/go_testdata_golden_override/too_many_arguments.jsonnet.golden
@@ -1,3 +1,3 @@
too many args, function has 3
Function has the following signature: (x, y, z)
- too_many_arguments.jsonnet:1:23-36: function <anonymous> preparation
\ No newline at end of file
+ too_many_arguments.jsonnet:1:23-34: function <anonymous> preparation
\ No newline at end of file
tests/go_testdata_golden_override/type_error.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/type_error.jsonnet.golden
+++ b/tests/go_testdata_golden_override/type_error.jsonnet.golden
@@ -1,4 +1,4 @@
runtime error: xxx
- type_error.jsonnet:1:10-16: error statement
+ type_error.jsonnet:1:10-14: error statement
argument <x> evaluation
- type_error.jsonnet:1:9-23: function <builtin_type> call
\ No newline at end of file
+ type_error.jsonnet:1:9-21: function <builtin_type> call
\ No newline at end of file
tests/go_testdata_golden_override/unfinished_args.jsonnet.goldendiffbeforeafterboth--- a/tests/go_testdata_golden_override/unfinished_args.jsonnet.golden
+++ b/tests/go_testdata_golden_override/unfinished_args.jsonnet.golden
@@ -1,2 +1,3 @@
syntax error: expected ')', got end of file
- unfinished_args.jsonnet:1:17
\ No newline at end of file
+ unfinished_args.jsonnet:1:17
+ unfinished_args.jsonnet:1:17-0:0: parse imported
\ No newline at end of file
tests/tests/cpp_test_suite.rsdiffbeforeafterboth--- a/tests/tests/cpp_test_suite.rs
+++ b/tests/tests/cpp_test_suite.rs
@@ -21,7 +21,8 @@
fn run(file: &Path, root: &Path) -> String {
let mut s = State::builder();
- let std_context = ContextInitializer::new(PathResolver::Relative(root.to_owned()));
+ let resolver = PathResolver::Relative(root.to_owned());
+ let std_context = ContextInitializer::new(resolver.clone());
// C++ test suite
std_context.add_ext_str("var1".into(), "test".into());
std_context
@@ -59,7 +60,7 @@
let _entered = s.enter();
let trace_format = CompactFormat {
- resolver: PathResolver::FileName,
+ resolver: resolver.clone(),
max_trace: 20,
padding: 4,
};
@@ -168,14 +169,9 @@
"string_times_number.jsonnet",
];
-#[test]
-fn cpp_test_suite() -> io::Result<()> {
- for root_dir in ["cpp_test_suite", "go_testdata"] {
- let root_tests = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
- let root = root_tests.join(root_dir);
- let root_override = root_tests.join(format!("{root_dir}_golden_override"));
-
- for entry in fs::read_dir(&root).map_err(|e| io::Error::other(format!("failed to enumerate cpp_test_suite dir (Note: it needs to be cloned from C++ jsonnet repo for this test): {e}")))? {
+fn run_test_suite(root: PathBuf, root_override: PathBuf) -> io::Result<()> {
+ dbg!(&root);
+ for entry in fs::read_dir(&root).map_err(|e| io::Error::other(format!("failed to enumerate test suite dir (Note: it needs to be cloned from upstream jsonnet repo for this test): {e}")))? {
let entry = entry?;
if entry.path().extension().is_none_or(|e| e != "jsonnet") {
continue;
@@ -265,6 +261,25 @@
}
println!("done!");
}
+ Ok(())
+}
+
+#[test]
+fn upstream_test_suite() -> io::Result<()> {
+ let manifest = PathBuf::from(env!("CARGO_MANIFEST_DIR"));
+ if let Some(cpp_jsonnet) = std::env::var_os("CPP_JSONNET_FOR_TESTS") {
+ let path = PathBuf::from(cpp_jsonnet).join("test_suite");
+ let path_override = manifest.join("cpp_test_suite_golden_override");
+ run_test_suite(path, path_override)?;
+ } else {
+ eprintln!("no cpp jsonnet available for tests");
+ }
+ if let Some(go_jsonnet) = std::env::var_os("GO_JSONNET_FOR_TESTS") {
+ let path = PathBuf::from(go_jsonnet).join("testdata");
+ let path_override = manifest.join("go_testdata_golden_override");
+ run_test_suite(path, path_override)?;
+ } else {
+ eprintln!("no go jsonnet available for tests");
}
jrsonnet_gcmodule::with_thread_object_space(ObjectSpace::leak);
tests/tests/snapshots/golden__golden@issue187.rev.jsonnet.snapdiffbeforeafterboth--- a/tests/tests/snapshots/golden__golden@issue187.rev.jsonnet.snap
+++ b/tests/tests/snapshots/golden__golden@issue187.rev.jsonnet.snap
@@ -4,4 +4,4 @@
input_file: tests/golden/issue187.rev.jsonnet
---
runtime error: bad utf8
- issue187.rev.jsonnet:1:15-92: function <builtin_decode_utf8> call
+ issue187.rev.jsonnet:1:15-90: function <builtin_decode_utf8> call
tests/tests/snapshots/golden__golden@issue23.jsonnet.snapdiffbeforeafterboth--- a/tests/tests/snapshots/golden__golden@issue23.jsonnet.snap
+++ b/tests/tests/snapshots/golden__golden@issue23.jsonnet.snap
@@ -4,4 +4,4 @@
input_file: tests/golden/issue23.jsonnet
---
infinite recursion detected
- issue23.jsonnet:1:1-8: import
+ issue23.jsonnet:1:1-6: import
tests/tests/snapshots/golden__golden@issue40.jsonnet.snapdiffbeforeafterboth--- a/tests/tests/snapshots/golden__golden@issue40.jsonnet.snap
+++ b/tests/tests/snapshots/golden__golden@issue40.jsonnet.snap
@@ -4,5 +4,5 @@
input_file: tests/golden/issue40.jsonnet
---
assert failed: is number
- issue40.jsonnet:6:10-31: assertion failure
- issue40.jsonnet:9:19-32: function <builtin_manifest_json_ex> call
+ issue40.jsonnet:6:10-29: assertion failure
+ issue40.jsonnet:9:19-30: function <builtin_manifest_json_ex> call
tests/tests/snapshots/golden__golden@test_assertThrow.jsonnet.snapdiffbeforeafterboth--- a/tests/tests/snapshots/golden__golden@test_assertThrow.jsonnet.snap
+++ b/tests/tests/snapshots/golden__golden@test_assertThrow.jsonnet.snap
@@ -4,4 +4,4 @@
input_file: tests/golden/test_assertThrow.jsonnet
---
runtime error: expected argument to throw on evaluation, but it returned instead
- test_assertThrow.jsonnet:2:17-26: function <assert_throw> call
+ test_assertThrow.jsonnet:2:17-24: function <assert_throw> call
xtask/Cargo.tomldiffbeforeafterboth--- a/xtask/Cargo.toml
+++ b/xtask/Cargo.toml
@@ -17,3 +17,6 @@
ungrammar.workspace = true
xshell.workspace = true
clap = { workspace = true, features = ["derive"] }
+
+[target.'cfg(target_os = "linux")'.dependencies]
+nix.workspace = true
xtask/src/bench.rsdiffbeforeafterboth--- /dev/null
+++ b/xtask/src/bench.rs
@@ -0,0 +1,140 @@
+use std::{
+ ffi::OsString,
+ mem,
+ process::{Command, Stdio},
+ time::Instant,
+};
+
+use anyhow::{bail, Result};
+use nix::{libc, sys::wait::WaitStatus, unistd::Pid};
+
+#[derive(Debug, Clone)]
+pub struct Stats {
+ pub min: f64,
+ pub max: f64,
+ pub mean: f64,
+ pub stddev: f64,
+}
+
+impl Stats {
+ fn from_samples(samples: &[f64]) -> Self {
+ let n = samples.len() as f64;
+ let mean = samples.iter().sum::<f64>() / n;
+ let var = if samples.len() > 1 {
+ samples.iter().map(|x| (x - mean).powi(2)).sum::<f64>() / (n - 1.0)
+ } else {
+ 0.0
+ };
+ Self {
+ min: samples.iter().copied().fold(f64::INFINITY, f64::min),
+ max: samples.iter().copied().fold(f64::NEG_INFINITY, f64::max),
+ mean,
+ stddev: var.sqrt(),
+ }
+ }
+}
+
+#[derive(Debug, Clone)]
+pub struct BenchResult {
+ pub runs: u32,
+ /// Wall-clock time per run, seconds.
+ pub wall_secs: Stats,
+ /// Peak resident set per run, KiB (Linux `ru_maxrss`).
+ pub max_rss_kib: Stats,
+}
+
+pub struct BenchOpts<'a> {
+ pub program: &'a OsString,
+ pub args: &'a [OsString],
+ pub runs: u32,
+ pub warmup: u32,
+ pub output: bool,
+}
+
+pub fn bench(opts: BenchOpts<'_>) -> Result<BenchResult> {
+ if opts.runs == 0 {
+ bail!("runs must be >= 1");
+ }
+
+ for _ in 0..opts.warmup {
+ run_once(opts.program, opts.args, opts.output)?;
+ }
+
+ let mut wall = Vec::with_capacity(opts.runs as usize);
+ let mut rss = Vec::with_capacity(opts.runs as usize);
+ for _ in 0..opts.runs {
+ let s = run_once(opts.program, opts.args, opts.output)?;
+ wall.push(s.wall_secs);
+ rss.push(s.max_rss_kib as f64);
+ }
+
+ Ok(BenchResult {
+ runs: opts.runs,
+ wall_secs: Stats::from_samples(&wall),
+ max_rss_kib: Stats::from_samples(&rss),
+ })
+}
+
+struct Sample {
+ wall_secs: f64,
+ max_rss_kib: i64,
+}
+
+fn run_once(program: &OsString, args: &[OsString], silent: bool) -> Result<Sample> {
+ let mut cmd = Command::new(program);
+ cmd.args(args);
+ if silent {
+ cmd.stdout(Stdio::null()).stderr(Stdio::null());
+ }
+
+ let start = Instant::now();
+ let child = cmd.spawn()?;
+ let pid = child.id() as libc::pid_t;
+ // We'll reap via wait4 ourselves; don't let std touch this handle again.
+ mem::forget(child);
+
+ let mut status: libc::c_int = 0;
+ let mut ru: libc::rusage = unsafe { mem::zeroed() };
+ let waited = unsafe { libc::wait4(pid, &raw mut status, 0, &raw mut ru) };
+ let elapsed = start.elapsed();
+ if waited < 0 {
+ return Err(std::io::Error::last_os_error().into());
+ }
+
+ match WaitStatus::from_raw(Pid::from_raw(pid), status)? {
+ WaitStatus::Exited(_, 0) => {}
+ WaitStatus::Exited(_, code) => bail!("child exited with code {code}"),
+ WaitStatus::Signaled(_, sig, _) => bail!("child killed by signal {sig:?}"),
+ other => bail!("unexpected wait status: {other:?}"),
+ }
+
+ Ok(Sample {
+ wall_secs: elapsed.as_secs_f64(),
+ max_rss_kib: ru.ru_maxrss,
+ })
+}
+
+#[cfg(target_os = "linux")]
+pub fn bench_cmd(args: &[String], runs: u32, warmup: u32, output: bool) -> Result<()> {
+ let program = std::ffi::OsString::from(&args[0]);
+ let rest: Vec<std::ffi::OsString> = args[1..].iter().map(Into::into).collect();
+ let r = bench(BenchOpts {
+ program: &program,
+ args: &rest,
+ runs,
+ warmup,
+ output,
+ })?;
+ eprintln!(
+ "runs: {} wall: {:.3}s ± {:.3}s [{:.3}..{:.3}]",
+ r.runs, r.wall_secs.mean, r.wall_secs.stddev, r.wall_secs.min, r.wall_secs.max,
+ );
+ eprintln!(
+ " max_rss: {} ± {} KiB [{}..{}]",
+ r.max_rss_kib.mean as i64,
+ r.max_rss_kib.stddev as i64,
+ r.max_rss_kib.min as i64,
+ r.max_rss_kib.max as i64,
+ );
+ Ok(())
+}
xtask/src/main.rsdiffbeforeafterboth--- a/xtask/src/main.rs
+++ b/xtask/src/main.rs
@@ -1,7 +1,11 @@
+#[cfg(not(target_os = "linux"))]
+use anyhow::bail;
use anyhow::Result;
use clap::Parser;
-use xshell::{Shell, cmd};
+use xshell::{cmd, Shell};
+#[cfg(target_os = "linux")]
+mod bench;
mod sourcegen;
#[derive(Parser)]
@@ -35,8 +39,18 @@
test_file: String,
args: Vec<String>,
},
- /// Update C++/Golang golden testsuites from git
- UpdateTestsuites,
+ /// Benchmark a command: repeated runs, reports time + RSS stats (Linux only)
+ Bench {
+ #[arg(long, default_value_t = 10)]
+ runs: u32,
+ #[arg(long, default_value_t = 1)]
+ warmup: u32,
+ /// Show command output
+ #[arg(long, short = 'q')]
+ output: bool,
+ #[arg(trailing_var_arg = true, required = true)]
+ args: Vec<String>,
+ },
}
fn main() -> Result<()> {
@@ -107,36 +121,12 @@
Ok(())
}
- Opts::UpdateTestsuites => {
- let _pushd = sh.push_dir("tests");
- let git_dir = sh.create_temp_dir()?;
- let git_dir_path = git_dir.path();
- cmd!(
- sh,
- "git clone https://github.com/google/jsonnet.git --depth=1 {git_dir_path}/jsonnet"
- )
- .run()?;
- cmd!(
- sh,
- "git clone https://github.com/google/go-jsonnet.git --depth=1 {git_dir_path}/go-jsonnet"
- )
- .run()?;
- sh.remove_path("cpp_test_suite")?;
- sh.remove_path("go_testdata")?;
- sh.remove_path("cpp_perf_tests")?;
- sh.remove_path("cpp_benchmarks")?;
- sh.remove_path("go_builtin_benchmarks")?;
- cmd!(sh, "mv {git_dir_path}/jsonnet/test_suite cpp_test_suite").run()?;
- cmd!(sh, "mv {git_dir_path}/go-jsonnet/testdata go_testdata").run()?;
- cmd!(sh, "mv {git_dir_path}/jsonnet/perf_tests cpp_perf_tests").run()?;
- cmd!(sh, "mv {git_dir_path}/jsonnet/benchmarks cpp_benchmarks").run()?;
- cmd!(
- sh,
- "mv {git_dir_path}/go-jsonnet/builtin-benchmarks go_builtin_benchmarks"
- )
- .run()?;
-
- Ok(())
- }
+ #[cfg(target_os = "linux")]
+ Opts::Bench {
+ runs,
+ warmup,
+ output,
+ args,
+ } => bench::bench_cmd(&args, runs, warmup, output),
}
}