web-ext creates profiles at /tmp/firefox-profile* not /tmp/tmp-*
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Debugger port doesn't prove extension code executed (Firefox opens it).
New approach:
- Extension writes marker to browser.storage.local on init
- Test script checks Firefox profile for storage.js file
- Verifies _rentgen_init_timestamp and _rentgen_init_iso keys
This proves:
- background.ts executed
- browser.storage.local.set() succeeded
- Extension has working browser API access
Non-invasive: storage is only used for automated tests
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Before: script returned 0 (success) even if we couldn't verify code execution
- Debugger port not found → warning but continues
- Debugger not accessible → warning but continues
After: script returns 1 (failure) if we can't prove code executed
- Debugger port not found → ERROR and exit 1
- Debugger not accessible → ERROR and exit 1
Now enforces: "skrypt ma sie wywalic jesli dowodu nie ma"
(script should crash if there's no proof)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Converted bash test script to Python for better maintainability:
- Guard clause pattern replaces nested if statements
- Early returns for cleaner control flow
- Type hints for better documentation
- Proper error handling and cleanup
- More readable and testable code structure
Features:
- Starts Xvfb and web-ext
- Waits for extension installation
- Checks for JavaScript errors
- Verifies debugger connectivity
- Clean process termination
Usage: scripts/test_verify.py
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>