10 Commits

Author SHA1 Message Date
Mike Hansen
e36ddea61e OLS-968: Fix documentation accuracy and property database regeneration
- Update line counts across documentation to match actual source files
    (test-config-parser.c: 3304 lines, test-stubs.c: 219 lines)
  - Correct test configuration count to exact "25 configs"
  - Fix schema file references to single canonical file
  - Add property database documentation with accurate statistics
  - Fix broken Makefile regeneration targets (regenerate-property-db,
    regenerate-platform-property-db) to use correct schema-based workflow
  - Replace non-existent rebuild-property-database.py with three-step
    process: extract-schema-properties.py → generate-database-from-schema.py

Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2026-01-21 16:25:37 -05:00
Mike Hansen
00ca1cd1f4 [OLS-915] Schema Verification Enhancement
Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2026-01-15 13:19:39 -05:00
Mike Hansen
ff4b2095b5 [OLS-915] Schema Verification Enhancement
Fix platform property tracking in test output

  Platform databases now always included for property analysis, showing
  complete base→platform flow with arrow notation in test reports.

Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2026-01-13 11:08:25 -05:00
Mike Hansen
a4a153197b [OLS-915] Schema Verification Enhancement
Enables undefined property detection during make validate-schema, providing warnings about typos and vendor-specific
  properties that aren't in the schema.

Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2026-01-13 10:22:59 -05:00
Mike Hansen
cef160a0fa [OLS-915] Schema-based property generation and platform testing
Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2026-01-05 11:40:10 -05:00
Mike Hansen
04edeb90e4 [OLS-915] Schema-based property generation and platform testing │
Schema-based property database:                                                                                                                                                    │
- Extract 398 properties from schema (vs config files)                                                                                                                             │
- Generate base DB (proto.c: 102 found, 296 unimplemented)                                                                                                                         │
- Generate platform DB (plat-gnma.c: 141 found, 257 unimplemented)                                                                                                                 │
- Support JSON schema (included) and YAML (external repo)                                                                                                                          │

Platform testing framework:                                                                                                                                                        │
- Stub hardware layer (gNMI/gNOI), test real platform logic                                                                                                                        │
- Dual tracking: base parsing + platform application                                                                                                                               │
- Platform mocks for brcm-sonic and example platforms                                                                                                                              │

Changes:                                                                                                                                                                           │
- New: extract-schema-properties.py (JSON/YAML support)                                                                                                                            │
- New: generate-database-from-schema.py, generate-platform-database-from-schema.py                                                                                                 │
- New: Platform mocks and property databases                                                                                                                                       │
- Remove: 4 legacy config-based generation tools                                                                                                                                   │
- Remove: unused ucentral.schema.full.json                                                                                                                                         │
- Update: Simplified fetch-schema.sh, updated MAINTENANCE.md                                                                                                                       │

Tests: 24/24 pass (stub and platform modes)

Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2026-01-05 10:00:54 -05:00
Mike Hansen
3963845143 [OLS-915] Configuration Testing Framework with Property Tracking
- corrected references and paths in markdown files

Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2025-12-18 09:40:48 -05:00
Mike Hansen
6c4c918c3b [OLS-915] Configuration Testing Framework with Property Tracking
- corrected paths in markdown files

Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2025-12-18 09:37:14 -05:00
Mike Hansen
9564925df5 [OLS-915] Remove generated build artifacts from repository
- Remove binary executable: tests/config-parser/test-config-parser
- Remove generated test reports: test-report.html, test-report.json
- Update .gitignore to exclude test artifacts and build outputs

These files are generated during build/test and should not be tracked in git.
They will be regenerated when running 'make test-config' or './run-config-tests.sh'.

Related to: OLS-915 Configuration Testing Framework with Property Tracking
2025-12-17 09:20:10 -05:00
Mike Hansen
30b1904d00 [OLS-915] Configuration Testing Framework with Property Tracking - ols-ucentral-client
Add comprehensive configuration testing framework with property tracking

  Implements two-layer validation system (schema + parser) for JSON configurations:
  - Add test-config-parser.c with 628-property database tracking implementation status
  - Add Python schema validator and property database generation tools
  - Add test runner script (run-config-tests.sh) for automated testing
  - Add 25+ test configurations covering core and platform-specific features
  - Modify proto.c with TEST_STATIC macro to expose cfg_parse() for testing
  - Support multiple output formats: human-readable, HTML, JSON, JUnit XML

  Enables automated validation of configuration processing, tracks feature
  implementation coverage, and provides CI/CD integration for continuous testing.

Signed-off-by: Mike Hansen <mike.hansen@netexperience.com>
2025-12-16 17:41:53 -05:00