|
| 1 | +# Known Test Failures - Investigation Required |
| 2 | + |
| 3 | +## Status: Partially Fixed |
| 4 | + |
| 5 | +The Vader test infrastructure has been improved with Vader.vim installation in Dockerfile and enhanced test runner script. However, some tests are still failing due to python-mode functionality issues. |
| 6 | + |
| 7 | +## Test Results Summary |
| 8 | + |
| 9 | +### ✅ Passing Test Suites (6/8) |
| 10 | +- `folding.vader` - All tests passing |
| 11 | +- `lint.vader` - All tests passing |
| 12 | +- `motion.vader` - All tests passing |
| 13 | +- `rope.vader` - All tests passing |
| 14 | +- `simple.vader` - All tests passing |
| 15 | +- `textobjects.vader` - All tests passing |
| 16 | + |
| 17 | +### ⚠️ Failing Test Suites (2/8) |
| 18 | + |
| 19 | +#### 1. autopep8.vader - 1/8 tests passing |
| 20 | + |
| 21 | +**Error:** |
| 22 | +``` |
| 23 | +E117: Unknown function: pymode#lint#auto |
| 24 | +``` |
| 25 | + |
| 26 | +**Root Cause:** |
| 27 | +The `pymode#lint#auto` function is defined in `autoload/pymode/lint.vim` but is not being loaded/available in the Vader test environment. |
| 28 | + |
| 29 | +**Affected Tests:** |
| 30 | +- Test multiple formatting issues |
| 31 | +- Test autopep8 with class formatting |
| 32 | +- Test autopep8 with long lines |
| 33 | +- Test autopep8 with imports |
| 34 | +- Test autopep8 preserves functionality |
| 35 | +- Test autopep8 with well-formatted code |
| 36 | + |
| 37 | +**Investigation Needed:** |
| 38 | +1. Verify autoload function loading mechanism in Vader test setup |
| 39 | +2. Check if `autoload/pymode/lint.vim` is being sourced properly |
| 40 | +3. Verify python-mode plugin initialization sequence in test containers |
| 41 | +4. Check if runtimepath includes autoload directories correctly |
| 42 | + |
| 43 | +#### 2. commands.vader - 6/7 tests passing |
| 44 | + |
| 45 | +**Error:** |
| 46 | +``` |
| 47 | +PymodeLintAuto produced no changes |
| 48 | +``` |
| 49 | + |
| 50 | +**Root Cause:** |
| 51 | +One test expects `PymodeLintAuto` to format code, but it's not producing changes. This is likely related to the same autoload function loading issue affecting autopep8.vader. |
| 52 | + |
| 53 | +**Affected Test:** |
| 54 | +- Test PymodeLintAuto command |
| 55 | + |
| 56 | +**Investigation Needed:** |
| 57 | +1. Same as autopep8.vader - autoload function loading |
| 58 | +2. Verify PymodeLintAuto command is properly registered |
| 59 | +3. Check if autopep8 functionality is working in test environment |
| 60 | + |
| 61 | +## Fixes Applied |
| 62 | + |
| 63 | +### Commit: 48c868a |
| 64 | +- ✅ Added Vader.vim installation to Dockerfile |
| 65 | +- ✅ Improved test runner script error handling |
| 66 | +- ✅ Enhanced success detection for Vader output |
| 67 | +- ✅ Changed to use Vim's -es mode for better output handling |
| 68 | + |
| 69 | +## Next Steps |
| 70 | + |
| 71 | +1. **Investigate autoload function loading** |
| 72 | + - Check `tests/utils/vimrc` runtimepath configuration |
| 73 | + - Verify autoload directory is in runtimepath |
| 74 | + - Test manual loading of `autoload/pymode/lint.vim` |
| 75 | + |
| 76 | +2. **Debug test environment** |
| 77 | + - Run tests with verbose Vim output |
| 78 | + - Check if python-mode plugin is fully initialized |
| 79 | + - Verify all autoload functions are available |
| 80 | + |
| 81 | +3. **Fix autoload loading** |
| 82 | + - Ensure autoload functions are loaded before tests run |
| 83 | + - May need to explicitly source autoload files in test setup |
| 84 | + - Or ensure runtimepath is correctly configured |
| 85 | + |
| 86 | +## Related Files |
| 87 | + |
| 88 | +- `autoload/pymode/lint.vim` - Contains `pymode#lint#auto` function |
| 89 | +- `ftplugin/python/pymode.vim` - Defines `PymodeLintAuto` command |
| 90 | +- `tests/utils/vimrc` - Test configuration file |
| 91 | +- `tests/vader/setup.vim` - Vader test setup |
| 92 | +- `tests/vader/autopep8.vader` - Failing test suite |
| 93 | +- `tests/vader/commands.vader` - Partially failing test suite |
| 94 | + |
0 commit comments