All Vader test suites are now passing! The issues have been resolved by fixing Python path initialization and making imports lazy.
autopep8.vader- All 8 tests passing ✅commands.vader- All 7 tests passing ✅folding.vader- All tests passinglint.vader- All tests passingmotion.vader- All tests passingrope.vader- All tests passingsimple.vader- All tests passingtextobjects.vader- All tests passing
Issue: Python module imports were failing because:
- Python paths were not initialized before autoload files imported Python modules
- Top-level imports in
autoload/pymode/lint.vimexecuted beforepatch_paths()added submodules to sys.path
Solution:
-
Fixed
tests/vader/setup.vim:- Added Python path initialization (
pymode#init()) before loading autoload files that import Python modules - Ensured
patch_paths()is called to add submodules to sys.path - Used robust plugin root detection
- Added Python path initialization (
-
Fixed
autoload/pymode/lint.vim:- Made
code_checkimport lazy (moved from top-level to insidepymode#lint#check()function) - This ensures Python paths are initialized before the import happens
- Made
Files Modified:
tests/vader/setup.vim- Added Python path initializationautoload/pymode/lint.vim- Made imports lazy
- ✅ Added Vader.vim installation to Dockerfile
- ✅ Improved test runner script error handling
- ✅ Enhanced success detection for Vader output
- ✅ Changed to use Vim's -es mode for better output handling