Skip to main content
Version: Nightly

Sqlness Test

Introduction

Sqlness is GreptimeDB's end-to-end regression suite for SQL and protocol behavior. A case sends statements to a running GreptimeDB instance and compares the output with a checked-in result file.

Sqlness manual

Case file

Each case uses two files:

  • .sql: test input, SQL only
  • .result: expected test output, SQL and its results

Write the input in the .sql file and run the test to generate or update .result. Review every result diff: accept it only when the behavior change is intended.

Case organization

Input cases live under tests/cases. The first directory level selects an environment. For example, standalone/ runs against a standalone GreptimeDB instance.

Within an environment, group a new case with the feature it exercises. Sqlness discovers case files recursively.

Run the test

Run the suite with:

cargo sqlness bare

The command builds and starts GreptimeDB, runs the selected cases, and compares their output. A changed .result file is part of the review, not proof that the new output is correct.

Run a specific test

cargo sqlness bare -t your_test

The -t or --test-filter option accepts a regex string. Sqlness examines case names in the format of env:case.