[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Any clue how to run Qiime2 test suite?



Hi Andreas,

On Sun, 21 Oct 2018 at 00:10 Andreas Tille <andreas@fam-tille.de> wrote:
On Sat, Oct 20, 2018 at 05:40:44PM +0200, Liubov Chuprikova wrote:
>
> the required "testing plugin" (dummy-plugin) is defined as an
> entry point argument in setup.py. Qiime uses pkg_resources module to find
> the plugin

I think a minimum requirement is a Build-Depends: python3-pkg-resources which
I now added (but this does not change anything).
 
Yes indeed, python3-pkg-resources was already present as it is a python3-setuptools' dependency.

> using package's metadata (egg-info). Unfortunately, the metadata
> are only available after the "install" phase.
>
> I thought of two options:
>
>  * rely on autopkgtest

We surely should have an autopkgtest but I think both kind of tests
should be run.

>  * run build-time tests after "dh_auto_install"

This was easy for me to propose but when I tried to implement the tests like this, it didn't work :-P The egg was installed but still unavailable for pkg_resources. This discussion [1] gave me a hint, that it is possible to run "setup.py develop", which creates .egg-link and .pth files necessary for 
pkg_resources to find the egg.

But there are several tests that still fail with the following error:

======================================================================
ERROR: test_action (qiime2.core.archive.tests.test_citations.TestCitationsTracked)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.6/build/qiime2/core/archive/tests/test_citations.py", line 51, in test_action
    data = "" [1, 2, 3, 4])
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.6/build/qiime2/sdk/result.py", line 219, in import_data
    return cls._from_view(
type_, view, view_type, provenance_capture)
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.6/build/qiime2/sdk/result.py", line 250, in _from_view
    provenance_capture=provenance_capture)
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.6/build/qiime2/core/archive/archiver.py", line 310, in from_data
    Format.write(rec, type, format, data_initializer, provenance_capture)
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.6/build/qiime2/core/archive/format/v1.py", line 26, in write
    prov_dir, [root / cls.METADATA_FILE, archive_record.version_fp])
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.6/build/qiime2/core/archive/provenance.py", line 313, in finalize
    self.write_citations_bib()
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.6/build/qiime2/core/archive/provenance.py", line 304, in write_citations_bib
    self.citations.save(str(self.path / self.CITATION_FILE))
  File "/<<PKGBUILDDIR>>/.pybuild/cpython3_3.6/build/qiime2/core/cite.py", line 71, in save
    bp.dump(db, f, writer=writer)
  File "/usr/lib/python3/dist-packages/bibtexparser/__init__.py", line 91, in dump
    bibtex_file.write(writer.write(bib_database))
UnicodeEncodeError: 'ascii' codec can't encode character '\xe9' in position 1095: ordinal not in range(128)

I cannot say from the first glance what is wrong here. It might be something trivial, but I will be able to continue with this not earlier than next Thursday..

With regards,
Liubov

[1] https://stackoverflow.com/questions/256417/python-packages-and-egg-info-directories

Reply to: