test: add pytest suite — CLI smoke + config/templates/md_to_pdf units
- tests/conftest.py redirects MYTOOLKIT_HOME to a temp dir before imports so the module-level Config singleton never touches the real ~/.mytoolkit - CLI smoke: every registered command answers --help with exit code 0 - unit tests: Config get/set/migrate, templates_registry override/fallback, md_to_pdf pure helpers (pandoc-dependent cases skipif-guarded) - pyproject: dev dependency group (pytest) + pytest config; Makefile: make test
This commit is contained in:
@@ -1,13 +1,14 @@
|
||||
ROOT_DIR := $(shell pwd)
|
||||
PYTHON ?= python3
|
||||
|
||||
.PHONY: help install uninstall sync-skill
|
||||
.PHONY: help install uninstall sync-skill test
|
||||
|
||||
help:
|
||||
@echo "Usage: make [target]"
|
||||
@echo ""
|
||||
@echo " install Install mytoolkit in editable mode (current Python) and sync skill"
|
||||
@echo " sync-skill Copy the bundled agent skill to ~/.agents/skills/mytoolkit/"
|
||||
@echo " test Run the pytest suite"
|
||||
@echo " uninstall Uninstall mytoolkit and remove shell completions"
|
||||
|
||||
install:
|
||||
@@ -28,3 +29,11 @@ sync-skill:
|
||||
|
||||
uninstall:
|
||||
@mytoolkit uninstall || $(PYTHON) -m pip uninstall mytoolkit -y
|
||||
|
||||
test:
|
||||
@cd "$(ROOT_DIR)" && \
|
||||
if command -v uv >/dev/null 2>&1; then \
|
||||
uv run pytest tests/ -q; \
|
||||
else \
|
||||
$(PYTHON) -m pytest tests/ -q; \
|
||||
fi
|
||||
|
||||
Reference in New Issue
Block a user