{ "cells": [ { "cell_type": "code", "execution_count": 1, "id": "2a18229d-090c-4ef2-9abd-cdc5ddbc8e7e", "metadata": {}, "outputs": [], "source": [ "%load_ext pytest_notebook.ipy_magic" ] }, { "cell_type": "code", "execution_count": 2, "id": "2b8c2905-f313-436b-acea-90c7b4383080", "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\u001b[1m============================= test session starts ==============================\u001b[0m\n", "platform linux -- Python 3.9.2, pytest-6.2.5, py-1.11.0, pluggy-1.0.0 -- /usr/bin/python3\n", "cachedir: .pytest_cache\n", "rootdir: /tmp/tmpxcw8a1j7, configfile: pytest.ini\n", "plugins: anyio-3.6.1, pytest_notebook-0.7.0\n", "\u001b[1mcollecting ... \u001b[0mcollected 17 items\n", "\n", "test_ipycell.py::test_generic[example_fsm_hysteresis.ipynb] \u001b[32mPASSED\u001b[0m\u001b[32m [ 5%]\u001b[0m\n", "test_ipycell.py::test_generic[fun_stuff.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 11%]\u001b[0m\n", "test_ipycell.py::test_generic[generator_functions.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 17%]\u001b[0m\n", "test_ipycell.py::test_generic[gray_counter.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 23%]\u001b[0m\n", "test_ipycell.py::test_generic[advanced_generators.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 29%]\u001b[0m\n", "test_ipycell.py::test_generic[arith_pitfalls.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 35%]\u001b[0m\n", "test_ipycell.py::test_generic[myhdl_concat.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 41%]\u001b[0m\n", "test_ipycell.py::test_generic[bool_pitfalls.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 47%]\u001b[0m\n", "test_ipycell.py::test_generic[conditional_pitfalls.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 52%]\u001b[0m\n", "test_ipycell.py::test_generic[pipeline_generators.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 58%]\u001b[0m\n", "test_ipycell.py::test_generic[class_factories.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 64%]\u001b[0m\n", "test_ipycell.py::test_generic[codec10b8b.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 70%]\u001b[0m\n", "test_ipycell.py::test_generic[soc_auxiliaries.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 76%]\u001b[0m\n", "test_ipycell.py::test_generic[crc.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 82%]\u001b[0m\n", "test_ipycell.py::test_generic[tdpram.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 88%]\u001b[0m\n", "test_ipycell.py::test_generic[example_barrelshifter.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [ 94%]\u001b[0m\n", "test_ipycell.py::test_generic[composite_classes.ipynb] \u001b[32mPASSED\u001b[0m\u001b[33m [100%]\u001b[0m\n", "\n", "\u001b[33m================= \u001b[32m17 passed\u001b[0m, \u001b[33m\u001b[1m17 warnings\u001b[0m\u001b[33m in 121.13s (0:02:01)\u001b[0m\u001b[33m ==================\u001b[0m\n" ] } ], "source": [ "%%pytest -v --color=yes --disable-warnings --nb-exec-timeout 50\n", "\n", "---\n", "[pytest]\n", "nb_test_files = True\n", "nb_diff_ignore = \n", " /cells/*/outputs/*/data/image/svg+xml\n", "nb_diff_replace =\n", " /cells/*/outputs/*/data/text .*graphviz\\.files\\.Source.* \"GRAPH-FILE\"\n", " /cells/*/outputs/*/data/text .*graphviz\\.dot\\..* \"DOTGRAPH\"\n", " /cells/*/outputs/*/data/text .*myhdl._block.* \"BLOCK\"\n", " /cells/*/outputs/*/data/text \\-\\-.Date:.* \"DATE\"\n", " /cells/*/outputs/*/text \\-\\-.Date:.* \"DATE\"\n", " /cells/*/outputs/*/data/text .*/tmp/myirl.* \"TMPFILE\" \n", " /cells/*/outputs/*/data/text/html .*svg_container.* \"SVG\" \n", " /cells/*/outputs/*/text .*-rw\\-r\\-\\-r\\-\\-.* \"FILE\"\n", " /cells/*/outputs/*/text .*Finished.(.*).in.*secs \"ELAB_TIME\"\n", " /cells/*/outputs/*/text .*.at.0x.* \"PYOBJ\"\n", " /cells/*/outputs/*/data/text .*.at.0x.* \"PYOBJ\"\n", " /cells/*/outputs/*/text .*.* \"IPYTHON\" \n", " /cells/*/outputs/*/text .*ipykernel_.*\\.py \"IPYKERNEL\"\n", " /cells/*/outputs/*/text .*/tmp/myirl.* \"TMPDIR\"\n", " /cells/*/outputs/*/data/text .*/home/.*/ \"HOMEDIR\" \n", " /cells/*/outputs/*/text .*/home/.*/ \"HOMEDIR\" \n", "\n", "---\n", "\n", "import sys\n", "import importlib_resources\n", "\n", "sys.path.insert(0, \"/home/jovyan\")\n", "sys.path.insert(0, \"/home/testing\")\n", "sys.path.insert(0, \"/home/testing/src/myhdl2/myhdl.v2we\")\n", "\n", "\n", "import pytest\n", "import examples\n", "\n", "\n", "VERIFIED = [\n", " \"example_fsm_hysteresis.ipynb\",\n", " \"fun_stuff.ipynb\",\n", " \"generator_functions.ipynb\",\n", " \"gray_counter.ipynb\",\n", " \"advanced_generators.ipynb\",\n", " \"arith_pitfalls.ipynb\", \"myhdl_concat.ipynb\",\n", " \"bool_pitfalls.ipynb\", \"conditional_pitfalls.ipynb\",\n", " \"pipeline_generators.ipynb\",\n", " \"class_factories.ipynb\",\n", " \"codec10b8b.ipynb\", \"soc_auxiliaries.ipynb\",\n", " \"crc.ipynb\", \"tdpram.ipynb\",\n", " \"example_barrelshifter.ipynb\", \n", " \"composite_classes.ipynb\",\n", " #\"target_rtlil.ipynb\",\n", " # \"test_pipe.ipynb\",\n", " # \"wavelet.ipynb\"\n", "\n", "]\n", "\n", "\n", "@pytest.mark.parametrize(\"uut\", VERIFIED)\n", "def test_generic(nb_regression, uut):\n", " nb_regression.force_regen = True\n", "\n", " with importlib_resources.path(examples, uut) as path:\n", " nb_regression.check(str(path))" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.2" } }, "nbformat": 4, "nbformat_minor": 5 }