verify-migration.sh 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174
  1. #!/bin/bash
  2. # Verification script for test migration
  3. # Checks that migrated tests are identical to originals
  4. set -e
  5. echo "🔍 Verifying OpenAgent Test Migration"
  6. echo ""
  7. ERRORS=0
  8. # Function to compare files
  9. compare_files() {
  10. local original=$1
  11. local migrated=$2
  12. local name=$3
  13. if [ ! -f "$original" ]; then
  14. echo " ⚠️ Original not found: $original"
  15. return
  16. fi
  17. if [ ! -f "$migrated" ]; then
  18. echo " ❌ Migrated file missing: $migrated"
  19. ((ERRORS++))
  20. return
  21. fi
  22. if diff -q "$original" "$migrated" > /dev/null 2>&1; then
  23. echo " ✅ $name"
  24. else
  25. echo " ❌ $name - FILES DIFFER!"
  26. ((ERRORS++))
  27. fi
  28. }
  29. echo "📋 Checking migrated test files..."
  30. echo ""
  31. # Critical Rules - Approval Gate
  32. echo "01-critical-rules/approval-gate/"
  33. compare_files \
  34. "edge-case/no-approval-negative.yaml" \
  35. "01-critical-rules/approval-gate/01-skip-approval-detection.yaml" \
  36. "skip-approval-detection"
  37. compare_files \
  38. "edge-case/missing-approval-negative.yaml" \
  39. "01-critical-rules/approval-gate/02-missing-approval-negative.yaml" \
  40. "missing-approval-negative"
  41. compare_files \
  42. "business/conv-simple-001.yaml" \
  43. "01-critical-rules/approval-gate/03-conversational-no-approval.yaml" \
  44. "conversational-no-approval"
  45. echo ""
  46. # Critical Rules - Context Loading
  47. echo "01-critical-rules/context-loading/"
  48. compare_files \
  49. "developer/ctx-code-001.yaml" \
  50. "01-critical-rules/context-loading/01-code-task.yaml" \
  51. "code-task"
  52. compare_files \
  53. "developer/ctx-docs-001.yaml" \
  54. "01-critical-rules/context-loading/02-docs-task.yaml" \
  55. "docs-task"
  56. compare_files \
  57. "developer/ctx-tests-001.yaml" \
  58. "01-critical-rules/context-loading/03-tests-task.yaml" \
  59. "tests-task"
  60. compare_files \
  61. "developer/ctx-delegation-001.yaml" \
  62. "01-critical-rules/context-loading/04-delegation-task.yaml" \
  63. "delegation-task"
  64. compare_files \
  65. "developer/ctx-review-001.yaml" \
  66. "01-critical-rules/context-loading/05-review-task.yaml" \
  67. "review-task"
  68. compare_files \
  69. "context-loading/ctx-simple-coding-standards.yaml" \
  70. "01-critical-rules/context-loading/06-simple-coding-standards.yaml" \
  71. "simple-coding-standards"
  72. compare_files \
  73. "context-loading/ctx-multi-standards-to-docs.yaml" \
  74. "01-critical-rules/context-loading/09-multi-standards-to-docs.yaml" \
  75. "multi-standards-to-docs"
  76. echo ""
  77. # Critical Rules - Stop on Failure
  78. echo "01-critical-rules/stop-on-failure/"
  79. compare_files \
  80. "developer/fail-stop-001.yaml" \
  81. "01-critical-rules/stop-on-failure/01-test-failure-stop.yaml" \
  82. "test-failure-stop"
  83. echo ""
  84. # Workflow Stages - Execute
  85. echo "02-workflow-stages/execute/"
  86. compare_files \
  87. "developer/task-simple-001.yaml" \
  88. "02-workflow-stages/execute/01-simple-task.yaml" \
  89. "simple-task"
  90. compare_files \
  91. "developer/create-component.yaml" \
  92. "02-workflow-stages/execute/02-create-component.yaml" \
  93. "create-component"
  94. echo ""
  95. # Execution Paths - Task
  96. echo "04-execution-paths/task/"
  97. compare_files \
  98. "developer/install-dependencies.yaml" \
  99. "04-execution-paths/task/01-install-dependencies.yaml" \
  100. "install-dependencies"
  101. echo ""
  102. # Edge Cases - Overrides
  103. echo "05-edge-cases/overrides/"
  104. compare_files \
  105. "edge-case/just-do-it.yaml" \
  106. "05-edge-cases/overrides/01-just-do-it.yaml" \
  107. "just-do-it"
  108. echo ""
  109. # Integration - Medium
  110. echo "06-integration/medium/"
  111. compare_files \
  112. "developer/ctx-multi-turn-001.yaml" \
  113. "06-integration/medium/01-multi-turn-context.yaml" \
  114. "multi-turn-context"
  115. compare_files \
  116. "business/data-analysis.yaml" \
  117. "06-integration/medium/02-data-analysis.yaml" \
  118. "data-analysis"
  119. echo ""
  120. echo "📊 Summary"
  121. echo "=========="
  122. # Count files
  123. MIGRATED_COUNT=$(find 0[1-6]-* -name "*.yaml" 2>/dev/null | wc -l | tr -d ' ')
  124. echo "Migrated tests: $MIGRATED_COUNT"
  125. # Count by category
  126. echo ""
  127. echo "By category:"
  128. for dir in 0[1-6]-*/; do
  129. count=$(find "$dir" -name "*.yaml" 2>/dev/null | wc -l | tr -d ' ')
  130. echo " $(basename $dir): $count tests"
  131. done
  132. echo ""
  133. if [ $ERRORS -eq 0 ]; then
  134. echo "✅ All migrated tests verified successfully!"
  135. exit 0
  136. else
  137. echo "❌ Found $ERRORS error(s) in migration"
  138. exit 1
  139. fi