linters+testdata: Reformat all yaml testcases for linting. (#6511)

This commit adds a config for yamllint, mass-reformats all of
the existing Yaml testcases to pass linting, and adds a Yaml
linting job to the pull-request Github Actions workflow. A few 
careful exceptions and ignores were added to the linter's
config to allow keeping our existing Yaml files with minimal
reformatting.

Signed-off-by: Philip Conrad <philipaconrad@gmail.com>
This commit is contained in:
Philip Conrad
2024-01-10 13:16:01 -05:00
committed by GitHub
parent 018b8adc04
commit 63e1877c48
1140 changed files with 30361 additions and 29120 deletions
+14 -2
View File
@@ -128,6 +128,19 @@ jobs:
run: make check run: make check
timeout-minutes: 30 timeout-minutes: 30
yaml-lint:
name: YAML Lint
runs-on: ubuntu-22.04
steps:
- name: Check out code
uses: actions/checkout@v4
- name: YAML Style and Lint Check
run: make check-yaml-tests
timeout-minutes: 30
env:
YAML_LINT_FORMAT: github
wasm: wasm:
name: WASM name: WASM
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
@@ -291,7 +304,6 @@ jobs:
env: env:
DOCKER_RUNNING: 0 DOCKER_RUNNING: 0
# Run PR metadata against Rego policies # Run PR metadata against Rego policies
rego-check-pr: rego-check-pr:
name: Rego PR checks name: Rego PR checks
@@ -315,7 +327,7 @@ jobs:
run: | run: |
curl --silent --fail --header 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -o files.json \ curl --silent --fail --header 'Authorization: Bearer ${{ secrets.GITHUB_TOKEN }}' -o files.json \
https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files https://api.github.com/repos/${{ github.repository }}/pulls/${{ github.event.pull_request.number }}/files
opa eval -d build/policy/files.rego -d build/policy/helpers.rego --format values --input files.json \ opa eval -d build/policy/files.rego -d build/policy/helpers.rego --format values --input files.json \
--fail-defined 'data.files.deny[message]' --fail-defined 'data.files.deny[message]'
env: env:
+12
View File
@@ -0,0 +1,12 @@
extends: default
rules:
# Some of our testcases end up going past the default 80 character limit.
line-length: false
braces:
max-spaces-inside: 1
comments:
min-spaces-from-content: 1
indentation:
ignore:
- test-time-*
+10
View File
@@ -29,6 +29,8 @@ GO_TAGS = -tags=opa_wasm
endif endif
GOLANGCI_LINT_VERSION := v1.51.0 GOLANGCI_LINT_VERSION := v1.51.0
YAML_LINT_VERSION := 0.29.0
YAML_LINT_FORMAT ?= auto
DOCKER_RUNNING ?= $(shell docker ps >/dev/null 2>&1 && echo 1 || echo 0) DOCKER_RUNNING ?= $(shell docker ps >/dev/null 2>&1 && echo 1 || echo 0)
@@ -474,6 +476,14 @@ check-go-module:
$(RELEASE_BUILD_IMAGE) \ $(RELEASE_BUILD_IMAGE) \
/bin/bash -c "git config --system --add safe.directory /src && go mod vendor -v" /bin/bash -c "git config --system --add safe.directory /src && go mod vendor -v"
.PHONY: check-yaml-tests
check-yaml-tests:
ifeq ($(DOCKER_RUNNING), 1)
docker run --rm -v $(shell pwd):/data:ro,Z -w /data pipelinecomponents/yamllint:${YAML_LINT_VERSION} yamllint -f $(YAML_LINT_FORMAT) test/cases/testdata
else
@echo "Docker not installed or running. Skipping yamllint run."
endif
###################################################### ######################################################
# #
# Release targets # Release targets
+5
View File
@@ -15,6 +15,7 @@ Requirements:
- GitHub account (if you are contributing) - GitHub account (if you are contributing)
- Go (version 1.15+ is supported though older versions are likely to work) - Go (version 1.15+ is supported though older versions are likely to work)
- GNU Make - GNU Make
- Python3, pip, yamllint (if linting YAML files manually)
## Getting Started ## Getting Started
@@ -71,6 +72,10 @@ git rebase upstream/main
> Be sure to run `make check` before submitting your pull request. You > Be sure to run `make check` before submitting your pull request. You
> may need to run `go fmt` on your code to make it comply with standard Go > may need to run `go fmt` on your code to make it comply with standard Go
> style. > style.
> For YAML files, you may need to run the `yamllint` tool on the
> `test/cases/testdata` folder to make sure any new tests are well-formatted.
> If you have Docker available, you can run `make check-yaml-tests` to
> run `yamllint` on the tests without installing any Python dependencies.
### Submission ### Submission
+20 -19
View File
@@ -1,21 +1,22 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
__local0__ = data.a __local0__ = data.a
count(__local0__, x) count(__local0__, x)
} }
note: aggregates/count note: aggregates/count
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 4 - 4
+23 -22
View File
@@ -1,25 +1,26 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
__local0__ = [y | data.generated.q[y]] __local0__ = [y | data.generated.q[y]]
count(__local0__, x) count(__local0__, x)
} }
q[x] { q[x] {
x = data.a[_] x = data.a[_]
} }
note: aggregates/count virtual note: aggregates/count virtual
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 4 - 4
+18 -17
View File
@@ -1,19 +1,20 @@
---
cases: cases:
- data: - data:
b: b:
v1: hello v1: hello
v2: goodbye v2: goodbye
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
__local0__ = data.b __local0__ = data.b
count(__local0__, x) count(__local0__, x)
} }
note: aggregates/count keys note: aggregates/count keys
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 2 - 2
+21 -20
View File
@@ -1,23 +1,24 @@
---
cases: cases:
- data: - data:
b: b:
v1: hello v1: hello
v2: goodbye v2: goodbye
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
__local0__ = [k | data.generated.q[k] = _] __local0__ = [k | data.generated.q[k] = _]
count(__local0__, x) count(__local0__, x)
} }
q[k] = v { q[k] = v {
data.b[k] = v data.b[k] = v
} }
note: aggregates/count keys virtual note: aggregates/count keys virtual
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 2 - 2
+21 -20
View File
@@ -1,23 +1,24 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p = x { p = x {
__local0__ = data.generated.q __local0__ = data.generated.q
count(__local0__, x) count(__local0__, x)
} }
q[x] { q[x] {
x = data.a[_] x = data.a[_]
} }
note: aggregates/count set note: aggregates/count set
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 4 - x: 4
+14 -13
View File
@@ -1,15 +1,16 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
sum([1, 2, 3, 4], x) sum([1, 2, 3, 4], x)
} }
note: aggregates/sum note: aggregates/sum
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 10 - 10
+12 -11
View File
@@ -1,13 +1,14 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
sum({1, 2, 3, 4}, x) sum({1, 2, 3, 4}, x)
} }
note: aggregates/sum set note: aggregates/sum set
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 10 - x: 10
+23 -22
View File
@@ -1,25 +1,26 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
__local0__ = [y | data.generated.q[y]] __local0__ = [y | data.generated.q[y]]
sum(__local0__, x) sum(__local0__, x)
} }
q[x] { q[x] {
data.a[_] = x data.a[_] = x
} }
note: aggregates/sum virtual note: aggregates/sum virtual
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 10 - 10
+21 -20
View File
@@ -1,23 +1,24 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p = x { p = x {
__local0__ = data.generated.q __local0__ = data.generated.q
sum(__local0__, x) sum(__local0__, x)
} }
q[x] { q[x] {
data.a[_] = x data.a[_] = x
} }
note: aggregates/sum virtual set note: aggregates/sum virtual set
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 10 - x: 10
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p { p {
sum([49649733057, 1], __local0__) sum([49649733057, 1], __local0__)
__local0__ = 49649733058 __local0__ = 49649733058
} }
note: aggregates/bug 2469 - precision note: aggregates/bug 2469 - precision
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+12 -11
View File
@@ -1,13 +1,14 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p { p {
product([1, 2, 3, 4], 24) product([1, 2, 3, 4], 24)
} }
note: aggregates/product note: aggregates/product
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+12 -11
View File
@@ -1,13 +1,14 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
product({1, 2, 3, 4}, x) product({1, 2, 3, 4}, x)
} }
note: aggregates/product set note: aggregates/product set
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 24 - x: 24
+14 -13
View File
@@ -1,15 +1,16 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
max([1, 2, 3, 4], x) max([1, 2, 3, 4], x)
} }
note: aggregates/max note: aggregates/max
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 4 - 4
+12 -11
View File
@@ -1,13 +1,14 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
max({1, 2, 3, 4}, x) max({1, 2, 3, 4}, x)
} }
note: aggregates/max set note: aggregates/max set
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 4 - x: 4
+23 -22
View File
@@ -1,25 +1,26 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
__local0__ = [y | data.generated.q[y]] __local0__ = [y | data.generated.q[y]]
max(__local0__, x) max(__local0__, x)
} }
q[x] { q[x] {
data.a[_] = x data.a[_] = x
} }
note: aggregates/max virtual note: aggregates/max virtual
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 4 - 4
+21 -20
View File
@@ -1,23 +1,24 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p = x { p = x {
__local0__ = data.generated.q __local0__ = data.generated.q
max(__local0__, x) max(__local0__, x)
} }
q[x] { q[x] {
data.a[_] = x data.a[_] = x
} }
note: aggregates/max virtual set note: aggregates/max virtual set
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 4 - x: 4
+14 -13
View File
@@ -1,15 +1,16 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
min([1, 2, 3, 4], x) min([1, 2, 3, 4], x)
} }
note: aggregates/min note: aggregates/min
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 1 - 1
+14 -13
View File
@@ -1,15 +1,16 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
min([1, 2, 1, 3, 4], x) min([1, 2, 1, 3, 4], x)
} }
note: aggregates/min dups note: aggregates/min dups
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 1 - 1
+14 -13
View File
@@ -1,15 +1,16 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
min([3, 2, 1, 4, 6, -7, 10], x) min([3, 2, 1, 4, 6, -7, 10], x)
} }
note: aggregates/min out-of-order note: aggregates/min out-of-order
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- -7 - -7
+12 -11
View File
@@ -1,13 +1,14 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
min({1, 2, 3, 4}, x) min({1, 2, 3, 4}, x)
} }
note: aggregates/min set note: aggregates/min set
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 1 - x: 1
+23 -22
View File
@@ -1,25 +1,26 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p[x] { p[x] {
__local0__ = [y | data.generated.q[y]] __local0__ = [y | data.generated.q[y]]
min(__local0__, x) min(__local0__, x)
} }
q[x] { q[x] {
data.a[_] = x data.a[_] = x
} }
note: aggregates/min virtual note: aggregates/min virtual
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 1 - 1
+21 -20
View File
@@ -1,23 +1,24 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p = x { p = x {
__local0__ = data.generated.q __local0__ = data.generated.q
min(__local0__, x) min(__local0__, x)
} }
q[x] { q[x] {
data.a[_] = x data.a[_] = x
} }
note: aggregates/min virtual set note: aggregates/min virtual set
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 1 - x: 1
+18 -17
View File
@@ -1,19 +1,20 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p { p {
__local0__ = data.a[3] __local0__ = data.a[3]
max([1, 2, 3, 4], __local0__) max([1, 2, 3, 4], __local0__)
} }
note: aggregates/reduce ref dest note: aggregates/reduce ref dest
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+18 -17
View File
@@ -1,19 +1,20 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p { p {
__local0__ = data.a[3] __local0__ = data.a[3]
not max([1, 2, 3, 4, 5], __local0__) not max([1, 2, 3, 4, 5], __local0__)
} }
note: aggregates/reduce ref dest (2) note: aggregates/reduce ref dest (2)
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+16 -15
View File
@@ -1,17 +1,18 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
sort([4, 3, 2, 1], x) sort([4, 3, 2, 1], x)
} }
note: aggregates/sort note: aggregates/sort
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: - x:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
+16 -15
View File
@@ -1,17 +1,18 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
sort({1, 2, 3, 4}, x) sort({1, 2, 3, 4}, x)
} }
note: aggregates/sort set note: aggregates/sort set
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: - x:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
+21 -20
View File
@@ -1,23 +1,24 @@
---
cases: cases:
- modules: - modules:
- | - |
package generated package generated
p = x { p = x {
count("abcde", x) count("abcde", x)
} }
note: aggregates/count string note: aggregates/count string
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 5 - x: 5
- modules: - modules:
- | - |
package generated package generated
p = x { p = x {
count("åäö", x) count("åäö", x)
} }
note: aggregates/count string note: aggregates/count string
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 3 - x: 3
+27 -26
View File
@@ -1,29 +1,30 @@
---
cases: cases:
- modules: - modules:
- | - |
package generated package generated
p = x { p = x {
count(input.foo, x) count(input.foo, x)
} }
note: aggregates/count error null note: aggregates/count error null
query: data.generated.p = x query: data.generated.p = x
input: input:
foo: null foo: null
strict_error: true strict_error: true
want_error_code: eval_type_error want_error_code: eval_type_error
want_error: 'operand 1 must be one of {array, object, set, string} but got null' want_error: "operand 1 must be one of {array, object, set, string} but got null"
- modules: - modules:
- | - |
package generated package generated
p = x { p = x {
count(input.foo, x) count(input.foo, x)
} }
note: aggregates/count error number note: aggregates/count error number
query: data.generated.p = x query: data.generated.p = x
input: input:
foo: 5 foo: 5
strict_error: true strict_error: true
want_error_code: eval_type_error want_error_code: eval_type_error
want_error: 'operand 1 must be one of {array, object, set, string} but got number' want_error: "operand 1 must be one of {array, object, set, string} but got number"
@@ -1,15 +1,16 @@
---
cases: cases:
- data: - data:
modules: modules:
- | - |
package test package test
p[x] { p[x] {
x := count(base64.decode("2E84ZuPUd7zfvCZSNEchVpDEIj6PL7JfLpIqyxVG16k=")) x := count(base64.decode("2E84ZuPUd7zfvCZSNEchVpDEIj6PL7JfLpIqyxVG16k="))
} }
note: aggregates/count with invalid utf-8 chars (0xFFFD) note: aggregates/count with invalid utf-8 chars (0xFFFD)
query: data.test.p = x query: data.test.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 30 - 30
File diff suppressed because it is too large Load Diff
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
all(set(), __local1__) all(set(), __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: all/empty set note: all/empty set
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
all([], __local1__) all([], __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: all/empty array note: all/empty array
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
all({true}, __local1__) all({true}, __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: all/set success note: all/set success
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
all([true, true, true], __local1__) all([true, true, true], __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: all/array success note: all/array success
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
all({false, true}, __local1__) all({false, true}, __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: all/set fail note: all/set fail
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: false - x: false
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
all([false, true, true], __local1__) all([false, true, true], __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: all/array fail note: all/array fail
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: false - x: false
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
all([{}, "", true, true, 123], __local1__) all([{}, "", true, true, 123], __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: all/other types note: all/other types
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: false - x: false
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
any(set(), __local1__) any(set(), __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: any/empty set note: any/empty set
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: false - x: false
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
any([], __local1__) any([], __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: any/empty array note: any/empty array
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: false - x: false
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
any({false, true}, __local1__) any({false, true}, __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: any/set success note: any/set success
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
any([true, true, true, false, false], __local1__) any([true, true, true, false, false], __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: any/array success note: any/array success
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
any({false}, __local1__) any({false}, __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: any/set fail note: any/set fail
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: false - x: false
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
any([false], __local1__) any([false], __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: any/array fail note: any/array fail
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: false - x: false
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = __local0__ { p = __local0__ {
any([true, {}, "false"], __local1__) any([true, {}, "false"], __local1__)
__local0__ = __local1__ __local0__ = __local1__
} }
note: any/other types note: any/other types
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+24 -23
View File
@@ -1,25 +1,26 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p[y] { p[y] {
data.a[i] = x data.a[i] = x
__local0__ = i + x __local0__ = i + x
y = __local0__ y = __local0__
} }
note: arithmetic/plus note: arithmetic/plus
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 1 - 1
- 3 - 3
- 5 - 5
- 7 - 7
+21 -20
View File
@@ -1,22 +1,23 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p[y] { p[y] {
data.a[i] = x data.a[i] = x
__local0__ = i - x __local0__ = i - x
y = __local0__ y = __local0__
} }
note: arithmetic/minus note: arithmetic/minus
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- -1 - -1
+24 -23
View File
@@ -1,25 +1,26 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p[y] { p[y] {
data.a[i] = x data.a[i] = x
__local0__ = i * x __local0__ = i * x
y = __local0__ y = __local0__
} }
note: arithmetic/multiply note: arithmetic/multiply
query: data.generated.p = x query: data.generated.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 0 - 0
- 2 - 2
- 6 - 6
- 12 - 12
+22 -21
View File
@@ -1,23 +1,24 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package test package test
p[z] { p[z] {
data.a[i] = x data.a[i] = x
y = i / x y = i / x
round(y, z) round(y, z)
} }
note: arithmetic/divide+round note: arithmetic/divide+round
query: data.test.p = x query: data.test.p = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- 0 - 0
- 1 - 1
+17 -16
View File
@@ -1,18 +1,19 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
modules: modules:
- | - |
package generated package generated
p = y { p = y {
data.a[i] = x data.a[i] = x
__local0__ = x / i __local0__ = x / i
y = __local0__ y = __local0__
} }
note: arithmetic/divide+error note: arithmetic/divide+error
query: data.generated.p = x query: data.generated.p = x
strict_error: true strict_error: true
want_error: divide by zero want_error: divide by zero
want_error_code: eval_builtin_error want_error_code: eval_builtin_error
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p { p {
abs(-10, x) abs(-10, x)
x = 10 x = 10
} }
note: arithmetic/abs note: arithmetic/abs
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
__local0__ = 7 % 4 __local0__ = 7 % 4
x = __local0__ x = __local0__
} }
note: arithmetic/remainder note: arithmetic/remainder
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 3 - x: 3
+14 -13
View File
@@ -1,15 +1,16 @@
---
cases: cases:
- data: - data:
modules: modules:
- | - |
package generated package generated
p = x { p = x {
__local0__ = 7 % 0 __local0__ = 7 % 0
x = __local0__ x = __local0__
} }
note: arithmetic/remainder+error note: arithmetic/remainder+error
query: data.generated.p = x query: data.generated.p = x
want_error: modulo by zero want_error: modulo by zero
want_error_code: eval_builtin_error want_error_code: eval_builtin_error
strict_error: true strict_error: true
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: - data:
modules: modules:
- | - |
package test package test
p = x { p = x {
x = 1.1 % 1 x = 1.1 % 1
} }
note: arithmetic/remainder+error+floating note: arithmetic/remainder+error+floating
query: data.test.p = x query: data.test.p = x
want_error: modulo on floating-point number want_error: modulo on floating-point number
want_error_code: eval_builtin_error want_error_code: eval_builtin_error
strict_error: true strict_error: true
+18 -17
View File
@@ -1,19 +1,20 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p { p {
__local0__ = data.a[3] __local0__ = data.a[3]
abs(-4, __local0__) abs(-4, __local0__)
} }
note: arithmetic/arity 1 ref dest note: arithmetic/arity 1 ref dest
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+18 -17
View File
@@ -1,19 +1,20 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p { p {
__local0__ = data.a[3] __local0__ = data.a[3]
not abs(-5, __local0__) not abs(-5, __local0__)
} }
note: arithmetic/arity 1 ref dest (2) note: arithmetic/arity 1 ref dest (2)
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+18 -17
View File
@@ -1,19 +1,20 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p { p {
__local0__ = 1 + 2 __local0__ = 1 + 2
data.a[2] = __local0__ data.a[2] = __local0__
} }
note: arithmetic/arity 2 ref dest note: arithmetic/arity 2 ref dest
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+18 -17
View File
@@ -1,19 +1,20 @@
---
cases: cases:
- data: - data:
a: a:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
modules: modules:
- | - |
package generated package generated
p { p {
__local0__ = 2 + 3 __local0__ = 2 + 3
not data.a[2] = __local0__ not data.a[2] = __local0__
} }
note: arithmetic/arity 2 ref dest (2) note: arithmetic/arity 2 ref dest (2)
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p { p {
__local0__ = 49649733057 + 1 __local0__ = 49649733057 + 1
__local0__ = 49649733058 __local0__ = 49649733058
} }
note: arithmetic/bug 2469 - precision note: arithmetic/bug 2469 - precision
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
+56 -55
View File
@@ -1,61 +1,62 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
ceil(1.01, x) ceil(1.01, x)
} }
note: ceil rounds up note: ceil rounds up
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 2 - x: 2
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
ceil(1.5, x) ceil(1.5, x)
} }
note: ceil rounds up (2) note: ceil rounds up (2)
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 2 - x: 2
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
ceil(2222.2222222222, x) ceil(2222.2222222222, x)
} }
note: ceil rounds up (3) note: ceil rounds up (3)
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 2223 - x: 2223
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
ceil(1, x) ceil(1, x)
} }
note: ceil integer note: ceil integer
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: 1 - x: 1
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
ceil(-1.99999, x) ceil(-1.99999, x)
} }
note: ceil negative note: ceil negative
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: -1 - x: -1
@@ -1,3 +1,4 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
@@ -1,27 +1,28 @@
---
cases: cases:
- data: - data:
modules: modules:
- | - |
package test package test
p { p {
{1} - 1 {1} - 1
} }
note: arithmetic/minus/type error note: arithmetic/minus/type error
query: data.test.p = x query: data.test.p = x
want_error: operand 2 must be set but got number want_error: operand 2 must be set but got number
want_error_code: eval_type_error want_error_code: eval_type_error
strict_error: true strict_error: true
- data: - data:
modules: modules:
- | - |
package test package test
p { p {
1 - {1} 1 - {1}
} }
note: arithmetic/minus/type error note: arithmetic/minus/type error
query: data.test.p = x query: data.test.p = x
want_error: operand 2 must be number but got set want_error: operand 2 must be number but got set
want_error_code: eval_type_error want_error_code: eval_type_error
strict_error: true strict_error: true
+12 -11
View File
@@ -1,13 +1,14 @@
---
cases: cases:
- data: - data:
modules: modules:
- | - |
package test package test
p { p {
28857836529306024611913 != 28857836529306024611912 28857836529306024611913 != 28857836529306024611912
} }
note: arithmetic/big_int note: arithmetic/big_int
query: data.test.p = x query: data.test.p = x
want_result: want_result:
- x: true - x: true
+17 -16
View File
@@ -1,18 +1,19 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
array.concat([1, 2], [3, 4], __local0__) array.concat([1, 2], [3, 4], __local0__)
x = __local0__ x = __local0__
} }
note: array/concat note: array/concat
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: - x:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
+18 -17
View File
@@ -1,19 +1,20 @@
---
cases: cases:
- data: - data:
b: b:
v1: hello v1: hello
v2: goodbye v2: goodbye
modules: modules:
- | - |
package generated package generated
p = x { p = x {
__local1__ = data.b __local1__ = data.b
array.concat(__local1__, [3, 4], __local0__) array.concat(__local1__, [3, 4], __local0__)
x = __local0__ x = __local0__
} }
note: 'array/concat: err' note: "array/concat: err"
query: data.generated.p = x query: data.generated.p = x
strict_error: true strict_error: true
want_error: 'array.concat: operand 1 must be array but got object' want_error: "array.concat: operand 1 must be array but got object"
want_error_code: eval_type_error want_error_code: eval_type_error
+18 -17
View File
@@ -1,19 +1,20 @@
---
cases: cases:
- data: - data:
b: b:
v1: hello v1: hello
v2: goodbye v2: goodbye
modules: modules:
- | - |
package generated package generated
p = x { p = x {
__local1__ = data.b __local1__ = data.b
array.concat([1, 2], __local1__, __local0__) array.concat([1, 2], __local1__, __local0__)
x = __local0__ x = __local0__
} }
note: 'array/concat: err rhs' note: "array/concat: err rhs"
query: data.generated.p = x query: data.generated.p = x
strict_error: true strict_error: true
want_error: 'array.concat: operand 2 must be array but got object' want_error: "array.concat: operand 2 must be array but got object"
want_error_code: eval_type_error want_error_code: eval_type_error
+15 -14
View File
@@ -1,16 +1,17 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
array.slice([1, 2, 3, 4, 5], 1, 3, __local0__) array.slice([1, 2, 3, 4, 5], 1, 3, __local0__)
x = __local0__ x = __local0__
} }
note: array/slice note: array/slice
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: - x:
- 2 - 2
- 3 - 3
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
array.slice([1, 2, 3], 0, 0, __local0__) array.slice([1, 2, 3], 0, 0, __local0__)
x = __local0__ x = __local0__
} }
note: 'array/slice: empty slice' note: "array/slice: empty slice"
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: [] - x: []
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
array.slice([1, 2, 3, 4, 5], -4, -1, __local0__) array.slice([1, 2, 3, 4, 5], -4, -1, __local0__)
x = __local0__ x = __local0__
} }
note: 'array/slice: negative indices' note: "array/slice: negative indices"
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: [] - x: []
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
array.slice([1, 2, 3, 4, 5], 4, 1, __local0__) array.slice([1, 2, 3, 4, 5], 4, 1, __local0__)
x = __local0__ x = __local0__
} }
note: 'array/slice: stopIndex < startIndex' note: "array/slice: stopIndex < startIndex"
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: [] - x: []
+15 -14
View File
@@ -1,16 +1,17 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
array.slice([1, 2, 3, 4, 5], -1, 2, __local0__) array.slice([1, 2, 3, 4, 5], -1, 2, __local0__)
x = __local0__ x = __local0__
} }
note: 'array/slice: clamp startIndex' note: "array/slice: clamp startIndex"
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: - x:
- 1 - 1
- 2 - 2
+15 -14
View File
@@ -1,16 +1,17 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
array.slice([1, 2, 3, 4, 5], 3, 6, __local0__) array.slice([1, 2, 3, 4, 5], 3, 6, __local0__)
x = __local0__ x = __local0__
} }
note: 'array/slice: clamp stopIndex' note: "array/slice: clamp stopIndex"
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: - x:
- 4 - 4
- 5 - 5
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
array.slice([], 1000, 2000, __local0__) array.slice([], 1000, 2000, __local0__)
x = __local0__ x = __local0__
} }
note: 'array/slice: clamp both out of range' note: "array/slice: clamp both out of range"
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: [] - x: []
+13 -12
View File
@@ -1,14 +1,15 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
array.slice([1, 2, 3], 1000, 2000, __local0__) array.slice([1, 2, 3], 1000, 2000, __local0__)
x = __local0__ x = __local0__
} }
note: 'array/slice: clamp both out of range non-empty' note: "array/slice: clamp both out of range non-empty"
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: [] - x: []
+40 -39
View File
@@ -1,43 +1,44 @@
---
cases: cases:
- data: - data:
foo: foo:
- 1 - 1
- 2 - 2
- 3 - 3
modules: modules:
- | - |
package test package test
p := array.reverse(data.foo) p := array.reverse(data.foo)
note: array/reverse_123 note: array/reverse_123
query: data.test.p = x query: data.test.p = x
want_result: want_result:
- x: - x:
- 3 - 3
- 2 - 2
- 1 - 1
- data: - data:
foo: [] foo: []
modules: modules:
- | - |
package test package test
p := array.reverse(data.foo) p := array.reverse(data.foo)
note: array/reverse_empty note: array/reverse_empty
query: data.test.p = x query: data.test.p = x
want_result: want_result:
- x: [] - x: []
- data: - data:
foo: foo:
bar: baz bar: baz
baz: bar baz: bar
modules: modules:
- | - |
package test package test
p := array.reverse(data.foo) p := array.reverse(data.foo)
note: array/reverse_object_error note: array/reverse_object_error
query: data.test.p = x query: data.test.p = x
strict_error: true strict_error: true
want_error: 'array.reverse: operand 1 must be array but got object' want_error: "array.reverse: operand 1 must be array but got object"
want_error_code: eval_type_error want_error_code: eval_type_error
@@ -1,3 +1,4 @@
---
cases: cases:
- note: assignments/file-level/default_value - note: assignments/file-level/default_value
query: data.test = x query: data.test = x
@@ -6,43 +7,43 @@ cases:
package test package test
default a := 1 default a := 1
want_result: [ { "x": { "a": 1 } } ] want_result: [{ "x": { "a": 1 } }]
- note: assignments/file-level/rule - note: assignments/file-level/rule
query: data.test = x query: data.test = x
modules: modules:
- | - |
package test package test
b := 2 b := 2
want_result: [ { "x": { "b": 2 } } ] want_result: [{ "x": { "b": 2 } }]
- note: assignments/file-level/else_keyword - note: assignments/file-level/else_keyword
query: data.test = x query: data.test = x
modules: modules:
- | - |
package test package test
c := 3 { c := 3 {
false false
} else := 4 { } else := 4 {
true true
} }
want_result: [ { "x": { "c": 4, } } ] want_result: [{ "x": { "c": 4 } }]
- note: assignments/file-level/partial_rule - note: assignments/file-level/partial_rule
query: data.test = x query: data.test = x
modules: modules:
- | - |
package test package test
d[msg] := 5 { d[msg] := 5 {
msg = [1, 2, 3][_] msg = [1, 2, 3][_]
} }
want_result: [ { "x": { "d": { "1": 5, "2": 5, "3": 5 } } } ] want_result: [{ "x": { "d": { "1": 5, "2": 5, "3": 5 } } }]
- note: assignments/file-level/function_return_value - note: assignments/file-level/function_return_value
query: data.test = x query: data.test = x
modules: modules:
- | - |
package test package test
e := f(6) e := f(6)
f(x) := x f(x) := x
want_result: [ { "x": { "e": 6 } } ] want_result: [{ "x": { "e": 6 } }]
@@ -1,13 +1,14 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64.encode("hello", x) base64.encode("hello", x)
} }
note: base64builtins/encode-1 note: base64builtins/encode-1
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: aGVsbG8= - x: aGVsbG8=
@@ -1,13 +1,14 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64.encode("there", x) base64.encode("there", x)
} }
note: base64builtins/encode-2 note: base64builtins/encode-2
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: dGhlcmU= - x: dGhlcmU=
@@ -1,13 +1,14 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64.decode("aGVsbG8=", x) base64.decode("aGVsbG8=", x)
} }
note: base64builtins/decode-1 note: base64builtins/decode-1
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: hello - x: hello
@@ -1,13 +1,14 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64.decode("dGhlcmU=", x) base64.decode("dGhlcmU=", x)
} }
note: base64builtins/decode-2 note: base64builtins/decode-2
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: there - x: there
@@ -1,13 +1,14 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64.encode("subjects?_d", x) base64.encode("subjects?_d", x)
} }
note: base64builtins/encode-slash note: base64builtins/encode-slash
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: c3ViamVjdHM/X2Q= - x: c3ViamVjdHM/X2Q=
@@ -1,13 +1,14 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64.decode("c3ViamVjdHM/X2Q=", x) base64.decode("c3ViamVjdHM/X2Q=", x)
} }
note: base64builtins/decode-slash note: base64builtins/decode-slash
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: subjects?_d - x: subjects?_d
@@ -1,25 +1,26 @@
---
cases: cases:
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64.is_valid("aGVsbG8=", x) base64.is_valid("aGVsbG8=", x)
} }
note: base64builtins/is_valid-true note: base64builtins/is_valid-true
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: true - x: true
- data: {} - data: {}
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64.is_valid("{'not':'base64'}", x) base64.is_valid("{'not':'base64'}", x)
} }
note: base64builtins/is_valid-false note: base64builtins/is_valid-false
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: false - x: false
@@ -1,25 +1,26 @@
---
cases: cases:
- note: base64urlbuiltins/encode-1 - note: base64urlbuiltins/encode-1
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64url.encode("hello", x) base64url.encode("hello", x)
} }
data: data:
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: aGVsbG8= - x: aGVsbG8=
- note: base64urlbuiltins/encode-2 - note: base64urlbuiltins/encode-2
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64url.encode("there", x) base64url.encode("there", x)
} }
data: data:
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: dGhlcmU= - x: dGhlcmU=
@@ -1,25 +1,26 @@
---
cases: cases:
- note: base64urlbuiltins/decode-1 padded string - note: base64urlbuiltins/decode-1 padded string
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64url.decode("aGVsbG8=", x) base64url.decode("aGVsbG8=", x)
} }
data: data:
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: hello - x: hello
- note: base64urlbuiltins/decode-2 non-padded string - note: base64urlbuiltins/decode-2 non-padded string
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64url.decode("aGVsbG8", x) base64url.decode("aGVsbG8", x)
} }
data: data:
query: data.generated.p = x query: data.generated.p = x
want_result: want_result:
- x: hello - x: hello
@@ -1,23 +1,24 @@
---
cases: cases:
- note: base64urlbuiltins/encode-1 without padding - note: base64urlbuiltins/encode-1 without padding
query: data.generated.p = x query: data.generated.p = x
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64url.encode_no_pad("hello", x) base64url.encode_no_pad("hello", x)
} }
data: data:
want_result: want_result:
- x: aGVsbG8 - x: aGVsbG8
- note: base64urlbuiltins/encode-2 without padding - note: base64urlbuiltins/encode-2 without padding
query: data.generated.p = x query: data.generated.p = x
modules: modules:
- | - |
package generated package generated
p = x { p = x {
base64url.encode_no_pad("there", x) base64url.encode_no_pad("there", x)
} }
data: data:
want_result: want_result:
- x: dGhlcmU - x: dGhlcmU
@@ -1,188 +1,189 @@
---
cases: cases:
- data: - data:
topdown: topdown:
a: a:
b: b:
c: c:
x: x:
- 100
- 200
y: false
z:
a: b
input_term: "{}"
modules:
- |
package enum_errors.caller
p[x] = y {
data.enum_errors.a[x] = y
}
- |
package enum_errors.a.b.c
p = x {
__local0__ = 1 / 0
x = __local0__
}
- |
package topdown.a.b.c.undefined1
p {
false
}
p {
false
}
q {
false
}
- |
package topdown
p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4
}
q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3
}
r[[x1, x2]] {
data.topdown.a.b[x1] = x2
}
s = __local1__ {
true
__local1__ = data.topdown.no
}
t = __local2__ {
true
__local2__ = data.topdown.a.b.c.undefined1
}
u = __local3__ {
true
__local3__ = data.topdown.missing.input.value
}
v = __local4__ {
true
__local4__ = data.topdown.g
}
w = __local5__ {
true
__local5__ = data.topdown.set
}
iterate_ground[x] {
data.topdown.virtual.constants[x] = 1
}
- |
package topdown.no.base.doc
p = true
- |
package topdown.a.b.c.empty
- |
package topdown.a.b.c.s
w = {"f": 10, "g": 9.9}
- |
package topdown.set
v[__local6__] {
true
__local6__ = data.topdown.set.u[_]
}
- |
package topdown.missing.input.value
p = __local7__ {
true
__local7__ = input.deadbeef
}
- |
package topdown.a.b.c
p = [1, 2]
q = [3, 4]
r["a"] = 1
r["b"] = 2
- |
package topdown.a.b.c.undefined2
p {
input.foo
}
- |
package topdown.virtual.constants
p = 1
q = 2
r = 1
- |
package topdown.conflicts
k = "bar"
- |
package topdown.g.h
p {
false
}
note: baseandvirtualdocs/base/virtual
query: data.topdown.p = x
sort_bindings: true
want_result:
- x:
- - c
- p
- 0
- 1
- - c
- p
- 1
- 2
- - c
- q
- 0
- 3
- - c
- q
- 1
- 4
- - c
- r
- a
- 1
- - c
- r
- b
- 2
- - c
- s
- w
- f: 10
g: 9.9
- - c
- x
- 0
- 100 - 100
- - c
- x
- 1
- 200 - 200
y: false - - c
z: - z
a: b - a
input_term: '{}' - b
modules:
- |
package enum_errors.caller
p[x] = y {
data.enum_errors.a[x] = y
}
- |
package enum_errors.a.b.c
p = x {
__local0__ = 1 / 0
x = __local0__
}
- |
package topdown.a.b.c.undefined1
p {
false
}
p {
false
}
q {
false
}
- |
package topdown
p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4
}
q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3
}
r[[x1, x2]] {
data.topdown.a.b[x1] = x2
}
s = __local1__ {
true
__local1__ = data.topdown.no
}
t = __local2__ {
true
__local2__ = data.topdown.a.b.c.undefined1
}
u = __local3__ {
true
__local3__ = data.topdown.missing.input.value
}
v = __local4__ {
true
__local4__ = data.topdown.g
}
w = __local5__ {
true
__local5__ = data.topdown.set
}
iterate_ground[x] {
data.topdown.virtual.constants[x] = 1
}
- |
package topdown.no.base.doc
p = true
- |
package topdown.a.b.c.empty
- |
package topdown.a.b.c.s
w = {"f": 10, "g": 9.9}
- |
package topdown.set
v[__local6__] {
true
__local6__ = data.topdown.set.u[_]
}
- |
package topdown.missing.input.value
p = __local7__ {
true
__local7__ = input.deadbeef
}
- |
package topdown.a.b.c
p = [1, 2]
q = [3, 4]
r["a"] = 1
r["b"] = 2
- |
package topdown.a.b.c.undefined2
p {
input.foo
}
- |
package topdown.virtual.constants
p = 1
q = 2
r = 1
- |
package topdown.conflicts
k = "bar"
- |
package topdown.g.h
p {
false
}
note: baseandvirtualdocs/base/virtual
query: data.topdown.p = x
sort_bindings: true
want_result:
- x:
- - c
- p
- 0
- 1
- - c
- p
- 1
- 2
- - c
- q
- 0
- 3
- - c
- q
- 1
- 4
- - c
- r
- a
- 1
- - c
- r
- b
- 2
- - c
- s
- w
- f: 10
g: 9.9
- - c
- x
- 0
- 100
- - c
- x
- 1
- 200
- - c
- z
- a
- b
@@ -1,272 +1,273 @@
---
cases: cases:
- data: - data:
topdown: topdown:
a: a:
b: b:
c: c:
x: x:
- 100
- 200
y: false
z:
a: b
input_term: "{}"
modules:
- |
package partial.topdown
p[["c", "x", 0, x41]] {
data.topdown.a.b.c.x[0] = x41
}
p[["c", "x", 1, x41]] {
data.topdown.a.b.c.x[1] = x41
}
p[["c", "z", "a", x41]] {
data.topdown.a.b.c.z.a = x41
}
p[[
"c", "p", 0,
1,
]]
p[[
"c", "p", 1,
2,
]]
p[[
"c", "q", 0,
3,
]]
p[[
"c", "q", 1,
4,
]]
p[[
"c", "r",
"a", 1,
]]
p[[
"c", "r",
"b", 2,
]]
p[[
"c", "s", "w",
{"f": 10, "g": 9.9},
]]
p[[
"c", "undefined2", "p",
true,
]] {
input.foo
}
p[["c", "x", 0, x41]] {
data.topdown.a.b.c.x[0] = x41
}
p[["c", "x", 1, x41]] {
data.topdown.a.b.c.x[1] = x41
}
p[["c", "z", "a", x41]] {
data.topdown.a.b.c.z.a = x41
}
p[[
"c", "p", 0,
1,
]]
p[[
"c", "p", 1,
2,
]]
p[[
"c", "q", 0,
3,
]]
p[[
"c", "q", 1,
4,
]]
p[[
"c", "r",
"a", 1,
]]
p[[
"c", "r",
"b", 2,
]]
p[[
"c", "s", "w",
{"f": 10, "g": 9.9},
]]
p[[
"c", "undefined2", "p",
true,
]] {
input.foo
}
- |
package topdown.a.b.c.empty
- |
package topdown.a.b.c
p = [1, 2]
q = [3, 4]
r["a"] = 1
r["b"] = 2
- |
package topdown.a.b.c.undefined2
p {
input.foo
}
- |
package topdown.virtual.constants
p = 1
q = 2
r = 1
- |
package topdown.no.base.doc
p = true
- |
package topdown.a.b.c.s
w = {"f": 10, "g": 9.9}
- |
package topdown.missing.input.value
p = __local7__ {
true
__local7__ = input.deadbeef
}
- |
package topdown.conflicts
k = "bar"
- |
package topdown.g.h
p {
false
}
- |
package enum_errors.a.b.c
p = x {
__local0__ = 1 / 0
x = __local0__
}
- |
package topdown.a.b.c.undefined1
p {
false
}
p {
false
}
q {
false
}
- |
package topdown
p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4
}
q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3
}
r[[x1, x2]] {
data.topdown.a.b[x1] = x2
}
s = __local1__ {
true
__local1__ = data.topdown.no
}
t = __local2__ {
true
__local2__ = data.topdown.a.b.c.undefined1
}
u = __local3__ {
true
__local3__ = data.topdown.missing.input.value
}
v = __local4__ {
true
__local4__ = data.topdown.g
}
w = __local5__ {
true
__local5__ = data.topdown.set
}
iterate_ground[x] {
data.topdown.virtual.constants[x] = 1
}
- |
package topdown.set
v[__local6__] {
true
__local6__ = data.topdown.set.u[_]
}
- |
package topdown_test_partial
__result__ = _result {
data.partial.topdown.p = _result
}
- |
package enum_errors.caller
p[x] = y {
data.enum_errors.a[x] = y
}
note: "baseandvirtualdocs/base/virtual: ground key"
query: data.topdown.q = x
sort_bindings: true
want_result:
- x:
- - c
- p
- 1
- - c
- q
- 3
- - c
- x
- 100 - 100
- 200
y: false
z:
a: b
input_term: '{}'
modules:
- |
package partial.topdown
p[["c", "x", 0, x41]] {
data.topdown.a.b.c.x[0] = x41
}
p[["c", "x", 1, x41]] {
data.topdown.a.b.c.x[1] = x41
}
p[["c", "z", "a", x41]] {
data.topdown.a.b.c.z.a = x41
}
p[[
"c", "p", 0,
1,
]]
p[[
"c", "p", 1,
2,
]]
p[[
"c", "q", 0,
3,
]]
p[[
"c", "q", 1,
4,
]]
p[[
"c", "r",
"a", 1,
]]
p[[
"c", "r",
"b", 2,
]]
p[[
"c", "s", "w",
{"f": 10, "g": 9.9},
]]
p[[
"c", "undefined2", "p",
true,
]] {
input.foo
}
p[["c", "x", 0, x41]] {
data.topdown.a.b.c.x[0] = x41
}
p[["c", "x", 1, x41]] {
data.topdown.a.b.c.x[1] = x41
}
p[["c", "z", "a", x41]] {
data.topdown.a.b.c.z.a = x41
}
p[[
"c", "p", 0,
1,
]]
p[[
"c", "p", 1,
2,
]]
p[[
"c", "q", 0,
3,
]]
p[[
"c", "q", 1,
4,
]]
p[[
"c", "r",
"a", 1,
]]
p[[
"c", "r",
"b", 2,
]]
p[[
"c", "s", "w",
{"f": 10, "g": 9.9},
]]
p[[
"c", "undefined2", "p",
true,
]] {
input.foo
}
- |
package topdown.a.b.c.empty
- |
package topdown.a.b.c
p = [1, 2]
q = [3, 4]
r["a"] = 1
r["b"] = 2
- |
package topdown.a.b.c.undefined2
p {
input.foo
}
- |
package topdown.virtual.constants
p = 1
q = 2
r = 1
- |
package topdown.no.base.doc
p = true
- |
package topdown.a.b.c.s
w = {"f": 10, "g": 9.9}
- |
package topdown.missing.input.value
p = __local7__ {
true
__local7__ = input.deadbeef
}
- |
package topdown.conflicts
k = "bar"
- |
package topdown.g.h
p {
false
}
- |
package enum_errors.a.b.c
p = x {
__local0__ = 1 / 0
x = __local0__
}
- |
package topdown.a.b.c.undefined1
p {
false
}
p {
false
}
q {
false
}
- |
package topdown
p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4
}
q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3
}
r[[x1, x2]] {
data.topdown.a.b[x1] = x2
}
s = __local1__ {
true
__local1__ = data.topdown.no
}
t = __local2__ {
true
__local2__ = data.topdown.a.b.c.undefined1
}
u = __local3__ {
true
__local3__ = data.topdown.missing.input.value
}
v = __local4__ {
true
__local4__ = data.topdown.g
}
w = __local5__ {
true
__local5__ = data.topdown.set
}
iterate_ground[x] {
data.topdown.virtual.constants[x] = 1
}
- |
package topdown.set
v[__local6__] {
true
__local6__ = data.topdown.set.u[_]
}
- |
package topdown_test_partial
__result__ = _result {
data.partial.topdown.p = _result
}
- |
package enum_errors.caller
p[x] = y {
data.enum_errors.a[x] = y
}
note: 'baseandvirtualdocs/base/virtual: ground key'
query: data.topdown.q = x
sort_bindings: true
want_result:
- x:
- - c
- p
- 1
- - c
- q
- 3
- - c
- x
- 100
@@ -1,292 +1,293 @@
---
cases: cases:
- data: - data:
topdown: topdown:
a: a:
b: b:
c: c:
x: x:
- 100 - 100
- 200 - 200
y: false y: false
z: z:
a: b a: b
input_term: '{}' input_term: "{}"
modules: modules:
- | - |
package enum_errors.a.b.c package enum_errors.a.b.c
p = x { p = x {
__local0__ = 1 / 0 __local0__ = 1 / 0
x = __local0__ x = __local0__
} }
- | - |
package topdown.virtual.constants package topdown.virtual.constants
p = 1 p = 1
q = 2 q = 2
r = 1 r = 1
- | - |
package partial.topdown package partial.topdown
p[["c", "x", 0, x41]] { p[["c", "x", 0, x41]] {
data.topdown.a.b.c.x[0] = x41 data.topdown.a.b.c.x[0] = x41
} }
p[["c", "x", 1, x41]] { p[["c", "x", 1, x41]] {
data.topdown.a.b.c.x[1] = x41 data.topdown.a.b.c.x[1] = x41
} }
p[["c", "z", "a", x41]] { p[["c", "z", "a", x41]] {
data.topdown.a.b.c.z.a = x41 data.topdown.a.b.c.z.a = x41
} }
p[[ p[[
"c", "p", 0, "c", "p", 0,
1, 1,
]] ]]
p[[ p[[
"c", "p", 1, "c", "p", 1,
2, 2,
]] ]]
p[[ p[[
"c", "q", 0, "c", "q", 0,
3, 3,
]] ]]
p[[ p[[
"c", "q", 1, "c", "q", 1,
4, 4,
]] ]]
p[[ p[[
"c", "r", "c", "r",
"a", 1, "a", 1,
]] ]]
p[[ p[[
"c", "r", "c", "r",
"b", 2, "b", 2,
]] ]]
p[[ p[[
"c", "s", "w", "c", "s", "w",
{"f": 10, "g": 9.9}, {"f": 10, "g": 9.9},
]] ]]
p[[ p[[
"c", "undefined2", "p", "c", "undefined2", "p",
true, true,
]] { ]] {
input.foo input.foo
} }
p[["c", "x", 0, x41]] { p[["c", "x", 0, x41]] {
data.topdown.a.b.c.x[0] = x41 data.topdown.a.b.c.x[0] = x41
} }
p[["c", "x", 1, x41]] { p[["c", "x", 1, x41]] {
data.topdown.a.b.c.x[1] = x41 data.topdown.a.b.c.x[1] = x41
} }
p[["c", "z", "a", x41]] { p[["c", "z", "a", x41]] {
data.topdown.a.b.c.z.a = x41 data.topdown.a.b.c.z.a = x41
} }
p[[ p[[
"c", "p", 0, "c", "p", 0,
1, 1,
]] ]]
p[[ p[[
"c", "p", 1, "c", "p", 1,
2, 2,
]] ]]
p[[ p[[
"c", "q", 0, "c", "q", 0,
3, 3,
]] ]]
p[[ p[[
"c", "q", 1, "c", "q", 1,
4, 4,
]] ]]
p[[ p[[
"c", "r", "c", "r",
"a", 1, "a", 1,
]] ]]
p[[ p[[
"c", "r", "c", "r",
"b", 2, "b", 2,
]] ]]
p[[ p[[
"c", "s", "w", "c", "s", "w",
{"f": 10, "g": 9.9}, {"f": 10, "g": 9.9},
]] ]]
p[[ p[[
"c", "undefined2", "p", "c", "undefined2", "p",
true, true,
]] { ]] {
input.foo input.foo
} }
- | - |
package topdown.missing.input.value package topdown.missing.input.value
p = __local7__ { p = __local7__ {
true true
__local7__ = input.deadbeef __local7__ = input.deadbeef
} }
- | - |
package topdown.conflicts package topdown.conflicts
k = "bar" k = "bar"
- | - |
package topdown.g.h package topdown.g.h
p { p {
false false
} }
- | - |
package topdown.a.b.c package topdown.a.b.c
p = [1, 2] p = [1, 2]
q = [3, 4] q = [3, 4]
r["a"] = 1 r["a"] = 1
r["b"] = 2 r["b"] = 2
- | - |
package topdown.a.b.c.undefined2 package topdown.a.b.c.undefined2
p { p {
input.foo input.foo
} }
- | - |
package topdown.a.b.c.s package topdown.a.b.c.s
w = {"f": 10, "g": 9.9} w = {"f": 10, "g": 9.9}
- | - |
package topdown package topdown
p[[x1, x2, x3, x4]] { p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4 data.topdown.a.b[x1][x2][x3] = x4
} }
q[[x1, x2, x3]] { q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3 data.topdown.a.b[x1][x2][0] = x3
} }
r[[x1, x2]] { r[[x1, x2]] {
data.topdown.a.b[x1] = x2 data.topdown.a.b[x1] = x2
} }
s = __local1__ { s = __local1__ {
true true
__local1__ = data.topdown.no __local1__ = data.topdown.no
} }
t = __local2__ { t = __local2__ {
true true
__local2__ = data.topdown.a.b.c.undefined1 __local2__ = data.topdown.a.b.c.undefined1
} }
u = __local3__ { u = __local3__ {
true true
__local3__ = data.topdown.missing.input.value __local3__ = data.topdown.missing.input.value
} }
v = __local4__ { v = __local4__ {
true true
__local4__ = data.topdown.g __local4__ = data.topdown.g
} }
w = __local5__ { w = __local5__ {
true true
__local5__ = data.topdown.set __local5__ = data.topdown.set
} }
iterate_ground[x] { iterate_ground[x] {
data.topdown.virtual.constants[x] = 1 data.topdown.virtual.constants[x] = 1
} }
- | - |
package topdown_test_partial package topdown_test_partial
__result__ = _result { __result__ = _result {
_result = {[ _result = {[
"c", "p", "c", "p",
1, 1,
], [ ], [
"c", "q", "c", "q",
3, 3,
], ["c", "x", 100]} ], ["c", "x", 100]}
} }
- | - |
package topdown.a.b.c.undefined1 package topdown.a.b.c.undefined1
p { p {
false false
} }
p { p {
false false
} }
q { q {
false false
} }
- | - |
package topdown.no.base.doc package topdown.no.base.doc
p = true p = true
- | - |
package topdown.set package topdown.set
v[__local6__] { v[__local6__] {
true true
__local6__ = data.topdown.set.u[_] __local6__ = data.topdown.set.u[_]
} }
- | - |
package enum_errors.caller package enum_errors.caller
p[x] = y { p[x] = y {
data.enum_errors.a[x] = y data.enum_errors.a[x] = y
} }
- | - |
package topdown.a.b.c.empty package topdown.a.b.c.empty
note: 'baseandvirtualdocs/base/virtual: prefix' note: "baseandvirtualdocs/base/virtual: prefix"
query: data.topdown.r = x query: data.topdown.r = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- - c - - c
- empty: {} - empty: {}
p: p:
- 1 - 1
- 2 - 2
q: q:
- 3 - 3
- 4 - 4
r: r:
a: 1 a: 1
b: 2 b: 2
s: s:
w: w:
f: 10 f: 10
g: 9.9 g: 9.9
undefined1: {} undefined1: {}
undefined2: {} undefined2: {}
x: x:
- 100 - 100
- 200 - 200
y: false y: false
z: z:
a: b a: b
@@ -1,169 +1,170 @@
---
cases: cases:
- data: - data:
topdown: topdown:
set: set:
u: u:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
input_term: '{}' input_term: "{}"
modules: modules:
- | - |
package enum_errors.a.b.c package enum_errors.a.b.c
p = x { p = x {
__local0__ = 1 / 0 __local0__ = 1 / 0
x = __local0__ x = __local0__
} }
- | - |
package topdown.missing.input.value package topdown.missing.input.value
p = __local7__ { p = __local7__ {
true true
__local7__ = input.deadbeef __local7__ = input.deadbeef
} }
- | - |
package topdown.a.b.c.undefined1 package topdown.a.b.c.undefined1
p { p {
false false
} }
p { p {
false false
} }
q { q {
false false
} }
- | - |
package topdown.set package topdown.set
v[__local6__] { v[__local6__] {
true true
__local6__ = data.topdown.set.u[_] __local6__ = data.topdown.set.u[_]
} }
- | - |
package topdown.conflicts package topdown.conflicts
k = "bar" k = "bar"
- | - |
package topdown.g.h package topdown.g.h
p { p {
false false
} }
- | - |
package topdown_test_partial package topdown_test_partial
__result__ = _result { __result__ = _result {
data.partial.topdown.r = _result data.partial.topdown.r = _result
} }
- | - |
package topdown.a.b.c.empty package topdown.a.b.c.empty
- | - |
package partial.topdown package partial.topdown
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
- | - |
package topdown.a.b.c package topdown.a.b.c
p = [1, 2] p = [1, 2]
q = [3, 4] q = [3, 4]
r["a"] = 1 r["a"] = 1
r["b"] = 2 r["b"] = 2
- | - |
package topdown.a.b.c.undefined2 package topdown.a.b.c.undefined2
p { p {
input.foo input.foo
} }
- | - |
package topdown package topdown
p[[x1, x2, x3, x4]] { p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4 data.topdown.a.b[x1][x2][x3] = x4
} }
q[[x1, x2, x3]] { q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3 data.topdown.a.b[x1][x2][0] = x3
} }
r[[x1, x2]] { r[[x1, x2]] {
data.topdown.a.b[x1] = x2 data.topdown.a.b[x1] = x2
} }
s = __local1__ { s = __local1__ {
true true
__local1__ = data.topdown.no __local1__ = data.topdown.no
} }
t = __local2__ { t = __local2__ {
true true
__local2__ = data.topdown.a.b.c.undefined1 __local2__ = data.topdown.a.b.c.undefined1
} }
u = __local3__ { u = __local3__ {
true true
__local3__ = data.topdown.missing.input.value __local3__ = data.topdown.missing.input.value
} }
v = __local4__ { v = __local4__ {
true true
__local4__ = data.topdown.g __local4__ = data.topdown.g
} }
w = __local5__ { w = __local5__ {
true true
__local5__ = data.topdown.set __local5__ = data.topdown.set
} }
iterate_ground[x] { iterate_ground[x] {
data.topdown.virtual.constants[x] = 1 data.topdown.virtual.constants[x] = 1
} }
- | - |
package enum_errors.caller package enum_errors.caller
p[x] = y { p[x] = y {
data.enum_errors.a[x] = y data.enum_errors.a[x] = y
} }
- | - |
package topdown.a.b.c.s package topdown.a.b.c.s
w = {"f": 10, "g": 9.9} w = {"f": 10, "g": 9.9}
- | - |
package topdown.no.base.doc package topdown.no.base.doc
p = true p = true
- | - |
package topdown.virtual.constants package topdown.virtual.constants
p = 1 p = 1
q = 2 q = 2
r = 1 r = 1
note: 'baseandvirtualdocs/base/virtual: set' note: "baseandvirtualdocs/base/virtual: set"
query: data.topdown.w = x query: data.topdown.w = x
want_result: want_result:
- x: - x:
u: u:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
v: v:
- 1 - 1
- 2 - 2
- 3 - 3
- 4 - 4
@@ -1,155 +1,156 @@
---
cases: cases:
- data: {} - data: {}
input_term: '{}' input_term: "{}"
modules: modules:
- | - |
package topdown.conflicts package topdown.conflicts
k = "bar" k = "bar"
- | - |
package topdown.no.base.doc package topdown.no.base.doc
p = true p = true
- | - |
package topdown.set package topdown.set
v[__local6__] { v[__local6__] {
true true
__local6__ = data.topdown.set.u[_] __local6__ = data.topdown.set.u[_]
} }
- | - |
package topdown.a.b.c.empty package topdown.a.b.c.empty
- | - |
package enum_errors.caller package enum_errors.caller
p[x] = y { p[x] = y {
data.enum_errors.a[x] = y data.enum_errors.a[x] = y
} }
- | - |
package topdown.a.b.c.undefined1 package topdown.a.b.c.undefined1
p { p {
false false
} }
p { p {
false false
} }
q { q {
false false
} }
- | - |
package topdown_test_partial package topdown_test_partial
__result__ = _result { __result__ = _result {
_result = {"u": [1, 2, 3, 4], "v": {1, 2, 3, 4}} _result = {"u": [1, 2, 3, 4], "v": {1, 2, 3, 4}}
} }
- | - |
package topdown.a.b.c package topdown.a.b.c
p = [1, 2] p = [1, 2]
q = [3, 4] q = [3, 4]
r["a"] = 1 r["a"] = 1
r["b"] = 2 r["b"] = 2
- | - |
package topdown.a.b.c.s package topdown.a.b.c.s
w = {"f": 10, "g": 9.9} w = {"f": 10, "g": 9.9}
- | - |
package topdown.a.b.c.undefined2 package topdown.a.b.c.undefined2
p { p {
input.foo input.foo
} }
- | - |
package topdown.virtual.constants package topdown.virtual.constants
p = 1 p = 1
q = 2 q = 2
r = 1 r = 1
- | - |
package enum_errors.a.b.c package enum_errors.a.b.c
p = x { p = x {
__local0__ = 1 / 0 __local0__ = 1 / 0
x = __local0__ x = __local0__
} }
- | - |
package topdown.missing.input.value package topdown.missing.input.value
p = __local7__ { p = __local7__ {
true true
__local7__ = input.deadbeef __local7__ = input.deadbeef
} }
- | - |
package topdown.g.h package topdown.g.h
p { p {
false false
} }
- | - |
package topdown package topdown
p[[x1, x2, x3, x4]] { p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4 data.topdown.a.b[x1][x2][x3] = x4
} }
q[[x1, x2, x3]] { q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3 data.topdown.a.b[x1][x2][0] = x3
} }
r[[x1, x2]] { r[[x1, x2]] {
data.topdown.a.b[x1] = x2 data.topdown.a.b[x1] = x2
} }
s = __local1__ { s = __local1__ {
true true
__local1__ = data.topdown.no __local1__ = data.topdown.no
} }
t = __local2__ { t = __local2__ {
true true
__local2__ = data.topdown.a.b.c.undefined1 __local2__ = data.topdown.a.b.c.undefined1
} }
u = __local3__ { u = __local3__ {
true true
__local3__ = data.topdown.missing.input.value __local3__ = data.topdown.missing.input.value
} }
v = __local4__ { v = __local4__ {
true true
__local4__ = data.topdown.g __local4__ = data.topdown.g
} }
w = __local5__ { w = __local5__ {
true true
__local5__ = data.topdown.set __local5__ = data.topdown.set
} }
iterate_ground[x] { iterate_ground[x] {
data.topdown.virtual.constants[x] = 1 data.topdown.virtual.constants[x] = 1
} }
- | - |
package partial.topdown package partial.topdown
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
note: 'baseandvirtualdocs/base/virtual: no base' note: "baseandvirtualdocs/base/virtual: no base"
query: data.topdown.s = x query: data.topdown.s = x
want_result: want_result:
- x: - x:
base: base:
doc: doc:
p: true p: true
@@ -1,152 +1,153 @@
---
cases: cases:
- data: {} - data: {}
input_term: '{}' input_term: "{}"
modules: modules:
- | - |
package enum_errors.caller package enum_errors.caller
p[x] = y { p[x] = y {
data.enum_errors.a[x] = y data.enum_errors.a[x] = y
} }
- | - |
package topdown.a.b.c.undefined1 package topdown.a.b.c.undefined1
p { p {
false false
} }
p { p {
false false
} }
q { q {
false false
} }
- | - |
package topdown.a.b.c.empty package topdown.a.b.c.empty
- | - |
package topdown.missing.input.value package topdown.missing.input.value
p = __local7__ { p = __local7__ {
true true
__local7__ = input.deadbeef __local7__ = input.deadbeef
} }
- | - |
package topdown.a.b.c.undefined2 package topdown.a.b.c.undefined2
p { p {
input.foo input.foo
} }
- | - |
package topdown.no.base.doc package topdown.no.base.doc
p = true p = true
- | - |
package topdown.set package topdown.set
v[__local6__] { v[__local6__] {
true true
__local6__ = data.topdown.set.u[_] __local6__ = data.topdown.set.u[_]
} }
- | - |
package topdown.a.b.c package topdown.a.b.c
p = [1, 2] p = [1, 2]
q = [3, 4] q = [3, 4]
r["a"] = 1 r["a"] = 1
r["b"] = 2 r["b"] = 2
- | - |
package topdown_test_partial package topdown_test_partial
__result__ = _result { __result__ = _result {
_result = {"base": {"doc": {"p": true}}} _result = {"base": {"doc": {"p": true}}}
} }
- | - |
package topdown package topdown
p[[x1, x2, x3, x4]] { p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4 data.topdown.a.b[x1][x2][x3] = x4
} }
q[[x1, x2, x3]] { q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3 data.topdown.a.b[x1][x2][0] = x3
} }
r[[x1, x2]] { r[[x1, x2]] {
data.topdown.a.b[x1] = x2 data.topdown.a.b[x1] = x2
} }
s = __local1__ { s = __local1__ {
true true
__local1__ = data.topdown.no __local1__ = data.topdown.no
} }
t = __local2__ { t = __local2__ {
true true
__local2__ = data.topdown.a.b.c.undefined1 __local2__ = data.topdown.a.b.c.undefined1
} }
u = __local3__ { u = __local3__ {
true true
__local3__ = data.topdown.missing.input.value __local3__ = data.topdown.missing.input.value
} }
v = __local4__ { v = __local4__ {
true true
__local4__ = data.topdown.g __local4__ = data.topdown.g
} }
w = __local5__ { w = __local5__ {
true true
__local5__ = data.topdown.set __local5__ = data.topdown.set
} }
iterate_ground[x] { iterate_ground[x] {
data.topdown.virtual.constants[x] = 1 data.topdown.virtual.constants[x] = 1
} }
- | - |
package partial.topdown package partial.topdown
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
- | - |
package topdown.virtual.constants package topdown.virtual.constants
p = 1 p = 1
q = 2 q = 2
r = 1 r = 1
- | - |
package enum_errors.a.b.c package enum_errors.a.b.c
p = x { p = x {
__local0__ = 1 / 0 __local0__ = 1 / 0
x = __local0__ x = __local0__
} }
- | - |
package topdown.g.h package topdown.g.h
p { p {
false false
} }
- | - |
package topdown.conflicts package topdown.conflicts
k = "bar" k = "bar"
- | - |
package topdown.a.b.c.s package topdown.a.b.c.s
w = {"f": 10, "g": 9.9} w = {"f": 10, "g": 9.9}
note: 'baseandvirtualdocs/base/virtual: undefined' note: "baseandvirtualdocs/base/virtual: undefined"
query: data.topdown.t = x query: data.topdown.t = x
want_result: want_result:
- x: {} - x: {}
@@ -1,164 +1,165 @@
---
cases: cases:
- data: - data:
topdown: topdown:
g: g:
h: h:
k: k:
- 1 - 1
- 2 - 2
- 3 - 3
input_term: '{}' input_term: "{}"
modules: modules:
- | - |
package topdown.a.b.c.undefined1 package topdown.a.b.c.undefined1
p { p {
false false
} }
p { p {
false false
} }
q { q {
false false
} }
- | - |
package topdown.set package topdown.set
v[__local6__] { v[__local6__] {
true true
__local6__ = data.topdown.set.u[_] __local6__ = data.topdown.set.u[_]
} }
- | - |
package topdown.a.b.c package topdown.a.b.c
p = [1, 2] p = [1, 2]
q = [3, 4] q = [3, 4]
r["a"] = 1 r["a"] = 1
r["b"] = 2 r["b"] = 2
- | - |
package topdown_test_partial package topdown_test_partial
__result__ = _result { __result__ = _result {
_result = {} _result = {}
} }
- | - |
package enum_errors.a.b.c package enum_errors.a.b.c
p = x { p = x {
__local0__ = 1 / 0 __local0__ = 1 / 0
x = __local0__ x = __local0__
} }
- | - |
package topdown.g.h package topdown.g.h
p { p {
false false
} }
- | - |
package topdown.a.b.c.undefined2 package topdown.a.b.c.undefined2
p { p {
input.foo input.foo
} }
- | - |
package topdown.no.base.doc package topdown.no.base.doc
p = true p = true
- | - |
package topdown.a.b.c.s package topdown.a.b.c.s
w = {"f": 10, "g": 9.9} w = {"f": 10, "g": 9.9}
- | - |
package enum_errors.caller package enum_errors.caller
p[x] = y { p[x] = y {
data.enum_errors.a[x] = y data.enum_errors.a[x] = y
} }
- | - |
package topdown.virtual.constants package topdown.virtual.constants
p = 1 p = 1
q = 2 q = 2
r = 1 r = 1
- | - |
package topdown.a.b.c.empty package topdown.a.b.c.empty
- | - |
package topdown.missing.input.value package topdown.missing.input.value
p = __local7__ { p = __local7__ {
true true
__local7__ = input.deadbeef __local7__ = input.deadbeef
} }
- | - |
package topdown.conflicts package topdown.conflicts
k = "bar" k = "bar"
- | - |
package topdown package topdown
p[[x1, x2, x3, x4]] { p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4 data.topdown.a.b[x1][x2][x3] = x4
} }
q[[x1, x2, x3]] { q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3 data.topdown.a.b[x1][x2][0] = x3
} }
r[[x1, x2]] { r[[x1, x2]] {
data.topdown.a.b[x1] = x2 data.topdown.a.b[x1] = x2
} }
s = __local1__ { s = __local1__ {
true true
__local1__ = data.topdown.no __local1__ = data.topdown.no
} }
t = __local2__ { t = __local2__ {
true true
__local2__ = data.topdown.a.b.c.undefined1 __local2__ = data.topdown.a.b.c.undefined1
} }
u = __local3__ { u = __local3__ {
true true
__local3__ = data.topdown.missing.input.value __local3__ = data.topdown.missing.input.value
} }
v = __local4__ { v = __local4__ {
true true
__local4__ = data.topdown.g __local4__ = data.topdown.g
} }
w = __local5__ { w = __local5__ {
true true
__local5__ = data.topdown.set __local5__ = data.topdown.set
} }
iterate_ground[x] { iterate_ground[x] {
data.topdown.virtual.constants[x] = 1 data.topdown.virtual.constants[x] = 1
} }
- | - |
package partial.topdown package partial.topdown
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
note: 'baseandvirtualdocs/base/virtual: undefined-2' note: "baseandvirtualdocs/base/virtual: undefined-2"
query: data.topdown.v = x query: data.topdown.v = x
want_result: want_result:
- x: - x:
h: h:
k: k:
- 1 - 1
- 2 - 2
- 3 - 3
@@ -1,152 +1,153 @@
---
cases: cases:
- data: {} - data: {}
input_term: '{}' input_term: "{}"
modules: modules:
- | - |
package topdown.no.base.doc package topdown.no.base.doc
p = true p = true
- | - |
package enum_errors.caller package enum_errors.caller
p[x] = y { p[x] = y {
data.enum_errors.a[x] = y data.enum_errors.a[x] = y
} }
- | - |
package topdown.a.b.c.empty package topdown.a.b.c.empty
- | - |
package topdown.conflicts package topdown.conflicts
k = "bar" k = "bar"
- | - |
package topdown package topdown
p[[x1, x2, x3, x4]] { p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4 data.topdown.a.b[x1][x2][x3] = x4
} }
q[[x1, x2, x3]] { q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3 data.topdown.a.b[x1][x2][0] = x3
} }
r[[x1, x2]] { r[[x1, x2]] {
data.topdown.a.b[x1] = x2 data.topdown.a.b[x1] = x2
} }
s = __local1__ { s = __local1__ {
true true
__local1__ = data.topdown.no __local1__ = data.topdown.no
} }
t = __local2__ { t = __local2__ {
true true
__local2__ = data.topdown.a.b.c.undefined1 __local2__ = data.topdown.a.b.c.undefined1
} }
u = __local3__ { u = __local3__ {
true true
__local3__ = data.topdown.missing.input.value __local3__ = data.topdown.missing.input.value
} }
v = __local4__ { v = __local4__ {
true true
__local4__ = data.topdown.g __local4__ = data.topdown.g
} }
w = __local5__ { w = __local5__ {
true true
__local5__ = data.topdown.set __local5__ = data.topdown.set
} }
iterate_ground[x] { iterate_ground[x] {
data.topdown.virtual.constants[x] = 1 data.topdown.virtual.constants[x] = 1
} }
- | - |
package topdown.g.h package topdown.g.h
p { p {
false false
} }
- | - |
package topdown.a.b.c.undefined1 package topdown.a.b.c.undefined1
p { p {
false false
} }
p { p {
false false
} }
q { q {
false false
} }
- | - |
package partial.topdown package partial.topdown
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
- | - |
package topdown.virtual.constants package topdown.virtual.constants
p = 1 p = 1
q = 2 q = 2
r = 1 r = 1
- | - |
package topdown.set package topdown.set
v[__local6__] { v[__local6__] {
true true
__local6__ = data.topdown.set.u[_] __local6__ = data.topdown.set.u[_]
} }
- | - |
package topdown_test_partial package topdown_test_partial
__result__ = _result { __result__ = _result {
_result = {"h": {"k": [1, 2, 3]}} _result = {"h": {"k": [1, 2, 3]}}
} }
- | - |
package enum_errors.a.b.c package enum_errors.a.b.c
p = x { p = x {
__local0__ = 1 / 0 __local0__ = 1 / 0
x = __local0__ x = __local0__
} }
- | - |
package topdown.a.b.c.undefined2 package topdown.a.b.c.undefined2
p { p {
input.foo input.foo
} }
- | - |
package topdown.a.b.c.s package topdown.a.b.c.s
w = {"f": 10, "g": 9.9} w = {"f": 10, "g": 9.9}
- | - |
package topdown.missing.input.value package topdown.missing.input.value
p = __local7__ { p = __local7__ {
true true
__local7__ = input.deadbeef __local7__ = input.deadbeef
} }
- | - |
package topdown.a.b.c package topdown.a.b.c
p = [1, 2] p = [1, 2]
q = [3, 4] q = [3, 4]
r["a"] = 1 r["a"] = 1
r["b"] = 2 r["b"] = 2
note: 'baseandvirtualdocs/base/virtual: missing input value' note: "baseandvirtualdocs/base/virtual: missing input value"
query: data.topdown.u = x query: data.topdown.u = x
want_result: want_result:
- x: {} - x: {}
@@ -1,155 +1,156 @@
---
cases: cases:
- data: {} - data: {}
input_term: '{}' input_term: "{}"
modules: modules:
- | - |
package topdown.a.b.c package topdown.a.b.c
p = [1, 2] p = [1, 2]
q = [3, 4] q = [3, 4]
r["a"] = 1 r["a"] = 1
r["b"] = 2 r["b"] = 2
- | - |
package topdown.a.b.c.s package topdown.a.b.c.s
w = {"f": 10, "g": 9.9} w = {"f": 10, "g": 9.9}
- | - |
package topdown.no.base.doc package topdown.no.base.doc
p = true p = true
- | - |
package partial.topdown package partial.topdown
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
- | - |
package enum_errors.a.b.c package enum_errors.a.b.c
p = x { p = x {
__local0__ = 1 / 0 __local0__ = 1 / 0
x = __local0__ x = __local0__
} }
- | - |
package topdown.set package topdown.set
v[__local6__] { v[__local6__] {
true true
__local6__ = data.topdown.set.u[_] __local6__ = data.topdown.set.u[_]
} }
- | - |
package topdown.conflicts package topdown.conflicts
k = "bar" k = "bar"
- | - |
package topdown package topdown
p[[x1, x2, x3, x4]] { p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4 data.topdown.a.b[x1][x2][x3] = x4
} }
q[[x1, x2, x3]] { q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3 data.topdown.a.b[x1][x2][0] = x3
} }
r[[x1, x2]] { r[[x1, x2]] {
data.topdown.a.b[x1] = x2 data.topdown.a.b[x1] = x2
} }
s = __local1__ { s = __local1__ {
true true
__local1__ = data.topdown.no __local1__ = data.topdown.no
} }
t = __local2__ { t = __local2__ {
true true
__local2__ = data.topdown.a.b.c.undefined1 __local2__ = data.topdown.a.b.c.undefined1
} }
u = __local3__ { u = __local3__ {
true true
__local3__ = data.topdown.missing.input.value __local3__ = data.topdown.missing.input.value
} }
v = __local4__ { v = __local4__ {
true true
__local4__ = data.topdown.g __local4__ = data.topdown.g
} }
w = __local5__ { w = __local5__ {
true true
__local5__ = data.topdown.set __local5__ = data.topdown.set
} }
iterate_ground[x] { iterate_ground[x] {
data.topdown.virtual.constants[x] = 1 data.topdown.virtual.constants[x] = 1
} }
- | - |
package topdown.a.b.c.undefined1 package topdown.a.b.c.undefined1
p { p {
false false
} }
p { p {
false false
} }
q { q {
false false
} }
- | - |
package topdown.virtual.constants package topdown.virtual.constants
p = 1 p = 1
q = 2 q = 2
r = 1 r = 1
- | - |
package topdown.missing.input.value package topdown.missing.input.value
p = __local7__ { p = __local7__ {
true true
__local7__ = input.deadbeef __local7__ = input.deadbeef
} }
- | - |
package enum_errors.caller package enum_errors.caller
p[x] = y { p[x] = y {
data.enum_errors.a[x] = y data.enum_errors.a[x] = y
} }
- | - |
package topdown.a.b.c.empty package topdown.a.b.c.empty
- | - |
package topdown_test_partial package topdown_test_partial
__result__ = _result { __result__ = _result {
data.topdown.missing.input.value = _result data.topdown.missing.input.value = _result
} }
- | - |
package topdown.g.h package topdown.g.h
p { p {
false false
} }
- | - |
package topdown.a.b.c.undefined2 package topdown.a.b.c.undefined2
p { p {
input.foo input.foo
} }
note: baseandvirtualdocs/iterate ground note: baseandvirtualdocs/iterate ground
query: data.topdown.iterate_ground = x query: data.topdown.iterate_ground = x
sort_bindings: true sort_bindings: true
want_result: want_result:
- x: - x:
- p - p
- r - r
@@ -1,156 +1,157 @@
---
cases: cases:
- data: - data:
topdown: topdown:
conflicts: conflicts:
k: foo k: foo
input_term: '{}' input_term: "{}"
modules: modules:
- | - |
package topdown_test_partial package topdown_test_partial
__result__ = _result { __result__ = _result {
_result = {"p", "r"} _result = {"p", "r"}
} }
- | - |
package topdown.missing.input.value package topdown.missing.input.value
p = __local7__ { p = __local7__ {
true true
__local7__ = input.deadbeef __local7__ = input.deadbeef
} }
- | - |
package topdown.a.b.c.s package topdown.a.b.c.s
w = {"f": 10, "g": 9.9} w = {"f": 10, "g": 9.9}
- | - |
package topdown.a.b.c.undefined1 package topdown.a.b.c.undefined1
p { p {
false false
} }
p { p {
false false
} }
q { q {
false false
} }
- | - |
package topdown.set package topdown.set
v[__local6__] { v[__local6__] {
true true
__local6__ = data.topdown.set.u[_] __local6__ = data.topdown.set.u[_]
} }
- | - |
package enum_errors.caller package enum_errors.caller
p[x] = y { p[x] = y {
data.enum_errors.a[x] = y data.enum_errors.a[x] = y
} }
- | - |
package topdown.conflicts package topdown.conflicts
k = "bar" k = "bar"
- | - |
package topdown package topdown
p[[x1, x2, x3, x4]] { p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4 data.topdown.a.b[x1][x2][x3] = x4
} }
q[[x1, x2, x3]] { q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3 data.topdown.a.b[x1][x2][0] = x3
} }
r[[x1, x2]] { r[[x1, x2]] {
data.topdown.a.b[x1] = x2 data.topdown.a.b[x1] = x2
} }
s = __local1__ { s = __local1__ {
true true
__local1__ = data.topdown.no __local1__ = data.topdown.no
} }
t = __local2__ { t = __local2__ {
true true
__local2__ = data.topdown.a.b.c.undefined1 __local2__ = data.topdown.a.b.c.undefined1
} }
u = __local3__ { u = __local3__ {
true true
__local3__ = data.topdown.missing.input.value __local3__ = data.topdown.missing.input.value
} }
v = __local4__ { v = __local4__ {
true true
__local4__ = data.topdown.g __local4__ = data.topdown.g
} }
w = __local5__ { w = __local5__ {
true true
__local5__ = data.topdown.set __local5__ = data.topdown.set
} }
iterate_ground[x] { iterate_ground[x] {
data.topdown.virtual.constants[x] = 1 data.topdown.virtual.constants[x] = 1
} }
- | - |
package topdown.no.base.doc package topdown.no.base.doc
p = true p = true
- | - |
package partial.topdown package partial.topdown
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
- | - |
package enum_errors.a.b.c package enum_errors.a.b.c
p = x { p = x {
__local0__ = 1 / 0 __local0__ = 1 / 0
x = __local0__ x = __local0__
} }
- | - |
package topdown.a.b.c package topdown.a.b.c
p = [1, 2] p = [1, 2]
q = [3, 4] q = [3, 4]
r["a"] = 1 r["a"] = 1
r["b"] = 2 r["b"] = 2
- | - |
package topdown.a.b.c.empty package topdown.a.b.c.empty
- | - |
package topdown.a.b.c.undefined2 package topdown.a.b.c.undefined2
p { p {
input.foo input.foo
} }
- | - |
package topdown.virtual.constants package topdown.virtual.constants
p = 1 p = 1
q = 2 q = 2
r = 1 r = 1
- | - |
package topdown.g.h package topdown.g.h
p { p {
false false
} }
note: 'baseandvirtualdocs/base/virtual: conflicts' note: "baseandvirtualdocs/base/virtual: conflicts"
query: data.topdown.conflicts = x query: data.topdown.conflicts = x
want_result: want_result:
- x: - x:
k: foo k: foo
@@ -1,157 +1,158 @@
---
cases: cases:
- data: {} - data: {}
input_term: '{}' input_term: "{}"
modules: modules:
- | - |
package topdown.a.b.c.s package topdown.a.b.c.s
w = {"f": 10, "g": 9.9} w = {"f": 10, "g": 9.9}
- | - |
package topdown.a.b.c.undefined1 package topdown.a.b.c.undefined1
p { p {
false false
} }
p { p {
false false
} }
q { q {
false false
} }
- | - |
package topdown.set package topdown.set
v[__local6__] { v[__local6__] {
true true
__local6__ = data.topdown.set.u[_] __local6__ = data.topdown.set.u[_]
} }
- | - |
package enum_errors.a.b.c package enum_errors.a.b.c
p = x { p = x {
__local0__ = 1 / 0 __local0__ = 1 / 0
x = __local0__ x = __local0__
} }
- | - |
package topdown.a.b.c.empty package topdown.a.b.c.empty
- | - |
package topdown.virtual.constants package topdown.virtual.constants
p = 1 p = 1
q = 2 q = 2
r = 1 r = 1
- | - |
package topdown.g.h package topdown.g.h
p { p {
false false
} }
- | - |
package enum_errors.caller package enum_errors.caller
p[x] = y { p[x] = y {
data.enum_errors.a[x] = y data.enum_errors.a[x] = y
} }
- | - |
package partial.topdown package partial.topdown
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
r[["c", x21]] { r[["c", x21]] {
data.topdown.a.b.c = x21 data.topdown.a.b.c = x21
} }
- | - |
package topdown.missing.input.value package topdown.missing.input.value
p = __local7__ { p = __local7__ {
true true
__local7__ = input.deadbeef __local7__ = input.deadbeef
} }
- | - |
package topdown.conflicts package topdown.conflicts
k = "bar" k = "bar"
- | - |
package topdown.no.base.doc package topdown.no.base.doc
p = true p = true
- | - |
package topdown.a.b.c.undefined2 package topdown.a.b.c.undefined2
p { p {
input.foo input.foo
} }
- | - |
package topdown_test_partial package topdown_test_partial
__result__ = _result { __result__ = _result {
_result = {"k": "foo"} _result = {"k": "foo"}
} }
- | - |
package topdown package topdown
p[[x1, x2, x3, x4]] { p[[x1, x2, x3, x4]] {
data.topdown.a.b[x1][x2][x3] = x4 data.topdown.a.b[x1][x2][x3] = x4
} }
q[[x1, x2, x3]] { q[[x1, x2, x3]] {
data.topdown.a.b[x1][x2][0] = x3 data.topdown.a.b[x1][x2][0] = x3
} }
r[[x1, x2]] { r[[x1, x2]] {
data.topdown.a.b[x1] = x2 data.topdown.a.b[x1] = x2
} }
s = __local1__ { s = __local1__ {
true true
__local1__ = data.topdown.no __local1__ = data.topdown.no
} }
t = __local2__ { t = __local2__ {
true true
__local2__ = data.topdown.a.b.c.undefined1 __local2__ = data.topdown.a.b.c.undefined1
} }
u = __local3__ { u = __local3__ {
true true
__local3__ = data.topdown.missing.input.value __local3__ = data.topdown.missing.input.value
} }
v = __local4__ { v = __local4__ {
true true
__local4__ = data.topdown.g __local4__ = data.topdown.g
} }
w = __local5__ { w = __local5__ {
true true
__local5__ = data.topdown.set __local5__ = data.topdown.set
} }
iterate_ground[x] { iterate_ground[x] {
data.topdown.virtual.constants[x] = 1 data.topdown.virtual.constants[x] = 1
} }
- | - |
package topdown.a.b.c package topdown.a.b.c
p = [1, 2] p = [1, 2]
q = [3, 4] q = [3, 4]
r["a"] = 1 r["a"] = 1
r["b"] = 2 r["b"] = 2
note: baseandvirtualdocs/enumerate virtual errors note: baseandvirtualdocs/enumerate virtual errors
query: data.enum_errors.caller.p = x query: data.enum_errors.caller.p = x
strict_error: true strict_error: true
want_error: divide by zero want_error: divide by zero
want_error_code: eval_builtin_error want_error_code: eval_builtin_error
want_result: want_result:
- x: - x:
b: b:
c: {} c: {}

Some files were not shown because too many files have changed in this diff Show More