Skip to content

test: widen property tests to joins, negation, predicates and time travel (#386, v2.x backport) - #492

Merged
adityamukho merged 2 commits into
mainfrom
test/386-wider-property-tests-v2
Oct 8, 2026
Merged

adityamukho merged 2 commits into
mainfrom
test/386-wider-property-tests-v2

Conversation

@adityamukho

Copy link
Copy Markdown
Collaborator

Refs #386. v2.x backport of #491 (v3).

What

The same tests/property_test.rs and tests/reference_model/mod.rs as #491: random histories (batched transacts, retracts, write transactions, checkpoints) with random queries (1–3 joined patterns, not/not-join, a comparison predicate, :as-of, :valid-at, :any-valid-time). Each query is compared with a reference evaluator, in memory and on a file before and after a reopen. A write or query error fails the test, including in the three existing properties.

The only v2.x-specific code is v2_safe, which filters each generated history.

Known issues left out (#421)

Without either filter the test fails on v2.x within 3,000 cases. The v3 test has neither filter.

verify() is not used (v3 only). #406/#414 do not apply, since generated :find variables are always bound.

CI

The nightly property_test job drops from 8,000,000 to 1,000,000 cases: 1M in memory, 100k file-backed, and 1M of each one-pattern property.

Merge note

When main is next merged into v3, keep v3's tests/property_test.rs, tests/reference_model/mod.rs and workflow matrix. v3's test has no v2_safe filter.

🤖 Generated with Claude Code

https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h

adityamukho and others added 2 commits October 9, 2026 00:01
…avel (#386, v2.x backport)

Backport of the v3 property tests. tests/property_test.rs writes random
histories (batched transacts, retracts, write transactions, checkpoints)
and compares random queries (1-3 joined patterns, not/not-join, a
comparison predicate, :as-of, :valid-at, :any-valid-time) with a
reference evaluator, in memory and against a file before and after a
reopen. A write or query error fails the test.

The histories leave out the v2.x known issues: a second value of one
entity and attribute in a transaction (#371, also covering #477), and an
assertion of a triple that is already live (#435). Without either filter
the test fails on v2.x within a few thousand cases.

The nightly job drops from 8M to 1M cases.

Refs #386

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_012wXxZguv7PgKQjMMH4yJ5h
@codecov

codecov Bot commented Oct 8, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.

📢 Thoughts on this report? Let us know!

@adityamukho
adityamukho merged commit 339b31f into main Oct 8, 2026
21 checks passed
@adityamukho
adityamukho deleted the test/386-wider-property-tests-v2 branch October 8, 2026 19:02
adityamukho added a commit that referenced this pull request Oct 8, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant