From 12df01149fccf1ffe17b1c43e0ce0806e07cdf58 Mon Sep 17 00:00:00 2001 From: Phil Weir Date: Sun, 28 Jun 2020 01:12:48 +0100 Subject: [PATCH] asynchronous quart server --- 022-burette/magnum_opus_ii/.coverage | Bin 0 -> 53248 bytes 022-burette/magnum_opus_ii/.gitignore | 4 + 022-burette/magnum_opus_ii/Dockerfile | 24 + 022-burette/magnum_opus_ii/MANIFEST.in | 1 + 022-burette/magnum_opus_ii/README.md | 46 + 022-burette/magnum_opus_ii/RULES.md | 9 + 022-burette/magnum_opus_ii/docker-compose.yml | 11 + .../magnum_opus_ii/docker/storage/storage.db | Bin 0 -> 8192 bytes 022-burette/magnum_opus_ii/gunicorn_config.py | 5 + 022-burette/magnum_opus_ii/init_containers.sh | 6 + 022-burette/magnum_opus_ii/init_entrypoint.sh | 3 + .../magnum_opus_ii/magnumopus/__init__.py | 22 + .../magnum_opus_ii/magnumopus/config.py | 7 + .../magnum_opus_ii/magnumopus/index.py | 3 + .../magnum_opus_ii/magnumopus/initialize.py | 9 + .../magnum_opus_ii/magnumopus/injection.py | 26 + .../magnum_opus_ii/magnumopus/logger.py | 6 + .../magnumopus/models/__init__.py | 11 + .../magnum_opus_ii/magnumopus/models/base.py | 3 + .../magnumopus/models/substance.py | 40 + .../magnumopus/repositories/__init__.py | 18 + .../magnumopus/repositories/list_pantry.py | 26 + .../magnumopus/repositories/pantry.py | 25 + .../repositories/sqlalchemy_pantry.py | 31 + .../magnumopus/resources/__init__.py | 7 + .../resources/alembic_instruction.py | 57 + .../magnumopus/resources/substance.py | 49 + .../magnumopus/schemas/__init__.py | 22 + .../magnumopus/schemas/substance_schema.py | 19 + .../magnumopus/services/__init__.py | 9 + .../magnumopus/services/alembic.py | 51 + .../services/alembic_instruction_handler.py | 36 + .../magnumopus/services/assessor.py | 2 + 022-burette/magnum_opus_ii/pytestdebug.log | 4688 +++++++++++++++++ 022-burette/magnum_opus_ii/requirements.txt | 9 + 022-burette/magnum_opus_ii/setup.cfg | 34 + 022-burette/magnum_opus_ii/setup.py | 14 + 022-burette/magnum_opus_ii/tests/__init__.py | 4 + .../tests/application/.coverage | Bin 0 -> 53248 bytes .../tests/application/__init__.py | 0 .../test_alembic_instruction_resource.py | 49 + .../application/test_philosophers_stone.py | 7 + .../application/test_substance_resource.py | 52 + 022-burette/magnum_opus_ii/tests/conftest.py | 19 + .../magnum_opus_ii/tests/domain/__init__.py | 0 .../tests/domain/test_alembic.py | 81 + .../test_alembic_instruction_handler.py | 37 + .../tests/domain/test_pantry.py | 38 + .../tests/domain/test_substance.py | 49 + 022-burette/magnum_opus_ii/tox.ini | 6 + 50 files changed, 5675 insertions(+) create mode 100644 022-burette/magnum_opus_ii/.coverage create mode 100644 022-burette/magnum_opus_ii/.gitignore create mode 100644 022-burette/magnum_opus_ii/Dockerfile create mode 100644 022-burette/magnum_opus_ii/MANIFEST.in create mode 100644 022-burette/magnum_opus_ii/README.md create mode 100644 022-burette/magnum_opus_ii/RULES.md create mode 100644 022-burette/magnum_opus_ii/docker-compose.yml create mode 100644 022-burette/magnum_opus_ii/docker/storage/storage.db create mode 100644 022-burette/magnum_opus_ii/gunicorn_config.py create mode 100755 022-burette/magnum_opus_ii/init_containers.sh create mode 100755 022-burette/magnum_opus_ii/init_entrypoint.sh create mode 100644 022-burette/magnum_opus_ii/magnumopus/__init__.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/config.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/index.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/initialize.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/injection.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/logger.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/models/__init__.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/models/base.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/models/substance.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/repositories/__init__.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/repositories/list_pantry.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/repositories/pantry.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/repositories/sqlalchemy_pantry.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/resources/__init__.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/resources/alembic_instruction.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/resources/substance.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/schemas/__init__.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/schemas/substance_schema.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/services/__init__.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/services/alembic.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/services/alembic_instruction_handler.py create mode 100644 022-burette/magnum_opus_ii/magnumopus/services/assessor.py create mode 100644 022-burette/magnum_opus_ii/pytestdebug.log create mode 100644 022-burette/magnum_opus_ii/requirements.txt create mode 100644 022-burette/magnum_opus_ii/setup.cfg create mode 100644 022-burette/magnum_opus_ii/setup.py create mode 100644 022-burette/magnum_opus_ii/tests/__init__.py create mode 100644 022-burette/magnum_opus_ii/tests/application/.coverage create mode 100644 022-burette/magnum_opus_ii/tests/application/__init__.py create mode 100644 022-burette/magnum_opus_ii/tests/application/test_alembic_instruction_resource.py create mode 100644 022-burette/magnum_opus_ii/tests/application/test_philosophers_stone.py create mode 100644 022-burette/magnum_opus_ii/tests/application/test_substance_resource.py create mode 100644 022-burette/magnum_opus_ii/tests/conftest.py create mode 100644 022-burette/magnum_opus_ii/tests/domain/__init__.py create mode 100644 022-burette/magnum_opus_ii/tests/domain/test_alembic.py create mode 100644 022-burette/magnum_opus_ii/tests/domain/test_alembic_instruction_handler.py create mode 100644 022-burette/magnum_opus_ii/tests/domain/test_pantry.py create mode 100644 022-burette/magnum_opus_ii/tests/domain/test_substance.py create mode 100644 022-burette/magnum_opus_ii/tox.ini diff --git a/022-burette/magnum_opus_ii/.coverage b/022-burette/magnum_opus_ii/.coverage new file mode 100644 index 0000000000000000000000000000000000000000..acffb036006a2fd0428756bfafc1028b3539f7f7 GIT binary patch literal 53248 zcmeI4TWlOx8GvVYW@mQxcGg~Bl%~NWB;;7Jy|Kfk4M-sbKeP#I8`1`mhRy8y*q(TI z#+jL2+f4%+w^AOs2(<`Q-~l9{4@k5RG(r&)541?|fFJ<`Z9^qMln01Zgt({(@&9x2 zjuShI1miZzKiWO#%*;9GKmYgt=ggeBee|ItrpNU;+i4q~zE7wKq9}Y&*9Ae);9r7& zyr__n;}wX-M0%^FCQKgqO^H1s6qPRu>=UJrv5De0OSQtw#jf^r;aT;x)`A_h5CI}U z1c(3;2nhHO71iM#JH)kfp3!J=&oP?Z3B%H%qcaDO&FIGte(1=I9&Xcj=XF>nCiH{4 zV=wDV+|lRE7S~N{)@&M{Y0c~20*`ZdTt16OJlF=uJj^&5l*d%voP|;zpNA@z9J6gW ztNJ2e9S<@@(mcN6g&Uv}Zq8enL*E@0AJZK^#~p4pxf`}(w>dkOAA90cd3Cs270>fP zC&OvNudqQI*w9nuzB#C&Ci}Ro1g3WpCOxo7l3a?*?F{;qkL$gX z&>JngvC-E8k8wG45Eu*MY;zr}iCx7-9h!ERJH|YpjP{1Z!dvY~;5t*9 zGCVV~mFuj#Kz(XGnfG@n>hR8;;+ht?QDm(sQa89zY{^ZA(Rf#z8*aym2a+2Nl5vUN zC>i&WXb-3}p(?`%cW$Lll&?M&C33zhtHXnXq967M9GCE)-Jk?+>2-l?4g@#f{3XL% z(64VhZia@BW|iUh4{p_PY(jksL*5h%#M05Pki@=s>RycNOcH?~VpdiH|8bx*vnS7I!O1wA+R? z8y%+b=o{7wLq7INloO5}P*5L*zUV^Fyr#~$(r7OZRB`>2OMn7vZ5y*;FGpJ>YFu96 z*HsrDgg$I|+%wx;$1Fi(0)JXIT)pXV*a?Twu~F$p)<+}Nr!d4>at=>q{1H(d-m^#a zJ5e7DhnKnw$MUujH#=I*Z19b1cJ|!l0T^fDBq!+}$S#2cS3?OnriB)4gcRaj(J4-T z3@7*^dsBcPEku9_5CI}U1c(3;AOb{y2oM1xKm>@u?MFZoGop&~f0^wN*im+fjY5JJ zB0vO)01+SpM1Tko0U|&IhyW2F0(TODqAcxV@uLxY?~Yn}6)9@>0q@C61#`=3Er~Eylyld@n{6xfw(b|ID=C!2-v*j&w)2SV|oyFQQ$1p8; zvaj~ws<&WUhwP5yLZ)D4q8YC3ot~a(z(Y5l$7^k49-c|6+e;m{Hp#7Stz|Z%?E5C~ zslnrZd}7IHF2ci0E^grCnlt-9pYugCbtGkP6aHF}g;P zDM-7t`0@na{~yY}BCw~~Ncp+)y`>jR4-{W29xhxiJd(eZKcW3zvvP0b&Z_@ZKdX)? z-&O91%(M^zB0vO)z}uNXdq@`i`v3jvbMNYL4X$8&rqMDV<8X<2VGzVUoUS-{ZyF?- z10d;mnv&qf(>ZeSUUtOzSicUO-00`qNgdWzWNx4M3DH^vS|nHcibO?!tWx z_zFVJXmNNayID6a*K<0twq6CaZKv4+mpffEXn^Z-*R@gcvkau3O;u{}a;IB!I}O)^ z&o=Pr{Z0_>mO=R9b_lNnY|{(w{d7wp^h}yUdzN0;8I=euH2G?M$*??U6`d@fwv#zL(S(-idOhJ?Eq!|@gs&^Tk^{M&ZR4Ia zxvGN6t7(ev4JFr)W%UJkr@a*ntF8hJQtjYvdzQBngA0x-*|ddTt33$yWDvSNqj$p6 zmIP9bGz}f`Z5S?|)HoTCXKsVMgpP|M$UKpz%!Dw!|38#{RbXFGUQiBaUsZMWb4)Kk zUwW{3q;S0Oi~QyMqw2r3KWKLDujT!vmx@2iJ^pq+>7}+20U|&Ih=3qivR@a|JdSLb z{|}k6|8UCU!ukK;Y1u!Xs-*S#|3F*zPo^p=IsdPwuGsqgzuy<-wQQ=I^=5^e&;R>6 zvfoa%1-;YO-u%Dvxa^-zSL)XDf9A>l;dCt$tYt>Xm_lA-i&i~ca zJNPE^e01+SpM1Tko0U|&I zhyW2F0z`la+=c`ssifik{{i-Hf&GJBWq)M9Wj|vtvhT6)uy3%hu+OveY=v2DmOaWo z!e-b9AR{eAfCvx)B0vO)01+SpM1Tko0U|&I?hpdXfGld|fs1Mt;!5>mPU*)D{g0LU zAilfrlj=K>grZb%b0w2w5cjjwuPeDSrpmu+zoS&btfl`5cUOdra7r!0YNdEp(h86m zC|ppN3u+#><*gGr4HEs@m!H{@%V8>awI$_MNDZkM&K>w=F0Wu(xp1ZPic-u%`mXHD zpSd#gTpf16T3NndkuZir8Hg*HuBwW%ruBdP(s8{1Kft;IdlSC@{};Fd@EZFy`#Jjw z`yu;2djYNkJj=euo?%b1PqQc4Imk#05g-CYfCvx)B0vO)01+SpM1Tko0U~gd1aQJG z4h#fQwHieI{Xx{%7etjx5HS`+<#G^}N>Y5g-CYfCvzQTap0Y|EKx? zEonMxG!Y;IM1Tko0U|&IhyW2F0z`la5P_Q}fbahgv8V9)|G%?0*q_g!( zq#^h$zch%!00vbI`Z4Ikpn?Izpo~EYgCYh64DuLg800WeF;FnbVjyE6VUWQ9zyJSV D&<%nw literal 0 HcmV?d00001 diff --git a/022-burette/magnum_opus_ii/.gitignore b/022-burette/magnum_opus_ii/.gitignore new file mode 100644 index 0000000..8a3f0fc --- /dev/null +++ b/022-burette/magnum_opus_ii/.gitignore @@ -0,0 +1,4 @@ +*.egg-info +.tox +Pipfile +.env diff --git a/022-burette/magnum_opus_ii/Dockerfile b/022-burette/magnum_opus_ii/Dockerfile new file mode 100644 index 0000000..0c7c8cf --- /dev/null +++ b/022-burette/magnum_opus_ii/Dockerfile @@ -0,0 +1,24 @@ +FROM python:3-alpine + +RUN addgroup -S user && adduser user -S -G user + +WORKDIR /home/user/ + +COPY requirements.txt . +COPY gunicorn_config.py . +COPY setup.py . +COPY setup.cfg . +COPY init_entrypoint.sh / + +RUN pip install hypercorn +RUN pip install -r requirements.txt + +USER user + +EXPOSE 5000 + +ENTRYPOINT [] + +CMD hypercorn --config python:./gunicorn_config.py magnumopus.index:app + +COPY magnumopus magnumopus diff --git a/022-burette/magnum_opus_ii/MANIFEST.in b/022-burette/magnum_opus_ii/MANIFEST.in new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/022-burette/magnum_opus_ii/MANIFEST.in @@ -0,0 +1 @@ + diff --git a/022-burette/magnum_opus_ii/README.md b/022-burette/magnum_opus_ii/README.md new file mode 100644 index 0000000..94ce180 --- /dev/null +++ b/022-burette/magnum_opus_ii/README.md @@ -0,0 +1,46 @@ +Magnum Opus +=========== + +Recipe maker for the philosopher's stone. + + + python3 -m pytest --cov magnumopus >> README.md + + ============================= test session starts ============================== + platform linux -- Python 3.8.2, pytest-5.4.3, py-1.9.0, pluggy-0.13.1 + rootdir: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus + plugins: pep8-1.0.6, cov-2.10.0 + collected 15 items + + tests/domain/test_alembic.py ....... [ 46%] + tests/domain/test_pantry.py .. [ 60%] + tests/domain/test_substance.py ...... [100%] + + ----------- coverage: platform linux, python 3.8.2-final-0 ----------- + Name Stmts Miss Cover + ------------------------------------------------------------------------ + magnumopus/__init__.py 10 8 20% + magnumopus/config.py 4 4 0% + magnumopus/index.py 2 2 0% + magnumopus/initialize.py 6 6 0% + magnumopus/logger.py 4 4 0% + magnumopus/models/__init__.py 3 1 67% + magnumopus/models/base.py 2 0 100% + magnumopus/models/substance.py 24 0 100% + magnumopus/repositories/__init__.py 0 0 100% + magnumopus/repositories/pantry.py 12 1 92% + magnumopus/repositories/sqlalchemy_pantry.py 15 15 0% + magnumopus/resources/__init__.py 7 7 0% + magnumopus/resources/alembic_instruction.py 26 26 0% + magnumopus/resources/substance.py 28 28 0% + magnumopus/schemas/__init__.py 4 4 0% + magnumopus/schemas/substance_schema.py 11 11 0% + magnumopus/services/__init__.py 0 0 100% + magnumopus/services/alembic.py 32 2 94% + magnumopus/services/alembic_instruction_handler.py 20 20 0% + magnumopus/services/assessor.py 2 2 0% + ------------------------------------------------------------------------ + TOTAL 212 141 33% + + + ============================== 15 passed in 0.38s ============================== diff --git a/022-burette/magnum_opus_ii/RULES.md b/022-burette/magnum_opus_ii/RULES.md new file mode 100644 index 0000000..4438311 --- /dev/null +++ b/022-burette/magnum_opus_ii/RULES.md @@ -0,0 +1,9 @@ +* One unit of each of the substances Mercury, Salt and Sulphur are mixed, using my "Alembic" (mixing pot), giving one unit of another substance, Gloop +* Any attempt to mix anything other than those three substances, gives Sludge, another substance +* Substances can undergo several Processes in my Alembic - they can be Cooked, Washed, Pickled or Fermented +* If Gloop is Cooked, Washed, Pickled and Fermented, in that order, it is the Philosopher's Stone (panacea and cure of all ills) +[* To process a Substance, at least one unit must be in my Pantry, including Gloop - even when freshly processed/created, it must be stored there before re-use (to cool)] + +Final rule: +GROUP 1: When I process a substance, using any process, it becomes a different substance +GROUP 2: When I process a substance, its state changes but is essentially the same substance (NB: mixing is not a process) diff --git a/022-burette/magnum_opus_ii/docker-compose.yml b/022-burette/magnum_opus_ii/docker-compose.yml new file mode 100644 index 0000000..34d2be6 --- /dev/null +++ b/022-burette/magnum_opus_ii/docker-compose.yml @@ -0,0 +1,11 @@ +version: "3" +services: + web_async: + build: . + environment: + DATABASE_URI: 'sqlite:////docker/storage/storage.db' + volumes: + - ./docker:/docker + - ./magnumopus:/home/user/magnumopus + ports: + - 5000:5000 diff --git a/022-burette/magnum_opus_ii/docker/storage/storage.db b/022-burette/magnum_opus_ii/docker/storage/storage.db new file mode 100644 index 0000000000000000000000000000000000000000..41e4173e74b7ef47d0eaff4eba95ac3eb2ab418f GIT binary patch literal 8192 zcmeI#zfZzI6bJA-tU}u~=R$~ad2A&y4l=q}$pwj}YFmvA4h5=`R3PO#IP&+n`wuw# z5BLYT8~*{X1A)!a!SBmm?!9+EhR=4 + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_configure [hook] + config: <_pytest.config.Config object at 0x7f78089fd5b0> + pytest_plugin_registered [hook] + plugin: <_pytest.cacheprovider.LFPlugin object at 0x7f780666a820> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.cacheprovider.NFPlugin object at 0x7f780666a9a0> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + early skip of rewriting module: faulthandler [assertion] + pytest_configure [hook] + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_configure --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.faulthandler.FaultHandlerHooks object at 0x7f780666aa60> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.stepwise.StepwisePlugin object at 0x7f780666ab80> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + early skip of rewriting module: pdb [assertion] + early skip of rewriting module: cmd [assertion] + pytest_plugin_registered [hook] + plugin: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.config.Config object at 0x7f78089fd5b0> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: > err=> in_=> _state='suspended' _in_suspended=False> _capture_fixture=None> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: testsfailed=0 testscollected=0> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.cacheprovider.LFPlugin object at 0x7f780666a820> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.cacheprovider.NFPlugin object at 0x7f780666a9a0> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.faulthandler.FaultHandlerHooks object at 0x7f780666aa60> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.stepwise.StepwisePlugin object at 0x7f780666ab80> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.terminal.TerminalReporter object at 0x7f780666aee0> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.logging.LoggingPlugin object at 0x7f7806694820> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + finish pytest_configure --> [] [hook] + pytest_sessionstart [hook] + session: testsfailed=0 testscollected=0> + pytest_plugin_registered [hook] + plugin: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.config.Config object at 0x7f78089fd5b0> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: > err=> in_=> _state='suspended' _in_suspended=False> _capture_fixture=None> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: testsfailed=0 testscollected=0> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.cacheprovider.LFPlugin object at 0x7f780666a820> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.cacheprovider.NFPlugin object at 0x7f780666a9a0> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.faulthandler.FaultHandlerHooks object at 0x7f780666aa60> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.stepwise.StepwisePlugin object at 0x7f780666ab80> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.terminal.TerminalReporter object at 0x7f780666aee0> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.logging.LoggingPlugin object at 0x7f7806694820> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_plugin_registered [hook] + plugin: <_pytest.fixtures.FixtureManager object at 0x7f7806694a60> + manager: <_pytest.config.PytestPluginManager object at 0x7f78091f69d0> + finish pytest_plugin_registered --> [] [hook] + pytest_report_header [hook] + config: <_pytest.config.Config object at 0x7f78089fd5b0> + startdir: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii + finish pytest_report_header --> [['rootdir: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii', 'plugins: pep8-1.0.6, asyncio-0.14.0, cov-2.10.0'], ['using: pytest-5.4.3 pylib-1.9.0', 'setuptools registered plugins:', ' pytest-pep8-1.0.6 at /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/.env/lib/python3.8/site-packages/pytest_pep8.py', ' pytest-asyncio-0.14.0 at /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/.env/lib/python3.8/site-packages/pytest_asyncio/plugin.py', ' pytest-cov-2.10.0 at /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/.env/lib/python3.8/site-packages/pytest_cov/plugin.py']] [hook] + finish pytest_sessionstart --> [] [hook] + pytest_collection [hook] + session: testsfailed=0 testscollected=0> + perform_collect testsfailed=0 testscollected=0> ['/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii'] [collection] + pytest_collectstart [hook] + collector: testsfailed=0 testscollected=0> + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: testsfailed=0 testscollected=0> + processing argument (local('/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii'), []) [collection] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/docker + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + early skip of rewriting module: py._code [assertion] + early skip of rewriting module: py._code.code [assertion] + early skip of rewriting module: repr [assertion] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/docker + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/.pytest_cache + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/.env + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> True [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/.tox + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/.coverage + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/.coverage + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/.gitignore + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/.gitignore + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/Dockerfile + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/Dockerfile + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/MANIFEST.in + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/MANIFEST.in + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/README.md + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/README.md + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/RULES.md + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/RULES.md + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/docker-compose.yml + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/docker-compose.yml + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/gunicorn_config.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/gunicorn_config.py + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/init_containers.sh + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/init_containers.sh + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/init_entrypoint.sh + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/init_entrypoint.sh + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/pytestdebug.log + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/pytestdebug.log + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/requirements.txt + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/requirements.txt + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/setup.cfg + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/setup.cfg + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/setup.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/setup.py + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tox.ini + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tox.ini + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info/PKG-INFO + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info/PKG-INFO + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info/SOURCES.txt + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info/SOURCES.txt + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info/dependency_links.txt + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info/dependency_links.txt + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info/requires.txt + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info/requires.txt + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info/top_level.txt + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/aiomagnumopus.egg-info/top_level.txt + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/docker/storage + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/docker/storage + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/docker/storage/storage.db + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/docker/storage/storage.db + parent: testsfailed=0 testscollected=0> + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/schemas + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/schemas + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/__init__.py + parent: testsfailed=0 testscollected=0> + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/__init__.py + parent: testsfailed=0 testscollected=0> + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models/__init__.py + parent: testsfailed=0 testscollected=0> + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models/__init__.py + parent: testsfailed=0 testscollected=0> + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories/__init__.py + parent: testsfailed=0 testscollected=0> + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories/__init__.py + parent: testsfailed=0 testscollected=0> + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources/__init__.py + parent: testsfailed=0 testscollected=0> + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources/__init__.py + parent: testsfailed=0 testscollected=0> + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/schemas/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/schemas/__init__.py + parent: testsfailed=0 testscollected=0> + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/schemas/__init__.py + parent: testsfailed=0 testscollected=0> + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services/__init__.py + parent: testsfailed=0 testscollected=0> + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services/__init__.py + parent: testsfailed=0 testscollected=0> + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain + parent: testsfailed=0 testscollected=0> + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/__init__.py + parent: testsfailed=0 testscollected=0> + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/__init__.py + parent: testsfailed=0 testscollected=0> + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/__init__.py + parent: testsfailed=0 testscollected=0> + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/__init__.py + parent: testsfailed=0 testscollected=0> + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/__init__.py + parent: testsfailed=0 testscollected=0> + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/__init__.py + parent: testsfailed=0 testscollected=0> + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + finish pytest_make_collect_report --> [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models + parent: + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services + parent: + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources + parent: + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/schemas + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/schemas + parent: + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories + parent: + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/Pipfile + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/Pipfile + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/config.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/config.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/index.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/index.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/initialize.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/initialize.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/injection.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/injection.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/logger.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/logger.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/schemas/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + finish pytest_make_collect_report --> [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models/base.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models/base.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models/substance.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/models/substance.py + parent: + finish pytest_collect_file --> [] [hook] + finish pytest_make_collect_report --> [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories/list_pantry.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories/list_pantry.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories/pantry.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories/pantry.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories/sqlalchemy_pantry.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/repositories/sqlalchemy_pantry.py + parent: + finish pytest_collect_file --> [] [hook] + finish pytest_make_collect_report --> [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources/alembic_instruction.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources/alembic_instruction.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources/substance.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/resources/substance.py + parent: + finish pytest_collect_file --> [] [hook] + finish pytest_make_collect_report --> [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/schemas/substance_schema.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/schemas/substance_schema.py + parent: + finish pytest_collect_file --> [] [hook] + finish pytest_make_collect_report --> [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services/alembic.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services/alembic.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services/alembic_instruction_handler.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services/alembic_instruction_handler.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services/assessor.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/magnumopus/services/assessor.py + parent: + finish pytest_collect_file --> [] [hook] + finish pytest_make_collect_report --> [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application + parent: + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_directory [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain + parent: + finish pytest_collect_directory --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/Pipfile + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/Pipfile + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/conftest.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/conftest.py + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/__init__.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + finish pytest_make_collect_report --> [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/.coverage + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/.coverage + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/Pipfile + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/Pipfile + parent: + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_alembic_instruction_resource.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_alembic_instruction_resource.py + parent: + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_alembic_instruction_resource.py + parent: + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_philosophers_stone.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_philosophers_stone.py + parent: + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_philosophers_stone.py + parent: + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_substance_resource.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_substance_resource.py + parent: + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_substance_resource.py + parent: + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + finish pytest_make_collect_report --> [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + early skip of rewriting module: tests.application [assertion] + find_module called for: tests.application.test_alembic_instruction_resource [assertion] + matched test file '/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_alembic_instruction_resource.py' [assertion] + found cached rewritten pyc for /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_alembic_instruction_resource.py [assertion] + find_module called for: tests.application.test_substance_resource [assertion] + matched test file '/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_substance_resource.py' [assertion] + found cached rewritten pyc for /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_substance_resource.py [assertion] + pytest_pycollect_makeitem [hook] + collector: + name: __name__ + obj: tests.application.test_alembic_instruction_resource + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __doc__ + obj: None + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __package__ + obj: tests.application + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __loader__ + obj: <_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370> + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __spec__ + obj: ModuleSpec(name='tests.application.test_alembic_instruction_resource', loader=<_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370>, origin='/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_alembic_instruction_resource.py') + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __file__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_alembic_instruction_resource.py + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __cached__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/__pycache__/test_alembic_instruction_resource.cpython-38.pyc + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __builtins__ + obj: {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': , '__spec__': ModuleSpec(name='builtins', loader=), '__build_class__': , '__import__': , 'abs': , 'all': , 'any': , 'ascii': , 'bin': , 'breakpoint': , 'callable': , 'chr': , 'compile': , 'delattr': , 'dir': , 'divmod': , 'eval': , 'exec': , 'format': , 'getattr': , 'globals': , 'hasattr': , 'hash': , 'hex': , 'id': , 'input': , 'isinstance': , 'issubclass': , 'iter': , 'len': , 'locals': , 'max': , 'min': , 'next': , 'oct': , 'ord': , 'pow': , 'print': , 'repr': , 'round': , 'setattr': , 'sorted': , 'sum': , 'vars': , 'None': None, 'Ellipsis': Ellipsis, 'NotImplemented': NotImplemented, 'False': False, 'True': True, 'bool': , 'memoryview': , 'bytearray': , 'bytes': , 'classmethod': , 'complex': , 'dict': , 'enumerate': , 'filter': , 'float': , 'frozenset': , 'property': , 'int': , 'list': , 'map': , 'object': , 'range': , 'reversed': , 'set': , 'slice': , 'staticmethod': , 'str': , 'super': , 'tuple': , 'type': , 'zip': , '__debug__': True, 'BaseException': , 'Exception': , 'TypeError': , 'StopAsyncIteration': , 'StopIteration': , 'GeneratorExit': , 'SystemExit': , 'KeyboardInterrupt': , 'ImportError': , 'ModuleNotFoundError': , 'OSError': , 'EnvironmentError': , 'IOError': , 'EOFError': , 'RuntimeError': , 'RecursionError': , 'NotImplementedError': , 'NameError': , 'UnboundLocalError': , 'AttributeError': , 'SyntaxError': , 'IndentationError': , 'TabError': , 'LookupError': , 'IndexError': , 'KeyError': , 'ValueError': , 'UnicodeError': , 'UnicodeEncodeError': , 'UnicodeDecodeError': , 'UnicodeTranslateError': , 'AssertionError': , 'ArithmeticError': , 'FloatingPointError': , 'OverflowError': , 'ZeroDivisionError': , 'SystemError': , 'ReferenceError': , 'MemoryError': , 'BufferError': , 'Warning': , 'UserWarning': , 'DeprecationWarning': , 'PendingDeprecationWarning': , 'SyntaxWarning': , 'RuntimeWarning': , 'FutureWarning': , 'ImportWarning': , 'UnicodeWarning': , 'BytesWarning': , 'ResourceWarning': , 'ConnectionError': , 'BlockingIOError': , 'BrokenPipeError': , 'ChildProcessError': , 'ConnectionAbortedError': , 'ConnectionRefusedError': , 'ConnectionResetError': , 'FileExistsError': , 'FileNotFoundError': , 'IsADirectoryError': , 'NotADirectoryError': , 'InterruptedError': , 'PermissionError': , 'ProcessLookupError': , 'TimeoutError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'copyright': Copyright (c) 2001-2020 Python Software Foundation. +All Rights Reserved. + +Copyright (c) 2000 BeOpen.com. +All Rights Reserved. + +Copyright (c) 1995-2001 Corporation for National Research Initiatives. +All Rights Reserved. + +Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. +All Rights Reserved., 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands + for supporting Python development. See www.python.org for more information., 'license': Type license() to see the full license text, 'help': Type help() for interactive help, or help(object) for help about object.} + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @py_builtins + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @pytest_ar + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: pytest + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: create_app + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: is_dictionary_inside + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: create_substance_request + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: create_alembic_instruction_request + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_create_alembic_mix_instruction + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f78065e04c0> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_create_alembic_process_instruction + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806649640> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __repr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __getattribute__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __setattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __delattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __new__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dir__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dict__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __hash__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __str__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __lt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __le__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __eq__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ne__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __gt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ge__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce_ex__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __subclasshook__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init_subclass__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __format__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __sizeof__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __class__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + finish pytest_make_collect_report --> [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + find_module called for: tests.application.test_philosophers_stone [assertion] + matched test file '/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_philosophers_stone.py' [assertion] + found cached rewritten pyc for /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_philosophers_stone.py [assertion] + pytest_pycollect_makeitem [hook] + collector: + name: __name__ + obj: tests.application.test_philosophers_stone + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __doc__ + obj: None + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __package__ + obj: tests.application + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __loader__ + obj: <_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370> + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __spec__ + obj: ModuleSpec(name='tests.application.test_philosophers_stone', loader=<_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370>, origin='/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_philosophers_stone.py') + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __file__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_philosophers_stone.py + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __cached__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/__pycache__/test_philosophers_stone.cpython-38.pyc + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __builtins__ + obj: {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': , '__spec__': ModuleSpec(name='builtins', loader=), '__build_class__': , '__import__': , 'abs': , 'all': , 'any': , 'ascii': , 'bin': , 'breakpoint': , 'callable': , 'chr': , 'compile': , 'delattr': , 'dir': , 'divmod': , 'eval': , 'exec': , 'format': , 'getattr': , 'globals': , 'hasattr': , 'hash': , 'hex': , 'id': , 'input': , 'isinstance': , 'issubclass': , 'iter': , 'len': , 'locals': , 'max': , 'min': , 'next': , 'oct': , 'ord': , 'pow': , 'print': , 'repr': , 'round': , 'setattr': , 'sorted': , 'sum': , 'vars': , 'None': None, 'Ellipsis': Ellipsis, 'NotImplemented': NotImplemented, 'False': False, 'True': True, 'bool': , 'memoryview': , 'bytearray': , 'bytes': , 'classmethod': , 'complex': , 'dict': , 'enumerate': , 'filter': , 'float': , 'frozenset': , 'property': , 'int': , 'list': , 'map': , 'object': , 'range': , 'reversed': , 'set': , 'slice': , 'staticmethod': , 'str': , 'super': , 'tuple': , 'type': , 'zip': , '__debug__': True, 'BaseException': , 'Exception': , 'TypeError': , 'StopAsyncIteration': , 'StopIteration': , 'GeneratorExit': , 'SystemExit': , 'KeyboardInterrupt': , 'ImportError': , 'ModuleNotFoundError': , 'OSError': , 'EnvironmentError': , 'IOError': , 'EOFError': , 'RuntimeError': , 'RecursionError': , 'NotImplementedError': , 'NameError': , 'UnboundLocalError': , 'AttributeError': , 'SyntaxError': , 'IndentationError': , 'TabError': , 'LookupError': , 'IndexError': , 'KeyError': , 'ValueError': , 'UnicodeError': , 'UnicodeEncodeError': , 'UnicodeDecodeError': , 'UnicodeTranslateError': , 'AssertionError': , 'ArithmeticError': , 'FloatingPointError': , 'OverflowError': , 'ZeroDivisionError': , 'SystemError': , 'ReferenceError': , 'MemoryError': , 'BufferError': , 'Warning': , 'UserWarning': , 'DeprecationWarning': , 'PendingDeprecationWarning': , 'SyntaxWarning': , 'RuntimeWarning': , 'FutureWarning': , 'ImportWarning': , 'UnicodeWarning': , 'BytesWarning': , 'ResourceWarning': , 'ConnectionError': , 'BlockingIOError': , 'BrokenPipeError': , 'ChildProcessError': , 'ConnectionAbortedError': , 'ConnectionRefusedError': , 'ConnectionResetError': , 'FileExistsError': , 'FileNotFoundError': , 'IsADirectoryError': , 'NotADirectoryError': , 'InterruptedError': , 'PermissionError': , 'ProcessLookupError': , 'TimeoutError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'copyright': Copyright (c) 2001-2020 Python Software Foundation. +All Rights Reserved. + +Copyright (c) 2000 BeOpen.com. +All Rights Reserved. + +Copyright (c) 1995-2001 Corporation for National Research Initiatives. +All Rights Reserved. + +Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. +All Rights Reserved., 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands + for supporting Python development. See www.python.org for more information., 'license': Type license() to see the full license text, 'help': Type help() for interactive help, or help(object) for help about object.} + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @py_builtins + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @pytest_ar + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: pytest + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: create_app + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: is_dictionary_inside + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_create_philosophers_stone + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f78065e0fa0> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __repr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __getattribute__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __setattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __delattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __new__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dir__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dict__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __hash__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __str__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __lt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __le__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __eq__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ne__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __gt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ge__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce_ex__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __subclasshook__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init_subclass__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __format__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __sizeof__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __class__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + finish pytest_make_collect_report --> [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + pytest_pycollect_makeitem [hook] + collector: + name: __name__ + obj: tests.application.test_substance_resource + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __doc__ + obj: None + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __package__ + obj: tests.application + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __loader__ + obj: <_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370> + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __spec__ + obj: ModuleSpec(name='tests.application.test_substance_resource', loader=<_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370>, origin='/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_substance_resource.py') + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __file__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/test_substance_resource.py + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __cached__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/application/__pycache__/test_substance_resource.cpython-38.pyc + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __builtins__ + obj: {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': , '__spec__': ModuleSpec(name='builtins', loader=), '__build_class__': , '__import__': , 'abs': , 'all': , 'any': , 'ascii': , 'bin': , 'breakpoint': , 'callable': , 'chr': , 'compile': , 'delattr': , 'dir': , 'divmod': , 'eval': , 'exec': , 'format': , 'getattr': , 'globals': , 'hasattr': , 'hash': , 'hex': , 'id': , 'input': , 'isinstance': , 'issubclass': , 'iter': , 'len': , 'locals': , 'max': , 'min': , 'next': , 'oct': , 'ord': , 'pow': , 'print': , 'repr': , 'round': , 'setattr': , 'sorted': , 'sum': , 'vars': , 'None': None, 'Ellipsis': Ellipsis, 'NotImplemented': NotImplemented, 'False': False, 'True': True, 'bool': , 'memoryview': , 'bytearray': , 'bytes': , 'classmethod': , 'complex': , 'dict': , 'enumerate': , 'filter': , 'float': , 'frozenset': , 'property': , 'int': , 'list': , 'map': , 'object': , 'range': , 'reversed': , 'set': , 'slice': , 'staticmethod': , 'str': , 'super': , 'tuple': , 'type': , 'zip': , '__debug__': True, 'BaseException': , 'Exception': , 'TypeError': , 'StopAsyncIteration': , 'StopIteration': , 'GeneratorExit': , 'SystemExit': , 'KeyboardInterrupt': , 'ImportError': , 'ModuleNotFoundError': , 'OSError': , 'EnvironmentError': , 'IOError': , 'EOFError': , 'RuntimeError': , 'RecursionError': , 'NotImplementedError': , 'NameError': , 'UnboundLocalError': , 'AttributeError': , 'SyntaxError': , 'IndentationError': , 'TabError': , 'LookupError': , 'IndexError': , 'KeyError': , 'ValueError': , 'UnicodeError': , 'UnicodeEncodeError': , 'UnicodeDecodeError': , 'UnicodeTranslateError': , 'AssertionError': , 'ArithmeticError': , 'FloatingPointError': , 'OverflowError': , 'ZeroDivisionError': , 'SystemError': , 'ReferenceError': , 'MemoryError': , 'BufferError': , 'Warning': , 'UserWarning': , 'DeprecationWarning': , 'PendingDeprecationWarning': , 'SyntaxWarning': , 'RuntimeWarning': , 'FutureWarning': , 'ImportWarning': , 'UnicodeWarning': , 'BytesWarning': , 'ResourceWarning': , 'ConnectionError': , 'BlockingIOError': , 'BrokenPipeError': , 'ChildProcessError': , 'ConnectionAbortedError': , 'ConnectionRefusedError': , 'ConnectionResetError': , 'FileExistsError': , 'FileNotFoundError': , 'IsADirectoryError': , 'NotADirectoryError': , 'InterruptedError': , 'PermissionError': , 'ProcessLookupError': , 'TimeoutError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'copyright': Copyright (c) 2001-2020 Python Software Foundation. +All Rights Reserved. + +Copyright (c) 2000 BeOpen.com. +All Rights Reserved. + +Copyright (c) 1995-2001 Corporation for National Research Initiatives. +All Rights Reserved. + +Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. +All Rights Reserved., 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands + for supporting Python development. See www.python.org for more information., 'license': Type license() to see the full license text, 'help': Type help() for interactive help, or help(object) for help about object.} + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @py_builtins + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @pytest_ar + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: pytest + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: create_app + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: is_dictionary_inside + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: create_substance_request + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: index_substances_request + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_create_substance + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f78065e04c0> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_get_substances + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f78065e0550> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __repr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __getattribute__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __setattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __delattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __new__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dir__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dict__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __hash__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __str__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __lt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __le__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __eq__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ne__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __gt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ge__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce_ex__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __subclasshook__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init_subclass__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __format__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __sizeof__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __class__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + finish pytest_make_collect_report --> [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic.py + parent: + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic.py + parent: + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic_instruction_handler.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic_instruction_handler.py + parent: + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic_instruction_handler.py + parent: + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_pantry.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_pantry.py + parent: + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_pantry.py + parent: + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + pytest_ignore_collect [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_substance.py + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_ignore_collect --> None [hook] + pytest_collect_file [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_substance.py + parent: + pytest_pycollect_makemodule [hook] + path: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_substance.py + parent: + finish pytest_pycollect_makemodule --> [hook] + finish pytest_collect_file --> [] [hook] + finish pytest_make_collect_report --> [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + early skip of rewriting module: tests.domain [assertion] + find_module called for: tests.domain.test_alembic [assertion] + matched test file '/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic.py' [assertion] + found cached rewritten pyc for /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic.py [assertion] + early skip of rewriting module: magnumopus.services [assertion] + early skip of rewriting module: magnumopus.services.alembic [assertion] + early skip of rewriting module: magnumopus.models.substance [assertion] + early skip of rewriting module: sqlalchemy_utils [assertion] + early skip of rewriting module: sqlalchemy_utils.aggregates [assertion] + early skip of rewriting module: sqlalchemy_utils.functions [assertion] + early skip of rewriting module: sqlalchemy_utils.functions.database [assertion] + early skip of rewriting module: sqlalchemy_utils.utils [assertion] + early skip of rewriting module: sqlalchemy_utils.functions.orm [assertion] + early skip of rewriting module: sqlalchemy.ext.hybrid [assertion] + early skip of rewriting module: sqlalchemy_utils.functions.foreign_keys [assertion] + early skip of rewriting module: sqlalchemy_utils.query_chain [assertion] + early skip of rewriting module: sqlalchemy_utils.functions.mock [assertion] + early skip of rewriting module: sqlalchemy_utils.functions.render [assertion] + early skip of rewriting module: sqlalchemy_utils.functions.sort_query [assertion] + early skip of rewriting module: sqlalchemy_utils.relationships [assertion] + early skip of rewriting module: sqlalchemy_utils.relationships.chained_join [assertion] + early skip of rewriting module: sqlalchemy_utils.asserts [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.base [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.array [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.hstore [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.json [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.ranges [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.pg8000 [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.psycopg2 [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.psycopg2cffi [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.pygresql [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.pypostgresql [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.zxjdbc [assertion] + early skip of rewriting module: sqlalchemy.connectors [assertion] + early skip of rewriting module: sqlalchemy.connectors.zxJDBC [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.dml [assertion] + early skip of rewriting module: sqlalchemy.dialects.postgresql.ext [assertion] + early skip of rewriting module: sqlalchemy_utils.exceptions [assertion] + early skip of rewriting module: sqlalchemy_utils.expressions [assertion] + early skip of rewriting module: sqlalchemy.ext.compiler [assertion] + early skip of rewriting module: sqlalchemy_utils.generic [assertion] + early skip of rewriting module: sqlalchemy_utils.i18n [assertion] + early skip of rewriting module: babel [assertion] + early skip of rewriting module: sqlalchemy_utils.listeners [assertion] + early skip of rewriting module: sqlalchemy_utils.models [assertion] + early skip of rewriting module: sqlalchemy_utils.observer [assertion] + early skip of rewriting module: sqlalchemy_utils.path [assertion] + early skip of rewriting module: sqlalchemy_utils.primitives [assertion] + early skip of rewriting module: sqlalchemy_utils.primitives.country [assertion] + early skip of rewriting module: sqlalchemy_utils.primitives.currency [assertion] + early skip of rewriting module: sqlalchemy_utils.primitives.ltree [assertion] + early skip of rewriting module: sqlalchemy_utils.primitives.weekday [assertion] + early skip of rewriting module: sqlalchemy_utils.primitives.weekdays [assertion] + early skip of rewriting module: sqlalchemy_utils.proxy_dict [assertion] + early skip of rewriting module: sqlalchemy_utils.types [assertion] + early skip of rewriting module: sqlalchemy_utils.types.arrow [assertion] + early skip of rewriting module: sqlalchemy_utils.types.enriched_datetime [assertion] + early skip of rewriting module: sqlalchemy_utils.types.enriched_datetime.arrow_datetime [assertion] + early skip of rewriting module: arrow [assertion] + early skip of rewriting module: sqlalchemy_utils.types.enriched_datetime.pendulum_date [assertion] + early skip of rewriting module: sqlalchemy_utils.types.enriched_datetime.pendulum_datetime [assertion] + early skip of rewriting module: pendulum [assertion] + early skip of rewriting module: pendulum [assertion] + early skip of rewriting module: sqlalchemy_utils.types.enriched_datetime.enriched_datetime_type [assertion] + early skip of rewriting module: sqlalchemy_utils.types.scalar_coercible [assertion] + early skip of rewriting module: arrow [assertion] + early skip of rewriting module: sqlalchemy_utils.types.choice [assertion] + early skip of rewriting module: sqlalchemy_utils.types.color [assertion] + early skip of rewriting module: colour [assertion] + early skip of rewriting module: sqlalchemy_utils.types.country [assertion] + early skip of rewriting module: sqlalchemy_utils.types.currency [assertion] + early skip of rewriting module: sqlalchemy_utils.types.email [assertion] + early skip of rewriting module: sqlalchemy_utils.operators [assertion] + early skip of rewriting module: sqlalchemy_utils.types.encrypted [assertion] + early skip of rewriting module: sqlalchemy_utils.types.encrypted.encrypted_type [assertion] + early skip of rewriting module: sqlalchemy_utils.types.encrypted.padding [assertion] + early skip of rewriting module: sqlalchemy_utils.types.json [assertion] + early skip of rewriting module: anyjson [assertion] + early skip of rewriting module: cryptography [assertion] + early skip of rewriting module: dateutil [assertion] + early skip of rewriting module: sqlalchemy_utils.types.enriched_datetime.enriched_date_type [assertion] + early skip of rewriting module: sqlalchemy_utils.types.ip_address [assertion] + early skip of rewriting module: ipaddress [assertion] + early skip of rewriting module: sqlalchemy_utils.types.locale [assertion] + early skip of rewriting module: babel [assertion] + early skip of rewriting module: sqlalchemy_utils.types.ltree [assertion] + early skip of rewriting module: sqlalchemy_utils.types.password [assertion] + early skip of rewriting module: sqlalchemy.dialects.oracle [assertion] + early skip of rewriting module: sqlalchemy.dialects.oracle.base [assertion] + early skip of rewriting module: sqlalchemy.dialects.oracle.cx_oracle [assertion] + early skip of rewriting module: sqlalchemy.dialects.oracle.zxjdbc [assertion] + early skip of rewriting module: sqlalchemy.dialects.sqlite [assertion] + early skip of rewriting module: sqlalchemy.dialects.sqlite.base [assertion] + early skip of rewriting module: sqlalchemy.dialects.sqlite.json [assertion] + early skip of rewriting module: sqlalchemy.dialects.sqlite.pysqlcipher [assertion] + early skip of rewriting module: sqlalchemy.dialects.sqlite.pysqlite [assertion] + early skip of rewriting module: sqlalchemy.ext.mutable [assertion] + early skip of rewriting module: passlib [assertion] + early skip of rewriting module: sqlalchemy_utils.types.pg_composite [assertion] + early skip of rewriting module: psycopg2 [assertion] + early skip of rewriting module: sqlalchemy_utils.types.phone_number [assertion] + early skip of rewriting module: phonenumbers [assertion] + early skip of rewriting module: sqlalchemy_utils.types.range [assertion] + early skip of rewriting module: intervals [assertion] + early skip of rewriting module: sqlalchemy_utils.types.scalar_list [assertion] + early skip of rewriting module: sqlalchemy_utils.types.timezone [assertion] + early skip of rewriting module: sqlalchemy_utils.types.ts_vector [assertion] + early skip of rewriting module: sqlalchemy_utils.types.url [assertion] + early skip of rewriting module: furl [assertion] + early skip of rewriting module: sqlalchemy_utils.types.uuid [assertion] + early skip of rewriting module: sqlalchemy.dialects.mssql [assertion] + early skip of rewriting module: sqlalchemy.dialects.mssql.adodbapi [assertion] + early skip of rewriting module: sqlalchemy.dialects.mssql.base [assertion] + early skip of rewriting module: sqlalchemy.dialects.mssql.information_schema [assertion] + early skip of rewriting module: sqlalchemy.dialects.mssql.mxodbc [assertion] + early skip of rewriting module: sqlalchemy.dialects.mssql.pyodbc [assertion] + early skip of rewriting module: sqlalchemy.connectors.pyodbc [assertion] + early skip of rewriting module: sqlalchemy.connectors.mxodbc [assertion] + early skip of rewriting module: sqlalchemy.dialects.mssql.pymssql [assertion] + early skip of rewriting module: sqlalchemy.dialects.mssql.zxjdbc [assertion] + early skip of rewriting module: sqlalchemy_utils.types.weekdays [assertion] + early skip of rewriting module: sqlalchemy_utils.types.bit [assertion] + early skip of rewriting module: sqlalchemy_utils.view [assertion] + pytest_pycollect_makeitem [hook] + collector: + name: __name__ + obj: tests.domain.test_alembic + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __doc__ + obj: None + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __package__ + obj: tests.domain + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __loader__ + obj: <_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370> + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __spec__ + obj: ModuleSpec(name='tests.domain.test_alembic', loader=<_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370>, origin='/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic.py') + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __file__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic.py + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __cached__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/__pycache__/test_alembic.cpython-38.pyc + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __builtins__ + obj: {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': , '__spec__': ModuleSpec(name='builtins', loader=), '__build_class__': , '__import__': , 'abs': , 'all': , 'any': , 'ascii': , 'bin': , 'breakpoint': , 'callable': , 'chr': , 'compile': , 'delattr': , 'dir': , 'divmod': , 'eval': , 'exec': , 'format': , 'getattr': , 'globals': , 'hasattr': , 'hash': , 'hex': , 'id': , 'input': , 'isinstance': , 'issubclass': , 'iter': , 'len': , 'locals': , 'max': , 'min': , 'next': , 'oct': , 'ord': , 'pow': , 'print': , 'repr': , 'round': , 'setattr': , 'sorted': , 'sum': , 'vars': , 'None': None, 'Ellipsis': Ellipsis, 'NotImplemented': NotImplemented, 'False': False, 'True': True, 'bool': , 'memoryview': , 'bytearray': , 'bytes': , 'classmethod': , 'complex': , 'dict': , 'enumerate': , 'filter': , 'float': , 'frozenset': , 'property': , 'int': , 'list': , 'map': , 'object': , 'range': , 'reversed': , 'set': , 'slice': , 'staticmethod': , 'str': , 'super': , 'tuple': , 'type': , 'zip': , '__debug__': True, 'BaseException': , 'Exception': , 'TypeError': , 'StopAsyncIteration': , 'StopIteration': , 'GeneratorExit': , 'SystemExit': , 'KeyboardInterrupt': , 'ImportError': , 'ModuleNotFoundError': , 'OSError': , 'EnvironmentError': , 'IOError': , 'EOFError': , 'RuntimeError': , 'RecursionError': , 'NotImplementedError': , 'NameError': , 'UnboundLocalError': , 'AttributeError': , 'SyntaxError': , 'IndentationError': , 'TabError': , 'LookupError': , 'IndexError': , 'KeyError': , 'ValueError': , 'UnicodeError': , 'UnicodeEncodeError': , 'UnicodeDecodeError': , 'UnicodeTranslateError': , 'AssertionError': , 'ArithmeticError': , 'FloatingPointError': , 'OverflowError': , 'ZeroDivisionError': , 'SystemError': , 'ReferenceError': , 'MemoryError': , 'BufferError': , 'Warning': , 'UserWarning': , 'DeprecationWarning': , 'PendingDeprecationWarning': , 'SyntaxWarning': , 'RuntimeWarning': , 'FutureWarning': , 'ImportWarning': , 'UnicodeWarning': , 'BytesWarning': , 'ResourceWarning': , 'ConnectionError': , 'BlockingIOError': , 'BrokenPipeError': , 'ChildProcessError': , 'ConnectionAbortedError': , 'ConnectionRefusedError': , 'ConnectionResetError': , 'FileExistsError': , 'FileNotFoundError': , 'IsADirectoryError': , 'NotADirectoryError': , 'InterruptedError': , 'PermissionError': , 'ProcessLookupError': , 'TimeoutError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'copyright': Copyright (c) 2001-2020 Python Software Foundation. +All Rights Reserved. + +Copyright (c) 2000 BeOpen.com. +All Rights Reserved. + +Copyright (c) 1995-2001 Corporation for National Research Initiatives. +All Rights Reserved. + +Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. +All Rights Reserved., 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands + for supporting Python development. See www.python.org for more information., 'license': Type license() to see the full license text, 'help': Type help() for interactive help, or help(object) for help about object.} + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @py_builtins + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @pytest_ar + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: pytest + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: Alembic + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: NotEnoughSubstancesToMixException + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: UnknownProcessException + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: Substance + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_can_set_up_my_alembic + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806623d30> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_can_mix_multiple_substances_in_my_alembic + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806623d30> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_cannot_mix_one_substance_in_my_alembic + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806623d30> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_mixing_sulphur_salt_and_mercury_gives_gloop + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806623d30> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_mixing_other_recipes_gives_sludge + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806623d30> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_can_process_substance + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806623d30> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_cannot_perform_unknown_process + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806623d30> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __repr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __getattribute__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __setattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __delattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __new__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dir__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dict__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __hash__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __str__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __lt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __le__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __eq__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ne__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __gt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ge__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce_ex__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __subclasshook__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init_subclass__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __format__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __sizeof__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __class__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + finish pytest_make_collect_report --> [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + find_module called for: tests.domain.test_alembic_instruction_handler [assertion] + matched test file '/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic_instruction_handler.py' [assertion] + found cached rewritten pyc for /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic_instruction_handler.py [assertion] + early skip of rewriting module: magnumopus.services.alembic_instruction_handler [assertion] + early skip of rewriting module: injector [assertion] + early skip of rewriting module: magnumopus.repositories [assertion] + early skip of rewriting module: magnumopus.repositories.pantry [assertion] + early skip of rewriting module: magnumopus.repositories.list_pantry [assertion] + early skip of rewriting module: magnumopus.repositories.sqlalchemy_pantry [assertion] + pytest_pycollect_makeitem [hook] + collector: + name: __name__ + obj: tests.domain.test_alembic_instruction_handler + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __doc__ + obj: None + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __package__ + obj: tests.domain + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __loader__ + obj: <_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370> + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __spec__ + obj: ModuleSpec(name='tests.domain.test_alembic_instruction_handler', loader=<_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370>, origin='/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic_instruction_handler.py') + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __file__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_alembic_instruction_handler.py + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __cached__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/__pycache__/test_alembic_instruction_handler.cpython-38.pyc + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __builtins__ + obj: {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': , '__spec__': ModuleSpec(name='builtins', loader=), '__build_class__': , '__import__': , 'abs': , 'all': , 'any': , 'ascii': , 'bin': , 'breakpoint': , 'callable': , 'chr': , 'compile': , 'delattr': , 'dir': , 'divmod': , 'eval': , 'exec': , 'format': , 'getattr': , 'globals': , 'hasattr': , 'hash': , 'hex': , 'id': , 'input': , 'isinstance': , 'issubclass': , 'iter': , 'len': , 'locals': , 'max': , 'min': , 'next': , 'oct': , 'ord': , 'pow': , 'print': , 'repr': , 'round': , 'setattr': , 'sorted': , 'sum': , 'vars': , 'None': None, 'Ellipsis': Ellipsis, 'NotImplemented': NotImplemented, 'False': False, 'True': True, 'bool': , 'memoryview': , 'bytearray': , 'bytes': , 'classmethod': , 'complex': , 'dict': , 'enumerate': , 'filter': , 'float': , 'frozenset': , 'property': , 'int': , 'list': , 'map': , 'object': , 'range': , 'reversed': , 'set': , 'slice': , 'staticmethod': , 'str': , 'super': , 'tuple': , 'type': , 'zip': , '__debug__': True, 'BaseException': , 'Exception': , 'TypeError': , 'StopAsyncIteration': , 'StopIteration': , 'GeneratorExit': , 'SystemExit': , 'KeyboardInterrupt': , 'ImportError': , 'ModuleNotFoundError': , 'OSError': , 'EnvironmentError': , 'IOError': , 'EOFError': , 'RuntimeError': , 'RecursionError': , 'NotImplementedError': , 'NameError': , 'UnboundLocalError': , 'AttributeError': , 'SyntaxError': , 'IndentationError': , 'TabError': , 'LookupError': , 'IndexError': , 'KeyError': , 'ValueError': , 'UnicodeError': , 'UnicodeEncodeError': , 'UnicodeDecodeError': , 'UnicodeTranslateError': , 'AssertionError': , 'ArithmeticError': , 'FloatingPointError': , 'OverflowError': , 'ZeroDivisionError': , 'SystemError': , 'ReferenceError': , 'MemoryError': , 'BufferError': , 'Warning': , 'UserWarning': , 'DeprecationWarning': , 'PendingDeprecationWarning': , 'SyntaxWarning': , 'RuntimeWarning': , 'FutureWarning': , 'ImportWarning': , 'UnicodeWarning': , 'BytesWarning': , 'ResourceWarning': , 'ConnectionError': , 'BlockingIOError': , 'BrokenPipeError': , 'ChildProcessError': , 'ConnectionAbortedError': , 'ConnectionRefusedError': , 'ConnectionResetError': , 'FileExistsError': , 'FileNotFoundError': , 'IsADirectoryError': , 'NotADirectoryError': , 'InterruptedError': , 'PermissionError': , 'ProcessLookupError': , 'TimeoutError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'copyright': Copyright (c) 2001-2020 Python Software Foundation. +All Rights Reserved. + +Copyright (c) 2000 BeOpen.com. +All Rights Reserved. + +Copyright (c) 1995-2001 Corporation for National Research Initiatives. +All Rights Reserved. + +Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. +All Rights Reserved., 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands + for supporting Python development. See www.python.org for more information., 'license': Type license() to see the full license text, 'help': Type help() for interactive help, or help(object) for help about object.} + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @py_builtins + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @pytest_ar + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: pytest + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: AlembicInstruction + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: AlembicInstructionHandler + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: ListPantry + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: Substance + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: instruction_unknown + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: instruction + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: pantry + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_can_set_up_my_alembic_instruction_handler + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806325040> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __repr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __getattribute__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __setattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __delattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __new__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dir__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dict__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __hash__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __str__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __lt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __le__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __eq__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ne__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __gt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ge__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce_ex__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __subclasshook__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init_subclass__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __format__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __sizeof__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __class__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + finish pytest_make_collect_report --> [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + find_module called for: tests.domain.test_pantry [assertion] + matched test file '/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_pantry.py' [assertion] + found cached rewritten pyc for /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_pantry.py [assertion] + pytest_pycollect_makeitem [hook] + collector: + name: __name__ + obj: tests.domain.test_pantry + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __doc__ + obj: None + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __package__ + obj: tests.domain + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __loader__ + obj: <_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370> + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __spec__ + obj: ModuleSpec(name='tests.domain.test_pantry', loader=<_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370>, origin='/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_pantry.py') + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __file__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_pantry.py + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __cached__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/__pycache__/test_pantry.cpython-38.pyc + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __builtins__ + obj: {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': , '__spec__': ModuleSpec(name='builtins', loader=), '__build_class__': , '__import__': , 'abs': , 'all': , 'any': , 'ascii': , 'bin': , 'breakpoint': , 'callable': , 'chr': , 'compile': , 'delattr': , 'dir': , 'divmod': , 'eval': , 'exec': , 'format': , 'getattr': , 'globals': , 'hasattr': , 'hash': , 'hex': , 'id': , 'input': , 'isinstance': , 'issubclass': , 'iter': , 'len': , 'locals': , 'max': , 'min': , 'next': , 'oct': , 'ord': , 'pow': , 'print': , 'repr': , 'round': , 'setattr': , 'sorted': , 'sum': , 'vars': , 'None': None, 'Ellipsis': Ellipsis, 'NotImplemented': NotImplemented, 'False': False, 'True': True, 'bool': , 'memoryview': , 'bytearray': , 'bytes': , 'classmethod': , 'complex': , 'dict': , 'enumerate': , 'filter': , 'float': , 'frozenset': , 'property': , 'int': , 'list': , 'map': , 'object': , 'range': , 'reversed': , 'set': , 'slice': , 'staticmethod': , 'str': , 'super': , 'tuple': , 'type': , 'zip': , '__debug__': True, 'BaseException': , 'Exception': , 'TypeError': , 'StopAsyncIteration': , 'StopIteration': , 'GeneratorExit': , 'SystemExit': , 'KeyboardInterrupt': , 'ImportError': , 'ModuleNotFoundError': , 'OSError': , 'EnvironmentError': , 'IOError': , 'EOFError': , 'RuntimeError': , 'RecursionError': , 'NotImplementedError': , 'NameError': , 'UnboundLocalError': , 'AttributeError': , 'SyntaxError': , 'IndentationError': , 'TabError': , 'LookupError': , 'IndexError': , 'KeyError': , 'ValueError': , 'UnicodeError': , 'UnicodeEncodeError': , 'UnicodeDecodeError': , 'UnicodeTranslateError': , 'AssertionError': , 'ArithmeticError': , 'FloatingPointError': , 'OverflowError': , 'ZeroDivisionError': , 'SystemError': , 'ReferenceError': , 'MemoryError': , 'BufferError': , 'Warning': , 'UserWarning': , 'DeprecationWarning': , 'PendingDeprecationWarning': , 'SyntaxWarning': , 'RuntimeWarning': , 'FutureWarning': , 'ImportWarning': , 'UnicodeWarning': , 'BytesWarning': , 'ResourceWarning': , 'ConnectionError': , 'BlockingIOError': , 'BrokenPipeError': , 'ChildProcessError': , 'ConnectionAbortedError': , 'ConnectionRefusedError': , 'ConnectionResetError': , 'FileExistsError': , 'FileNotFoundError': , 'IsADirectoryError': , 'NotADirectoryError': , 'InterruptedError': , 'PermissionError': , 'ProcessLookupError': , 'TimeoutError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'copyright': Copyright (c) 2001-2020 Python Software Foundation. +All Rights Reserved. + +Copyright (c) 2000 BeOpen.com. +All Rights Reserved. + +Copyright (c) 1995-2001 Corporation for National Research Initiatives. +All Rights Reserved. + +Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. +All Rights Reserved., 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands + for supporting Python development. See www.python.org for more information., 'license': Type license() to see the full license text, 'help': Type help() for interactive help, or help(object) for help about object.} + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @py_builtins + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @pytest_ar + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: pytest + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: ListPantry + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: Substance + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: list_pantry + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: pantries + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_can_add_to_pantry + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f78063257f0> + pytest_make_parametrize_id [hook] + config: <_pytest.config.Config object at 0x7f78089fd5b0> + val: list + argname: pantry_type + finish pytest_make_parametrize_id --> None [hook] + early skip of rewriting module: encodings.unicode_escape [assertion] + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_can_retrieve_substance_from_pantry_by_nature + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806325670> + pytest_make_parametrize_id [hook] + config: <_pytest.config.Config object at 0x7f78089fd5b0> + val: list + argname: pantry_type + finish pytest_make_parametrize_id --> None [hook] + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __repr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __getattribute__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __setattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __delattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __new__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dir__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dict__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __hash__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __str__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __lt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __le__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __eq__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ne__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __gt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ge__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce_ex__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __subclasshook__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init_subclass__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __format__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __sizeof__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __class__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + finish pytest_make_collect_report --> [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + genitems [collection] + pytest_collectstart [hook] + collector: + finish pytest_collectstart --> [] [hook] + pytest_make_collect_report [hook] + collector: + find_module called for: tests.domain.test_substance [assertion] + matched test file '/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_substance.py' [assertion] + found cached rewritten pyc for /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_substance.py [assertion] + pytest_pycollect_makeitem [hook] + collector: + name: __name__ + obj: tests.domain.test_substance + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __doc__ + obj: None + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __package__ + obj: tests.domain + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __loader__ + obj: <_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370> + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __spec__ + obj: ModuleSpec(name='tests.domain.test_substance', loader=<_pytest.assertion.rewrite.AssertionRewritingHook object at 0x7f7808885370>, origin='/home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_substance.py') + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __file__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/test_substance.py + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __cached__ + obj: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii/tests/domain/__pycache__/test_substance.cpython-38.pyc + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __builtins__ + obj: {'__name__': 'builtins', '__doc__': "Built-in functions, exceptions, and other objects.\n\nNoteworthy: None is the `nil' object; Ellipsis represents `...' in slices.", '__package__': '', '__loader__': , '__spec__': ModuleSpec(name='builtins', loader=), '__build_class__': , '__import__': , 'abs': , 'all': , 'any': , 'ascii': , 'bin': , 'breakpoint': , 'callable': , 'chr': , 'compile': , 'delattr': , 'dir': , 'divmod': , 'eval': , 'exec': , 'format': , 'getattr': , 'globals': , 'hasattr': , 'hash': , 'hex': , 'id': , 'input': , 'isinstance': , 'issubclass': , 'iter': , 'len': , 'locals': , 'max': , 'min': , 'next': , 'oct': , 'ord': , 'pow': , 'print': , 'repr': , 'round': , 'setattr': , 'sorted': , 'sum': , 'vars': , 'None': None, 'Ellipsis': Ellipsis, 'NotImplemented': NotImplemented, 'False': False, 'True': True, 'bool': , 'memoryview': , 'bytearray': , 'bytes': , 'classmethod': , 'complex': , 'dict': , 'enumerate': , 'filter': , 'float': , 'frozenset': , 'property': , 'int': , 'list': , 'map': , 'object': , 'range': , 'reversed': , 'set': , 'slice': , 'staticmethod': , 'str': , 'super': , 'tuple': , 'type': , 'zip': , '__debug__': True, 'BaseException': , 'Exception': , 'TypeError': , 'StopAsyncIteration': , 'StopIteration': , 'GeneratorExit': , 'SystemExit': , 'KeyboardInterrupt': , 'ImportError': , 'ModuleNotFoundError': , 'OSError': , 'EnvironmentError': , 'IOError': , 'EOFError': , 'RuntimeError': , 'RecursionError': , 'NotImplementedError': , 'NameError': , 'UnboundLocalError': , 'AttributeError': , 'SyntaxError': , 'IndentationError': , 'TabError': , 'LookupError': , 'IndexError': , 'KeyError': , 'ValueError': , 'UnicodeError': , 'UnicodeEncodeError': , 'UnicodeDecodeError': , 'UnicodeTranslateError': , 'AssertionError': , 'ArithmeticError': , 'FloatingPointError': , 'OverflowError': , 'ZeroDivisionError': , 'SystemError': , 'ReferenceError': , 'MemoryError': , 'BufferError': , 'Warning': , 'UserWarning': , 'DeprecationWarning': , 'PendingDeprecationWarning': , 'SyntaxWarning': , 'RuntimeWarning': , 'FutureWarning': , 'ImportWarning': , 'UnicodeWarning': , 'BytesWarning': , 'ResourceWarning': , 'ConnectionError': , 'BlockingIOError': , 'BrokenPipeError': , 'ChildProcessError': , 'ConnectionAbortedError': , 'ConnectionRefusedError': , 'ConnectionResetError': , 'FileExistsError': , 'FileNotFoundError': , 'IsADirectoryError': , 'NotADirectoryError': , 'InterruptedError': , 'PermissionError': , 'ProcessLookupError': , 'TimeoutError': , 'open': , 'quit': Use quit() or Ctrl-D (i.e. EOF) to exit, 'exit': Use exit() or Ctrl-D (i.e. EOF) to exit, 'copyright': Copyright (c) 2001-2020 Python Software Foundation. +All Rights Reserved. + +Copyright (c) 2000 BeOpen.com. +All Rights Reserved. + +Copyright (c) 1995-2001 Corporation for National Research Initiatives. +All Rights Reserved. + +Copyright (c) 1991-1995 Stichting Mathematisch Centrum, Amsterdam. +All Rights Reserved., 'credits': Thanks to CWI, CNRI, BeOpen.com, Zope Corporation and a cast of thousands + for supporting Python development. See www.python.org for more information., 'license': Type license() to see the full license text, 'help': Type help() for interactive help, or help(object) for help about object.} + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @py_builtins + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: @pytest_ar + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: Substance + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_can_cook_substance + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806325e20> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_can_wash_substance + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806325e20> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_can_pickle_substance + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806325e20> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_can_ferment_substance + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806325e20> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_can_cook_and_ferment_substance + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806325e20> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: test_the_order_of_processes_applied_to_a_substance_matters + obj: + pytest_generate_tests [hook] + metafunc: <_pytest.python.Metafunc object at 0x7f7806325e20> + finish pytest_generate_tests --> [] [hook] + finish pytest_pycollect_makeitem --> [] [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __repr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __getattribute__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __setattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __delattr__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __new__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dir__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __dict__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __hash__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __str__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __lt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __le__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __eq__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ne__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __gt__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __ge__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce_ex__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __reduce__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __subclasshook__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __init_subclass__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __format__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __sizeof__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + pytest_pycollect_makeitem [hook] + collector: + name: __class__ + obj: + finish pytest_pycollect_makeitem --> None [hook] + finish pytest_make_collect_report --> [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + genitems [collection] + pytest_itemcollected [hook] + item: + finish pytest_itemcollected --> [] [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + pytest_collectreport [hook] + report: + finish pytest_collectreport --> [] [hook] + pytest_collection_modifyitems [hook] + session: testsfailed=0 testscollected=0> + config: <_pytest.config.Config object at 0x7f78089fd5b0> + items: [, , , , , , , , , , , , , , , , , , , , ] + finish pytest_collection_modifyitems --> [] [hook] + pytest_collection_finish [hook] + session: testsfailed=0 testscollected=0> + pytest_report_collectionfinish [hook] + config: <_pytest.config.Config object at 0x7f78089fd5b0> + startdir: /home/philtweir/Work/Training/PythonCourse/python-course/022-burette/magnum_opus_ii + items: [, , , , , , , , , , , , , , , , , , , , ] + finish pytest_report_collectionfinish --> [] [hook] + finish pytest_collection_finish --> [] [hook] + finish pytest_collection --> [, , , , , , , , , , , , , , , , , , , , ] [hook] + pytest_runtestloop [hook] + session: testsfailed=0 testscollected=21> + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/application/test_alembic_instruction_resource.py::test_create_alembic_mix_instruction + location: ('tests/application/test_alembic_instruction_resource.py', 16, 'test_create_alembic_mix_instruction') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> <_UnixSelectorEventLoop running=False closed=False debug=False> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + early skip of rewriting module: magnumopus.resources [assertion] + early skip of rewriting module: magnumopus.resources.substance [assertion] + early skip of rewriting module: magnumopus.injection [assertion] + early skip of rewriting module: magnumopus.schemas [assertion] + early skip of rewriting module: flask_marshmallow [assertion] + early skip of rewriting module: distutils [assertion] + early skip of rewriting module: distutils.version [assertion] + early skip of rewriting module: marshmallow [assertion] + early skip of rewriting module: marshmallow.schema [assertion] + early skip of rewriting module: marshmallow.base [assertion] + early skip of rewriting module: marshmallow.fields [assertion] + early skip of rewriting module: marshmallow.validate [assertion] + early skip of rewriting module: marshmallow.types [assertion] + early skip of rewriting module: marshmallow.exceptions [assertion] + early skip of rewriting module: marshmallow.utils [assertion] + early skip of rewriting module: marshmallow.class_registry [assertion] + early skip of rewriting module: marshmallow.error_store [assertion] + early skip of rewriting module: marshmallow.orderedset [assertion] + early skip of rewriting module: marshmallow.decorators [assertion] + early skip of rewriting module: flask_marshmallow.fields [assertion] + early skip of rewriting module: flask_marshmallow.schema [assertion] + early skip of rewriting module: flask_marshmallow.compat [assertion] + early skip of rewriting module: flask_marshmallow.sqla [assertion] + early skip of rewriting module: six.moves.urllib [assertion] + early skip of rewriting module: marshmallow_sqlalchemy [assertion] + early skip of rewriting module: marshmallow_sqlalchemy.schema [assertion] + early skip of rewriting module: marshmallow_sqlalchemy.schema.model_schema [assertion] + early skip of rewriting module: marshmallow_sqlalchemy.convert [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.base [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.reflection [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.enumerated [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.types [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.json [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.cymysql [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.mysqldb [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.gaerdbms [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.mysqlconnector [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.oursql [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.pymysql [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.pyodbc [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.zxjdbc [assertion] + early skip of rewriting module: sqlalchemy.dialects.mysql.dml [assertion] + early skip of rewriting module: marshmallow_sqlalchemy.exceptions [assertion] + early skip of rewriting module: marshmallow_sqlalchemy.fields [assertion] + early skip of rewriting module: marshmallow_sqlalchemy.schema.schema_meta [assertion] + early skip of rewriting module: marshmallow_sqlalchemy.schema.load_instance_mixin [assertion] + early skip of rewriting module: marshmallow_sqlalchemy.schema.table_schema [assertion] + early skip of rewriting module: marshmallow_sqlalchemy.schema.sqlalchemy_schema [assertion] + early skip of rewriting module: magnumopus.schemas.substance_schema [assertion] + early skip of rewriting module: magnumopus.services.assessor [assertion] + early skip of rewriting module: magnumopus.resources.alembic_instruction [assertion] + early skip of rewriting module: magnumopus.logger [assertion] + early skip of rewriting module: magnumopus.config [assertion] + finish pytest_fixture_setup --> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + pytest_assertrepr_compare [hook] + config: <_pytest.config.Config object at 0x7f78089fd5b0> + op: == + left: 500 + right: 201 + finish pytest_assertrepr_compare --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: > + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('failed', 'F', 'FAILED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_exception_interact [hook] + node: + call: > + report: + finish pytest_exception_interact --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/application/test_alembic_instruction_resource.py::test_create_alembic_mix_instruction + location: ('tests/application/test_alembic_instruction_resource.py', 16, 'test_create_alembic_mix_instruction') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/application/test_alembic_instruction_resource.py::test_create_alembic_process_instruction + location: ('tests/application/test_alembic_instruction_resource.py', 34, 'test_create_alembic_process_instruction') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> <_UnixSelectorEventLoop running=False closed=False debug=False> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + pytest_assertrepr_compare [hook] + config: <_pytest.config.Config object at 0x7f78089fd5b0> + op: == + left: 500 + right: 201 + finish pytest_assertrepr_compare --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: > + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('failed', 'F', 'FAILED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_exception_interact [hook] + node: + call: > + report: + finish pytest_exception_interact --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/application/test_alembic_instruction_resource.py::test_create_alembic_process_instruction + location: ('tests/application/test_alembic_instruction_resource.py', 34, 'test_create_alembic_process_instruction') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/application/test_philosophers_stone.py::test_create_philosophers_stone + location: ('tests/application/test_philosophers_stone.py', 5, 'test_create_philosophers_stone') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> <_UnixSelectorEventLoop running=False closed=False debug=False> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/application/test_philosophers_stone.py::test_create_philosophers_stone + location: ('tests/application/test_philosophers_stone.py', 5, 'test_create_philosophers_stone') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/application/test_substance_resource.py::test_create_substance + location: ('tests/application/test_substance_resource.py', 12, 'test_create_substance') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> <_UnixSelectorEventLoop running=False closed=False debug=False> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/application/test_substance_resource.py::test_create_substance + location: ('tests/application/test_substance_resource.py', 12, 'test_create_substance') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/application/test_substance_resource.py::test_get_substances + location: ('tests/application/test_substance_resource.py', 29, 'test_get_substances') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> <_UnixSelectorEventLoop running=False closed=False debug=False> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + pytest_assertrepr_compare [hook] + config: <_pytest.config.Config object at 0x7f78089fd5b0> + op: is + left: + right: + finish pytest_assertrepr_compare --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: is list\n + where = type(None)") tblen=31>> + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('failed', 'F', 'FAILED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_exception_interact [hook] + node: + call: is list\n + where = type(None)") tblen=1>> + report: + finish pytest_exception_interact --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/application/test_substance_resource.py::test_get_substances + location: ('tests/application/test_substance_resource.py', 29, 'test_get_substances') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_alembic.py::test_can_set_up_my_alembic + location: ('tests/domain/test_alembic.py', 5, 'test_can_set_up_my_alembic') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_alembic.py::test_can_set_up_my_alembic + location: ('tests/domain/test_alembic.py', 5, 'test_can_set_up_my_alembic') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_alembic.py::test_can_mix_multiple_substances_in_my_alembic + location: ('tests/domain/test_alembic.py', 8, 'test_can_mix_multiple_substances_in_my_alembic') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_alembic.py::test_can_mix_multiple_substances_in_my_alembic + location: ('tests/domain/test_alembic.py', 8, 'test_can_mix_multiple_substances_in_my_alembic') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_alembic.py::test_cannot_mix_one_substance_in_my_alembic + location: ('tests/domain/test_alembic.py', 16, 'test_cannot_mix_one_substance_in_my_alembic') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_alembic.py::test_cannot_mix_one_substance_in_my_alembic + location: ('tests/domain/test_alembic.py', 16, 'test_cannot_mix_one_substance_in_my_alembic') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_alembic.py::test_mixing_sulphur_salt_and_mercury_gives_gloop + location: ('tests/domain/test_alembic.py', 23, 'test_mixing_sulphur_salt_and_mercury_gives_gloop') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_alembic.py::test_mixing_sulphur_salt_and_mercury_gives_gloop + location: ('tests/domain/test_alembic.py', 23, 'test_mixing_sulphur_salt_and_mercury_gives_gloop') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_alembic.py::test_mixing_other_recipes_gives_sludge + location: ('tests/domain/test_alembic.py', 38, 'test_mixing_other_recipes_gives_sludge') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_alembic.py::test_mixing_other_recipes_gives_sludge + location: ('tests/domain/test_alembic.py', 38, 'test_mixing_other_recipes_gives_sludge') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_alembic.py::test_can_process_substance + location: ('tests/domain/test_alembic.py', 58, 'test_can_process_substance') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_alembic.py::test_can_process_substance + location: ('tests/domain/test_alembic.py', 58, 'test_can_process_substance') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_alembic.py::test_cannot_perform_unknown_process + location: ('tests/domain/test_alembic.py', 74, 'test_cannot_perform_unknown_process') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_alembic.py::test_cannot_perform_unknown_process + location: ('tests/domain/test_alembic.py', 74, 'test_cannot_perform_unknown_process') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_alembic_instruction_handler.py::test_can_set_up_my_alembic_instruction_handler + location: ('tests/domain/test_alembic_instruction_handler.py', 34, 'test_can_set_up_my_alembic_instruction_handler') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> AlembicInstruction(instruction_type='process', natures=['Sludge'], action='cook') [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_alembic_instruction_handler.py::test_can_set_up_my_alembic_instruction_handler + location: ('tests/domain/test_alembic_instruction_handler.py', 34, 'test_can_set_up_my_alembic_instruction_handler') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_pantry.py::test_can_add_to_pantry[list] + location: ('tests/domain/test_pantry.py', 17, 'test_can_add_to_pantry[list]') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> list [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + list: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_pantry.py::test_can_add_to_pantry[list] + location: ('tests/domain/test_pantry.py', 17, 'test_can_add_to_pantry[list]') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_pantry.py::test_can_retrieve_substance_from_pantry_by_nature[list] + location: ('tests/domain/test_pantry.py', 27, 'test_can_retrieve_substance_from_pantry_by_nature[list]') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> list [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + pytest_fixture_setup [hook] + fixturedef: + request: > + finish pytest_fixture_setup --> [hook] + list: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + pytest_fixture_post_finalizer [hook] + fixturedef: + request: > + finish pytest_fixture_post_finalizer --> [] [hook] + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_pantry.py::test_can_retrieve_substance_from_pantry_by_nature[list] + location: ('tests/domain/test_pantry.py', 27, 'test_can_retrieve_substance_from_pantry_by_nature[list]') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_substance.py::test_can_cook_substance + location: ('tests/domain/test_substance.py', 2, 'test_can_cook_substance') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_substance.py::test_can_cook_substance + location: ('tests/domain/test_substance.py', 2, 'test_can_cook_substance') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_substance.py::test_can_wash_substance + location: ('tests/domain/test_substance.py', 9, 'test_can_wash_substance') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_substance.py::test_can_wash_substance + location: ('tests/domain/test_substance.py', 9, 'test_can_wash_substance') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_substance.py::test_can_pickle_substance + location: ('tests/domain/test_substance.py', 16, 'test_can_pickle_substance') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_substance.py::test_can_pickle_substance + location: ('tests/domain/test_substance.py', 16, 'test_can_pickle_substance') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_substance.py::test_can_ferment_substance + location: ('tests/domain/test_substance.py', 23, 'test_can_ferment_substance') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_substance.py::test_can_ferment_substance + location: ('tests/domain/test_substance.py', 23, 'test_can_ferment_substance') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_substance.py::test_can_cook_and_ferment_substance + location: ('tests/domain/test_substance.py', 30, 'test_can_cook_and_ferment_substance') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_substance.py::test_can_cook_and_ferment_substance + location: ('tests/domain/test_substance.py', 30, 'test_can_cook_and_ferment_substance') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + pytest_runtest_protocol [hook] + item: + nextitem: None + pytest_runtest_logstart [hook] + nodeid: tests/domain/test_substance.py::test_the_order_of_processes_applied_to_a_substance_matters + location: ('tests/domain/test_substance.py', 38, 'test_the_order_of_processes_applied_to_a_substance_matters') + finish pytest_runtest_logstart --> [] [hook] + pytest_runtest_setup [hook] + item: + finish pytest_runtest_setup --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_call [hook] + item: + pytest_pyfunc_call [hook] + pyfuncitem: + finish pytest_pyfunc_call --> True [hook] + finish pytest_runtest_call --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('passed', '.', 'PASSED') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_teardown [hook] + item: + nextitem: None + finish pytest_runtest_teardown --> [] [hook] + pytest_runtest_makereport [hook] + item: + call: + finish pytest_runtest_makereport --> [hook] + pytest_runtest_logreport [hook] + report: + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('', '', '') [hook] + finish pytest_runtest_logreport --> [] [hook] + pytest_runtest_logfinish [hook] + nodeid: tests/domain/test_substance.py::test_the_order_of_processes_applied_to_a_substance_matters + location: ('tests/domain/test_substance.py', 38, 'test_the_order_of_processes_applied_to_a_substance_matters') + finish pytest_runtest_logfinish --> [] [hook] + finish pytest_runtest_protocol --> True [hook] + finish pytest_runtestloop --> True [hook] + pytest_sessionfinish [hook] + session: testsfailed=3 testscollected=21> + exitstatus: ExitCode.TESTS_FAILED + pytest_terminal_summary [hook] + terminalreporter: <_pytest.terminal.TerminalReporter object at 0x7f780666aee0> + exitstatus: ExitCode.TESTS_FAILED + config: <_pytest.config.Config object at 0x7f78089fd5b0> + early skip of rewriting module: pygments [assertion] + early skip of rewriting module: pygments [assertion] + early skip of rewriting module: pygments [assertion] + early skip of rewriting module: wcwidth [assertion] + early skip of rewriting module: wcwidth.wcwidth [assertion] + early skip of rewriting module: wcwidth.table_wide [assertion] + early skip of rewriting module: wcwidth.table_zero [assertion] + early skip of rewriting module: wcwidth.unicode_versions [assertion] + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('failed', 'F', 'FAILED') [hook] + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('failed', 'F', 'FAILED') [hook] + pytest_report_teststatus [hook] + report: + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_report_teststatus --> ('failed', 'F', 'FAILED') [hook] + finish pytest_terminal_summary --> [] [hook] + finish pytest_sessionfinish --> [] [hook] + pytest_unconfigure [hook] + config: <_pytest.config.Config object at 0x7f78089fd5b0> + finish pytest_unconfigure --> [] [hook] diff --git a/022-burette/magnum_opus_ii/requirements.txt b/022-burette/magnum_opus_ii/requirements.txt new file mode 100644 index 0000000..0104ae5 --- /dev/null +++ b/022-burette/magnum_opus_ii/requirements.txt @@ -0,0 +1,9 @@ +appdirs +quart +wheel +quart-openapi +flask-marshmallow +flask-sqlalchemy +flask-injector +marshmallow-sqlalchemy +sqlalchemy-utils diff --git a/022-burette/magnum_opus_ii/setup.cfg b/022-burette/magnum_opus_ii/setup.cfg new file mode 100644 index 0000000..74b608f --- /dev/null +++ b/022-burette/magnum_opus_ii/setup.cfg @@ -0,0 +1,34 @@ +[metadata] +name = aiomagnumopus +version = 0.0.1 +author = Phil Weir +author_email = phil.weir@flaxandteal.co.uk +license = GPL +description = Service for cooking up a philosopher's stone +long-description = file:README.md + +[options] +include_package_data = True +packages = find: +python_requires = >=3.6 +install_requires = + appdirs + quart-openapi + flask-marshmallow + flask-sqlalchemy + flask-injector + sqlalchemy-utils + marshmallow-sqlalchemy + quart-openapi + wheel + +[options.extras_require] +dev = + pytest + pytest-pep8 + pytest-cov + pytest-asyncio + +[options.packages.find] +exclude = + tests diff --git a/022-burette/magnum_opus_ii/setup.py b/022-burette/magnum_opus_ii/setup.py new file mode 100644 index 0000000..1767837 --- /dev/null +++ b/022-burette/magnum_opus_ii/setup.py @@ -0,0 +1,14 @@ +# -*- coding: utf-8 -*- +""" +Magnum Opus + +This tool performs alchemical reactions to create +the Philosopher's Stone. + +@author: Phil Weir +""" + +from setuptools import setup + +if __name__ == '__main__': + setup() diff --git a/022-burette/magnum_opus_ii/tests/__init__.py b/022-burette/magnum_opus_ii/tests/__init__.py new file mode 100644 index 0000000..c09f99d --- /dev/null +++ b/022-burette/magnum_opus_ii/tests/__init__.py @@ -0,0 +1,4 @@ + +def is_dictionary_inside(d1, d2): + return d1.items() <= d2.items() + diff --git a/022-burette/magnum_opus_ii/tests/application/.coverage b/022-burette/magnum_opus_ii/tests/application/.coverage new file mode 100644 index 0000000000000000000000000000000000000000..0e5750b04d16c86d92dbe9e012e32b8f135b4fbd GIT binary patch literal 53248 zcmeI4O^h5z6@a^^d#2}iYwh*!%B(i-3mUJyv$MPACzwMp_8x*QL5zcgEYsJ5_bF@g&h4&X=}$R(F>fJnJ;2@oWHgOIq81Cc;NNGKe5uYYEG>|GNH zdJ=D5Yo?}us_NDI-m9v4{rAOZt{Og9Hyzi~ef7LBEr_D<8C4Yop#==1-p%55Df}EtC7M-sWzU)-GM!xOja-y?*htS2xsXpL({e!qRA{7gg8UReRi3 zHw}}khTSpRx^LK9s^8^F?!L!6IOD-SnDa2>N?0D(G@}Ehe7*%$^jyQz-FDknGx^uP$%7O!>2N) z4eS`H^7JND)OOqsw!Y=+cDu{HWmO+)*mj_udw!&?>sU?SQBA`R)wDgsHym5#d%WHE zdFN0Cml0aB0KBv|P}lRQ(DPBrSXPS8sPG{rE%j&4)a;S#wEUTyl zc)&+1h51j-hyr*e-}81%_~WJNecuVUH88%m21)gsCyL7anKRHF$!*jQ+T z+A^KixUYpC<8kO9Fcu`)Hv4uPyNZW8w4DKW^)0>D7I7*#3pSBjS6az(8=4WTcAnFk~F5x#nrUdR8b%6&ag7@D1p6++mhue<3q2cv> zVgA#zM>QOqpsitAc;Q+uZ1P^z39o|0Hu{EfNO-bey9Nn)&UrV|btXP(Acj9RZXWyt+81k`C zqMT^#fP!ir`l1It^MN{(O5>wAP$l)R^Z*6cYU!P*m!mCGHSTu#L)Ar-&}H4{zF~0{ zvxJQa{b^VC)V9mvAWWf4b?H&oMwC==ZV#HK(TcO5UwN_#xBKx%Pj7F-%}XBc z=bqoxGz)}i8r&99Usmf4sCR%XQC(P7{Z<)lDzi5Q_9puWdz<~~!(?L8l?V_4B0vO) z01+SpM1Tko0U|&Ih`{4Zpeikj$$1O8D9ws^+Cr*G3u1hZB3F?XOUda8y#7Cz|AWBp zu`^RYnz~&3b#1#QR$r_xR_<38%lFIcrB_Rria#x0QQlBKSNKKYImk>45g-CYfCzk$ z3EY{Jh2YNr{p|DT>~YiOJqOM_JFWpIolV2@wVrPK?mnDw9?XL9orwt_%H2B!a{CjL zt7&i+-w#i*2jYw@94HeL4G)m(CO${FKcar;WY#8+o-6d4Uccq}@J<3AKfDMg_fCND z?JV_Agr}(s(?C6+rBs)Da6Jaz=Frql4$qdi!RDUt_QS`VjuP`tqaden;cu> zmnWuw%Ei1=)~2?c4mVSy38-onL8z7`a~!e_-88<+L0ne>anEKe4qo>Gl8gdKx{;+M zcwfS%u?3>cJczoLr6|L`&65Gpkh50IbhhAyJfN5@fhavo#bS?a=^lEAn*({q1mvZ9 z-L?oaZ)PboB@D0s&*k3|*tcqCEmyr)`_0q_Q>R|8K2i8({;k57l`Eyo#n(zdE?!lB zUU{i}zVbx*r4RC-UTPZ=AOb{y2nfR0H@F?#n@ca&l8M z>8T(mA1IR(eOUZIlex*05PTRBj^h85z8q|4s(&IpMg2q|$_M#OrT(}0e|jJX&V*W! z(wt48haDFGPi1fBVJIHO#PC17)|Ue-Q^tqI|J9%?7m<%H;GXdwbbfCvx)B0vO)01+SpM1Tko0U|&Ijv)a_s+I8izr@}a*uU7{;D;6> zKm>>Y5g-CYfCvx)B0vO)01+SpMBp(dP>^J?G$oal9Q;n_=ES@xmr7G*y#6n-cLeq> zy#N25$5=sXIuRfOM1Tko0U|&IhyW2F0z`la5CI|(5hy_HFG^DQlgr6)0wBEpFH934 zB0vO)01+SpM1Tko0U|&IhyW2F0z}|A6Ts{L6#pM*3zKd{fCvx)B0vO)01+SpM1Tko z0U|&I1OcD_pJOlL{r~@De`kMXe_?-Se`LR9zhZB&pRw23PuQ#M74|awA^QRQ9{Vo) z4rHc<2oM1xKm>>Y5g-CYfCvx)B0vO)01@~f2}pDBT7GF3lT(