README

Spec-backed functional tests

Functional conformance tests for behaviour promised by:

These are not unit or AST-construction tests. Assert observable results (query output, mold transforms, documented errors), keyed to doc sections.

Layout

t/spec/
  Specification/     # Specification.md sections
  Operators/         # Operators.md sections

Filenames start with the section number so coverage is greppable:

FileDoc section
Operators/02-precedence.rakutestOperators.md §2
Operators/03-io.rakutestOperators.md §3
Operators/04-mapreduce.rakutestOperators.md §4
Operators/05-navigation-tree.rakutestOperators.md §5.1 tree axes
Operators/05-navigation-topic.rakutestOperators.md §5 bare $_ LHS
Operators/05.2-table-fk-navigation.rakutestOperators.md §5.2.1–5.2.5
Operators/05.2.8-ordered-row-navigation.rakutestOperators.md §5.2.8–5.2.11
Operators/05.3-table-catalog.rakutestOperators.md §5.3
Operators/06.1-set-relational.rakutestOperators.md §6.1–6.2
Operators/07-composition.rakutestOperators.md §7
Operators/nyi-operators.rakutestDocumented but NYI forms (todo = OK to fail)
Specification/3.2-walker.rakutestSpecification.md §3.2.1
Specification/3.2.1-handover.rakutestSpecification.md §3.2.1.6
Specification/3.2.5-strategy.rakutestSpecification.md §3.2.5–3.2.6
Specification/3.3-transformer.rakutestSpecification.md §3.3.2
Specification/3.3.3-molds.rakutestSpecification.md §3.3.3
Specification/3.3.6-copy.rakutestSpecification.md §3.3.6
Specification/7.1-tree-walker.rakutestSpecification.md §7.1
Specification/7.2-table-walker.rakutestSpecification.md §7.2

Conventions

  1. Header cites the source, e.g. #| Operators.md §5.2 — table FK navigation.

  2. One file ≈ one section (or a tight cluster such as §5.2.8–5.2.11).

  3. Prefer examples from the docs as seed cases; add edge cases only when the prose is normative.

  4. Shared fixtures live in t/lib/Qwiratry/Spec/ — do not invent divergent sample data per file.

  5. Leave t/unit/, t/operator/, and t/integration/ for implementation and multi-component scenarios that are not doc-indexed.

  6. Not yet implemented claims belong in Operators/nyi-operators.rakutest (or a section file) wrapped in todo 'NYI: …'; so failures are expected. When a todo starts passing, remove todo and move the assertion into the matching section file.

Running

RAKUDO_RAKUAST=1 raku -Ilib -It/lib t/spec/Operators/05.2-table-fk-navigation.rakutest
# or the whole tree:
RAKUDO_RAKUAST=1 prove6 -Ilib -It/lib t/spec

Known Operators.md gaps tracked as todo

Still unimplemented (see Operators/nyi-operators.rakutest):

  • I/O aliases / (U+2BA3 / U+2BA7)

Qwiratry v0.0.9

Declarative query and data-walking architecture for Raku, with transformers, molds, walkers, and I/O pipelines.

Authors

  • Tim Nelson

License

Dependencies

SlangifyImplementation::Loader:ver<0.0.9+>Glob::Grammar

Test Dependencies

Provides

  • Qwiratry
  • Qwiratry::Context
  • Qwiratry::Format
  • Qwiratry::Format::Base
  • Qwiratry::Format::CSVdemo
  • Qwiratry::Format::JSONdemo
  • Qwiratry::Location
  • Qwiratry::Location::Base
  • Qwiratry::Location::File
  • Qwiratry::Mold
  • Qwiratry::Mold::Compiler
  • Qwiratry::Mold::Registry
  • Qwiratry::Mold::Slang
  • Qwiratry::Operator::Capability
  • Qwiratry::Operator::IO
  • Qwiratry::Operator::MapReduce
  • Qwiratry::Operator::Navigation
  • Qwiratry::Operator::Set
  • Qwiratry::Query::Evaluator::Eager
  • Qwiratry::Query::Evaluator::Filter
  • Qwiratry::Query::Evaluator::Join
  • Qwiratry::Query::Evaluator::Lazy
  • Qwiratry::Query::Evaluator::MapReduce
  • Qwiratry::Query::Evaluator::Navigation
  • Qwiratry::Query::Evaluator::Relational
  • Qwiratry::Query::Evaluator::Row
  • Qwiratry::Query::Evaluator::Set
  • Qwiratry::Query::Evaluator::Union
  • Qwiratry::Query::Extract
  • Qwiratry::Query::NamedJoins
  • Qwiratry::Query::RelationCommon
  • Qwiratry::Query::Runtime
  • Qwiratry::Query::Selector
  • Qwiratry::Query::Slang
  • Qwiratry::Query::Specificity
  • Qwiratry::Query::Topic
  • Qwiratry::QueryIterator
  • Qwiratry::QueryMatch
  • Qwiratry::Setup
  • Qwiratry::Strategy
  • Qwiratry::Strategy::ControlSignal
  • Qwiratry::Strategy::FinishResult
  • Qwiratry::Strategy::RewriteSpec
  • Qwiratry::Strategy::Traversal
  • Qwiratry::Suggest
  • Qwiratry::Table
  • Qwiratry::Table::Schema
  • Qwiratry::Transformer
  • Qwiratry::Transformer::Copy
  • Qwiratry::Transformer::TreeRewrite
  • Qwiratry::Tree::Navigator
  • Qwiratry::Tree::Navigator::Base
  • Qwiratry::Tree::Navigator::Filesystem
  • Qwiratry::Tree::Navigator::Match
  • Qwiratry::Tree::Navigator::RakuAST
  • Qwiratry::Tree::Replace
  • Qwiratry::Walker
  • Qwiratry::Walker::Capabilities
  • Qwiratry::Walker::Factory
  • Qwiratry::Walker::Implementation::Table
  • Qwiratry::Walker::Implementation::Tree
  • Qwiratry::Walker::Master
  • Qwiratry::Walker::Providing
  • X::Qwiratry

The Camelia image is copyright 2009 by Larry Wall. "Raku" is trademark of the Yet Another Society. All rights reserved.