You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Refactors and fixes for the metatests:
- Uses a consistent temporary directory, allowing for the daemon to detect changes
- VS Code config uses watchman
- Daemon VS Code config watches `/tmp/_metatests`
- Removed code that wrote a `.gitignore` file as it is obsolete
- Added `file_changes.py` which contains non-test changes
- Added another test file, `test_file_changes.py`
- Added additional test cases including one that brings out the bug that was fixed
- Fixed async tests being skipped. They for sure worked before but seemed to have broke when a temporary directory was used and pytest was no longer using the same config.
Refactors and fixes for the client / daemon:
- The default jurigged logging is used again. Before a placeholder was used to avoid duplicated output, but it no longer appears to be needed. The behavior seems correct without any changes.
- Reduced retries for waiting on the daemon to come up, from 1000 to 100. The 1000 value seemed excessive
- Pytest arguments are passed from the client to the server when the server is automatically started. Note that includes tests to run, but the nature of the daemon results in it having no effect. This was needed because the server wasn't using the plugin and possibly other plugins or relevant plugin arguments that were provided to the client.
- The server now returns an explicit stacktrace back to the client rather than using the built-in error handling of the XML RPC server. The XML RPC server was only giving the error and the error message, which can be insufficient.
- The server no longer restores the current working directory. In the case of using temporary directories, the cwd would get deleted resulting in a cryptic file not found error after the tests successfully ran. Storing and restoring the cwd before and after test runs didn't seem to provide value.
- Fixed bug where the hot reloading was attempting to access a global function that didn't exist, if the updated function was actually the method or static method of a class. This also resulted in a refactor of how function signatures are checked. It now pulls `self.node` rather than attempting to pull the old function from the global scope. The signatures are pulled from the AST, and then just the names of the arguments are copied for the purposes of detecting signature changes.
- Added comments so its easier to trace args to where they get plugged in
Notes:
- Resolves#71
0 commit comments