-
Notifications
You must be signed in to change notification settings - Fork 67
Bug when handling assert statements #21
Copy link
Copy link
Closed
Description
Discovered the following behavior difference between sjsonnet and jsonnet.
test.jsonnet:
// Returns true if any key from base is overridden in object
local isAnyKeyOverridden = function (base, object)
local keys = std.objectFields(base);
std.foldl(function(acc, field) acc || base[field] != object[field], keys, false);
local base = {
paramA: null,
paramB: null,
};
base + {
assert !isAnyKeyOverridden(base, $),
}
test2.jsonnet:
local base = import "test.jsonnet";
local Parameterized = base + { paramA:: 3 };
Parameterized
Output from jsonnet test2.jsonnet:
RUNTIME ERROR: Object assertion failed.
../universe/test.jsonnet:12:10-38 thunk <object_assert>
During manifestation
Output from sjsonnet test2.jsonnet:
{
"paramB": null
}
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels