Skip to content

feat: add make verify infrastructure with expected outputs#13

Merged
yeongseon merged 3 commits into
mainfrom
feat/verify-infrastructure-v2
Apr 4, 2026
Merged

feat: add make verify infrastructure with expected outputs#13
yeongseon merged 3 commits into
mainfrom
feat/verify-infrastructure-v2

Conversation

@yeongseon
Copy link
Copy Markdown
Contributor

Summary

Adds make verify / make demo infrastructure and expected output files for all 12 fundamentals examples. Replaces #8 (branch was deleted, repo restructured since).

Changes

  • scripts/normalize_output.sh — Normalizes dynamic values (VERSION, HOSTNAME, DATE, TIME, OID, BTREE, TIMESTAMP) and filters SQLAlchemy warnings for reproducible diff comparison
  • 12 expected output files — Generated from live CUBRID 11.2 runs, covering:
    • 6 pycubrid fundamentals (connect, crud, transactions, prepared-statements, error-handling, lob-handling)
    • 6 SQLAlchemy ORM basics (engine, core, orm, relationships, dml_extensions, reflection)
  • Makefile — Added verify (find expected files → run script → normalize → diff) and demo (up + verify) targets; simplified to Python-only per AGENTS.md
  • fundamentals/orm-basics/04_relationships.py — Sorted joined collection output for deterministic results
  • GETTING_STARTED.md — Simplified from 313 lines to 14 lines with 3-line quick start

Verification

$ make verify
  ✓ PASS ./fundamentals/connect/01_connect.py
  ✓ PASS ./fundamentals/crud/02_crud.py
  ✓ PASS ./fundamentals/error-handling/05_error_handling.py
  ✓ PASS ./fundamentals/lob-handling/06_lob.py
  ✓ PASS ./fundamentals/orm-basics/01_engine.py
  ✓ PASS ./fundamentals/orm-basics/02_core.py
  ✓ PASS ./fundamentals/orm-basics/03_orm.py
  ✓ PASS ./fundamentals/orm-basics/04_relationships.py
  ✓ PASS ./fundamentals/orm-basics/05_dml_extensions.py
  ✓ PASS ./fundamentals/orm-basics/06_reflection.py
  ✓ PASS ./fundamentals/prepared-statements/04_prepared.py
  ✓ PASS ./fundamentals/transactions/03_transactions.py
Results: 12 passed, 0 failed, 0 skipped

Issue Progress

Closes #8 (reimplemented from scratch after branch deletion and repo restructure)

Partial progress on #7:

  • make verify target
  • make demo target
  • Expected outputs for fundamentals (pycubrid + SQLAlchemy)
  • GETTING_STARTED.md simplified to 3-line quick start
  • Expected outputs for migration/, quickstart/, templates/ (separate PR)

… examples

- Add scripts/normalize_output.sh for reproducible output comparison
- Add expected output files for 6 pycubrid and 6 SQLAlchemy examples
- Add verify and demo targets to Makefile (Python-only)
- Fix non-deterministic sort order in 04_relationships.py
- Simplify GETTING_STARTED.md to under 20 lines with 3-line quick start

Closes #8 (reimplemented from scratch after branch deletion)
Partial #7 (verify infrastructure + fundamentals expected outputs)
…ples

Add expected output files for 11 additional examples beyond the
initial 12 fundamentals, bringing total coverage to 23/23 runnable
examples passing make verify.

Fixes:
- migration/03_crud_orm.py: use :.2f in __repr__ for CUBRID float precision
- migration/05_batch_operations.py: reorder main block so UPDATE/DELETE
  operate on correct dataset instead of post-reset empty table
- quickstart/5min-sqlalchemy/app.py: add drop_all before create_all for
  deterministic auto_increment IDs
- templates/batch-etl/seed_data.py: rename to 00_seed_data.py for correct
  sort-order execution in find|sort pipeline
- scripts/normalize_output.sh: add bare Version: pattern normalization

Ref: #7
- ci.yml: remove Node/Go lint jobs, run ruff on repo root instead of
  obsolete python/ directory
- smoke-test.yml: replace old multi-language matrix with single
  make verify job against CUBRID service
- Format 4 Python files to pass ruff format --check
@yeongseon yeongseon merged commit 1fa7982 into main Apr 4, 2026
1 of 2 checks passed
@yeongseon yeongseon deleted the feat/verify-infrastructure-v2 branch April 4, 2026 14:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant