- Added global config manager. #141
- fetch now accepts additional parameters correctly in node runner. #138
- Expose AbortController and AbortSignal to the node runner. #137
- Fixed safari compatibility with Selenium 4.20 #135
- Fixed a bug in webworker test template files. #127
- Added webworker test template files into the package. #112
- Reverted #121
-
If Pyodide includes tblib 3.0, pytest-pyodide will now use it correctly. #122
-
The entire node global scope is now included in the node runner, whereas previously we included the minimal set of names that were needed for Pyodide to run. #121
-
Added support for running doctests in Pyodide if they have
# doctest: +RUN_IN_PYODIDE
on the first line. #117 -
Added support in
@run_in_pyodide
for arbitrary function definitions, including positional only and keyword only arguments, varargs and kwargs, type annotations, and argument default values. #116 #119
- BREAKING: dropped support for Node < 18. #113
- Removed the ctypes dependency so it can be used with Python builds with dynamic linking disabled. #110
-
The Github reusable workflow
testall.yaml
does not accept asterisks ("*") in parameters. If you want to use the default value, you can omit the parameter. #86 -
The Github reusable workflow
testall.yaml
now receives parameters without square brackets. #86
-
Added compatibility for a lock file named
pyodide-lock.json
in addition torepodata.json
. #96 -
Don't use the deprecated
pyodide.isPyProxy
API whenpyodide.ffi.PyProxy
is available. #97
- Removed use of
executable_path
from selenium driver construction to make pytest-pyodide compatible with Selenium v4.10. #93
-
Removed
JsException
unpickle special case. This was fixed by pyodide/pyodide#3387. #91 -
Dropped support for Pyodide version
0.21.x
. #91
- Added test templates files in the package. #87
-
Add auto-setting of python version and runner version based on pyodide version. #66
-
Add support for custom headers in the pytest web server code, by setting the
extra_headers
parameter in thespawn_web_server
function. #39 -
Breaking: removed STANDALONE_REFRESH env variable which was used to override
selenium_standalone
fixture withselenium_standalone_refresh
. #65 -
Added command line option
--run-in-pyodide
. This will run a set of normal pytest tests in pyodide using the same testing architecture used for running dedicated pyodide tests. #62 -
Breaking:
--runtime
commandline flag now requires runtimes to be comma-separated. #76 -
Add support for a custom
SimpleHTTPRequestHandler
class in the pytest webserver code, by passing thehandler_cls
parameter in thespawn_web_server
function. #47
- Fixes for Python 3.11: there are some bugs with
ast.fix_missing_locations
in Python 3.11.0. #60
- Breaking: altered the way that
PyodideHandle
is received inside the Pyodide function so that it is transparent to the callee: the handle is automatically converted into the wrapped object. #54
JsException
raise from within pyodide is now unpickled correctly in the host. (#45)- Improve error messages when unpickling error messages with objects that don't exist in the host environment (#46)
- Added the
PyodideHandle
class which allows returning a reference to a Python object in the Pyodide runtime from a@run_in_pyodide
function. This is useful for fixtures designed to be used with@run_in_pyodide
. (#49)
- Host tests will now run by default. If you want to disable running host tests, add
-no-host
suffix in the--runtime
option. (#33) - Multiple browser testing is now available by passing
--runtime
option multiple times. (#33)
- Re-order safari tests to make sure only one simultaneous session exists during the test (#29)
- Use forked tblib and clean up tracebacks (#22)
- A first stable release of
pytest-pyodide
.