feat(examples): enhance bug_checkand full_test with detailed verification and summary
- New Features: - Added comprehensive test runner that cleans up temporary directories, verifies generated files, and prints a pass/fail summary. - Introduced specific validation for pytest configuration, Vite integration, and Dockerfile dependencies based on selected metadata. - Implemented clear pass/fail reporting with overall success metrics. - Enhancements: - Refactored bug_check.py to use explicit data structures and consistent double‑quote quoting for path construction. - Improved formatting and readability of metadata definitions and context preparation. - Fixed Windows‑specific path handling regression by switching to double‑quoted string interpolation. - Bug Fixes: - Corrected path building to use double‑quoted strings, preventing potential path parsing issues on Windows.
This commit is contained in:
5 files changed
+427
-113
No files matched your search
+14
-10
@@ -6,7 +6,7 @@ Bug detection and checking script for djinit.
|
||||
import os
|
||||
import sys
|
||||
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', 'src'))
|
||||
sys.path.insert(0, os.path.join(os.path.dirname(__file__), "..", "src"))
|
||||
|
||||
from djinit.templater import template_engine
|
||||
|
||||
@@ -59,7 +59,7 @@ def check_metadata_usage():
|
||||
|
||||
# Check requirements template
|
||||
req_template = "project/requirements-tpl"
|
||||
req_content = open(os.path.join(os.path.dirname(__file__), '..', 'src/djinit/templates', req_template)).read()
|
||||
req_content = open(os.path.join(os.path.dirname(__file__), "..", "src/djinit/templates", req_template)).read()
|
||||
|
||||
issues = []
|
||||
for field in metadata_fields:
|
||||
@@ -86,7 +86,16 @@ def check_all_use_cases():
|
||||
{"name": "tailwind", "metadata": {"use_tailwind": True}},
|
||||
{"name": "htmx", "metadata": {"use_htmx": True}},
|
||||
{"name": "docker_mysql", "metadata": {"use_docker": True, "database_type": "mysql"}},
|
||||
{"name": "all", "metadata": {"use_docker": True, "use_vite": True, "use_tailwind": True, "use_htmx": True, "database_type": "postgresql"}},
|
||||
{
|
||||
"name": "all",
|
||||
"metadata": {
|
||||
"use_docker": True,
|
||||
"use_vite": True,
|
||||
"use_tailwind": True,
|
||||
"use_htmx": True,
|
||||
"database_type": "postgresql",
|
||||
},
|
||||
},
|
||||
]
|
||||
|
||||
issues = []
|
||||
@@ -95,12 +104,7 @@ def check_all_use_cases():
|
||||
name = case["name"]
|
||||
md = case["metadata"]
|
||||
|
||||
ctx = {
|
||||
"project_name": "test",
|
||||
"module_name": "config",
|
||||
"use_database_url": True,
|
||||
**md
|
||||
}
|
||||
ctx = {"project_name": "test", "module_name": "config", "use_database_url": True, **md}
|
||||
|
||||
# Check requirements
|
||||
try:
|
||||
@@ -243,4 +247,4 @@ def main():
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
main()
|
||||
Reference in new issue
Block a user