-
Notifications
You must be signed in to change notification settings - Fork 18
Open
Description
If one of the supported test runners (e.g. pytest, unittest) is run in-process, the enabled recording methods for the process apply to the test runner.
For example, in this test, the sqlmesh plan subcommand uses a click.testing.CliRunner to run a unittest test, which fails:
tests/cli/test_cli.py::test_plan
----------------------------------------------------------------------
Test Failure Summary
======================================================================
Num Successful Tests: 0
Failure Test: sqlmesh_example.full_model test_example_full_model
======================================================================
E
======================================================================
ERROR: test_example_full_model (/private/var/folders/2g/xqtf8_tn5j1861bbkvvhtmmr0000gn/T/pytest-of-ajp/pytest-159/test_plan0/tests/test_full_model.yaml)
----------------------------------------------------------------------
Traceback (most recent call last):
File "/Users/ajp/src/applandinc/appmap-python/_appmap/wrapt/wrappers.py", line 744, in __call__
return self._self_wrapper(self.__wrapped__, self._self_instance,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajp/src/applandinc/appmap-python/_appmap/unittest.py", line 36, in callTestMethod
with _session.record(test_case.__class__, method_name, location=location) as metadata:
File "/Users/ajp/.asdf/installs/python/3.12.2/lib/python3.12/contextlib.py", line 137, in __enter__
return next(self.gen)
^^^^^^^^^^^^^^
File "/Users/ajp/src/applandinc/appmap-python/_appmap/testing_framework.py", line 119, in record
with rec, environ.disabled("requests"):
File "/Users/ajp/src/applandinc/appmap-python/_appmap/recording.py", line 47, in __enter__
self.start()
File "/Users/ajp/src/applandinc/appmap-python/_appmap/recording.py", line 32, in start
r.start_recording()
File "/Users/ajp/src/applandinc/appmap-python/_appmap/recorder.py", line 108, in start_recording
cls.get_current()._start_recording() # pylint: disable=protected-access
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/ajp/src/applandinc/appmap-python/_appmap/recorder.py", line 236, in _start_recording
super()._start_recording()
File "/Users/ajp/src/applandinc/appmap-python/_appmap/recorder.py", line 158, in _start_recording
raise RuntimeError("Recording already in progress")
RuntimeError: Recording already in progress
----------------------------------------------------------------------
Ran 1 test in 0.165s
FAILED (errors=1)
Error: Cannot generate plan due to failing test(s). Fix test(s) and run again
FAILED
============================================================================================ FAILURES ============================================================================================
Metadata
Metadata
Assignees
Labels
No labels