Skip to content

Commit 13902a3

Browse files
authored
Migrate the rest of python unit tests to conformance tests (#1266)
* Remove redundant schema validation tests and legacy payload helper methods * Remove example loading logic from A2uiCatalog and replace with standardized conformance test data files * Migrate schema modifier tests from Python to conformance YAML files * Add Schema Manager conformance tests * Migrate streaming parser conformance tests to a dedicated configuration file and remove legacy parser tests. * Migrate payload fixer unit tests to conformance test suite * Migrate c++ parser tests to centralized conformance runner and consolidate utility tests * Consolidate streaming parser tests into conformance tests * Implement catalog conformance test runner * Implement SchemaManager conformance tests in C++ and remove redundant schema manager test file * Reorganize conformance test suite into modular subdirectories and update test loader paths * Remove json-schema-validator dependency and modernize memory management in conformance tests * Update the conformance tests for schema management * Update README to reflect restructuring of conformance test suites and data directories * Update s2c_schema path in validator * Silence unused variable warning in example validation during JSON parsing * Update conformance schema to make catalog fields optional in root and move validation to anyOf variants * Standardize conformance test schema and update runners to support multi-step test definitions
1 parent 8986041 commit 13902a3

52 files changed

Lines changed: 4014 additions & 4079 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

agent_sdks/conformance/README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -3,9 +3,20 @@
33
To ensure behavioral parity across all SDK implementations (Python, Kotlin, etc.), the project maintains a language-agnostic conformance suite in this directory.
44

55
## Suite Structure
6-
* `parser.yaml`: Contains test cases for the `A2uiStreamParser`, verifying chunk buffering, incremental yielding, and edge cases like cut tokens.
7-
* `validator.yaml`: Contains test cases for the `A2uiValidator`, verifying structural integrity, cycle detection, and reachability.
8-
* `conformance_schema.json`: The JSON schema that validates the structure of the YAML test files themselves.
6+
All test suites are located in the `suites/` directory:
7+
* `suites/streaming_parser.yaml`: Contains test cases for the `A2uiStreamParser` (streaming), verifying chunk buffering, incremental yielding, and edge cases like cut tokens.
8+
* `suites/parser.yaml`: Contains test cases for non-streaming parsing and payload fixing.
9+
* `suites/validator.yaml`: Contains test cases for the `A2uiValidator`, verifying structural integrity, cycle detection, and reachability.
10+
* `suites/catalog.yaml`: Contains test cases for `A2uiCatalog` (prune, render, load).
11+
* `suites/schema_manager.yaml`: Contains test cases for `A2uiSchemaManager` (select_catalog, load_catalog, generate_prompt).
12+
13+
All static test data and simplified schemas are located in the `test_data/` directory.
14+
15+
`conformance_schema.json` at the root is the JSON schema that validates the structure of the YAML test files themselves.
16+
17+
18+
19+
920

1021
## Usage in SDKs
1122
Each language SDK must implement a test harness that:

0 commit comments

Comments
 (0)