Skip to content

test: widen property tests beyond in-memory, one-fact-per-transact queries #386

Closed

Description

@adityamukho

Problem

tests/property_test.rs runs 8M cases a night, but it covers a small space:

Ask

  • Treat an unexpected query error as a test failure.
  • Add a file-backed variant that checkpoints and reopens before it queries.
  • Batch facts into random-sized transactions.
  • Add retracts, and temporal queries checked against the reference evaluator.
  • Add a join property (two or three clauses) checked against the reference evaluator.
  • Lower PROPTEST_CASES if needed. A wider space with fewer cases finds more bugs than 8M cases in a small space.

Related: the model-based test in the sibling issue covers operation sequences. This issue covers query semantics.

Activity

  1. added this to the v3.0.0 milestone on Sep 26, 2026
  2. adityamukho commented on Oct 14, 2026

    @adityamukho
    CollaboratorAuthor

    Done in #491 (v3) and #492 (v2.x backport), merged 2026-10-08. Every item in the ask is covered: a query error fails the test; there is a file-backed variant that checkpoints and reopens (with default and 4-page caches); facts go in as batched transacts and write transactions; there are retracts and :as-of/:valid-at/:any-valid-time queries, and joins of 1–3 patterns with not/not-join and predicates, all checked against the reference evaluator; nightly cases dropped from 8M to 1M. The issue stayed open only because closing keywords don't fire on v3.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    stabilityStability/panic issue

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions