[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#28151] [PATCH] gnu: Add honcho.
From: |
Stefan Reichör |
Subject: |
[bug#28151] [PATCH] gnu: Add honcho. |
Date: |
Tue, 22 Aug 2017 22:08:26 +0200 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/24.5 (gnu/linux) |
Stefan Reichör <address@hidden> writes:
> Marius Bakke <address@hidden> writes:
>
>> Stefan Reichör <address@hidden> writes:
>>
>>> * gnu/packages/python.scm (python-honcho): New variable.
>>
>> Thanks! I noticed this runs no tests, can you try to add a phase that
>> invokes "pytest" instead of relying on the default "setup.py test"?
>>
>> It looks like it might require some extra (native) inputs, but they
>> should already be in Guix:
>>
>> https://github.com/nickstenning/honcho/blob/master/tox.ini#L17
>
> I tried to add a py.test check phase. But I failed.
>
> By reading python.scm I found two ways to do such tests
>
> a) before installation
> (arguments
> '(#:phases
> (modify-phases %standard-phases
> (replace 'check
> (lambda _
> (zero? (system* "py.test" "-vv" )))))))
>
> b) after installation
> (arguments
> `(#:phases
> (modify-phases %standard-phases
> (delete 'check)
> (add-after 'install 'check
> (lambda* (#:key outputs inputs #:allow-other-keys)
> ;; It's easier to run tests after install.
> ;; Make installed package available for running the
> tests
> (add-installed-pythonpath inputs outputs)
> (zero? (system* "py.test" "-vv")))))))
>
>
> I added the following to get pytest dependencies in:
> (native-inputs
> `(("python-pytest" ,python-pytest)
> ("python-mock" ,python-mock)
> ("python-tox" ,python-tox))) ;for tests
>
> Both ways have the same effect: They don't collect any tests:
> ,----
> | platform linux -- Python 3.5.3 -- py-1.4.32 -- pytest-2.7.3 --
> /gnu/store/bf54hnwd8mb63zmssc23fwslf5zvxpxs-python-wrapper-3.5.3/bin/python
> | rootdir: /tmp/guix-build-python-honcho-1.0.1.drv-0/honcho-1.0.1, inifile:
> | collecting ... collected 0 items
> `----
>
> When I run py.test on my Ubuntu machine, the tox.ini file is picked up
> and I can run the tests:
> ,----
> | platform linux2 -- Python 2.7.12, pytest-2.8.7, py-1.4.31, pluggy-0.3.1
> | rootdir: /home/stefan/work/git/honcho, inifile: tox.ini
> | plugins: mock-0.8.1
> | collected 123 items
> |
> | tests/test_colour.py ..
> | tests/test_environ.py ..........................................
> | tests/test_export_base.py .............
> | tests/test_export_runit.py ..
> | tests/test_export_supervisord.py ..
> | tests/test_export_upstart.py .....
> | tests/test_manager.py ...............
> | tests/test_printer.py ..............
> | tests/test_process.py ..............
> | tests/integration/test_check.py .
> | tests/integration/test_export.py ...
> | tests/integration/test_run.py ....
> | tests/integration/test_start.py ......
> |
> | ============================= 123 passed in 19.25 seconds ================
> `----
>
> Of course, the python versions are different. But the test for the guix
> package seems to be run either in a wrong directory or some files
> (tox.ini) are missing...
>
> Sorry - I have no idea how to proceed.
To follow up on my mail.
I took a look at the downloaded honcho distribution .tgz:
/gnu/store/74vi1s1rjhr9xzn0vzsqh8rx2b121lsj-honcho-1.0.1.tar.gz
It does not contain the tests.
If we really need to run the tests we can't use the release tarball.
I am not sure if this is worth the extra hassle...
What do you think?
>
>> Also, since this seems to be some kind of process manager, perhaps it
>> would be better suited in 'admin.scm' (without the 'python-' prefix)?
>
> This was also my first intention.
>
> However, after reading https://honcho.readthedocs.io/en/latest/,
> I thought that honcho could also be used as python library.
> No idea how many users will do that...
>
>> Just a question, anyway. The patch looks good to me (but make sure it
>> passes `guix lint`).
>>
>> TIA!
>
>
> Stefan.