[Debian-med-packaging] r16448 - in trunk/packages/python-biopython/trunk/debian: . patches tests

Philipp Benner philipp at debian.org
Tue Mar 18 20:50:25 UTC 2014


Hi Andreas,

I've seen that some packages also include the tests at build-time.
If a package contains only some minor tests which do not require many
additional packages, then I agree that it might be convenient. For
biopython the tests are however quite extensive. With autopkgtest
we have a very nice way to separate build dependencies from test
dependencies, which in my opinion shouldn't be mixed. So why not take
advantage of this?

Best,
Philipp


On Sun, 16 Mar 2014 11:50:34 +0100
Andreas Tille <andreas at an3as.eu> wrote:

> Hi Phlippp,
> 
> are you sure that you do not want to run the test on build-time as
> well? IMHO running the test at build-time is in the same way
> important as the autopkgtest - so I would leave all the build-depends
> and run the test at package build time.
> 
> Kind regards
> 
>        Andreas.
> 
> On Sat, Mar 15, 2014 at 08:36:41PM +0000, Philipp Benner wrote:
> > Author: philipp
> > Date: 2014-03-15 20:36:41 +0000 (Sat, 15 Mar 2014)
> > New Revision: 16448
> > 
> > Added:
> >    trunk/packages/python-biopython/trunk/debian/tests/
> >    trunk/packages/python-biopython/trunk/debian/tests/control
> >    trunk/packages/python-biopython/trunk/debian/tests/upstream
> > Removed:
> >    trunk/packages/python-biopython/trunk/debian/patches/fix_dssp.patch
> > Modified:
> >    trunk/packages/python-biopython/trunk/debian/control
> >    trunk/packages/python-biopython/trunk/debian/patches/series
> >    trunk/packages/python-biopython/trunk/debian/rules
> > Log:
> > a very first autopkgtest
> > 
> > Modified: trunk/packages/python-biopython/trunk/debian/control
> > ===================================================================
> > --- trunk/packages/python-biopython/trunk/debian/control
> > 2014-03-15 12:07:13 UTC (rev 16447) +++
> > trunk/packages/python-biopython/trunk/debian/control
> > 2014-03-15 20:36:41 UTC (rev 16448) @@ -9,45 +9,16 @@ dpkg-dev (>=
> > 1.16.1~), python-all-dev,
> >                 python3-all-dev,
> > -               flex,
> > -               python-reportlab,
> > -               python-numpy,
> > -               python3-reportlab,
> > -               python3-numpy,
> > -               bwa [any-amd64],
> > -               clustalo,
> > -               clustalw,
> > -               dialign,
> > -               dssp,
> > -               emboss,
> > -               fasttree,
> > -               mafft,
> > -               muscle,
> > -               ncbi-blast+,
> > -               phyml,
> > -               prank,
> > -               probcons,
> > -               python-mysqldb,
> > -               python-matplotlib,
> > -               python3-matplotlib,
> > -               python-numpy,
> > -               python3-numpy,
> > -               python-pil,
> > -               python3-pil,
> > -               python-rdflib,
> > -               python-renderpm,
> > -               python3-renderpm,
> > -               python-psycopg2,
> > -               python3-psycopg2,
> > -               raxml,
> > -               t-coffee,
> > -               wise
> > +	       python-numpy,
> > +	       python3-numpy,
> > +               flex
> >  Standards-Version: 3.9.5
> >  Vcs-Browser:
> > http://anonscm.debian.org/viewvc/debian-med/trunk/packages/python-biopython/trunk/
> > Vcs-Svn:
> > svn://anonscm.debian.org/debian-med/trunk/packages/python-biopython/trunk/
> > Homepage: http://biopython.org X-Python-Version: >= 2.5
> > X-Python3-Version: >= 3.3 +XS-Testsuite: autopkgtest
> >  
> >  Package: python-biopython
> >  Architecture: any
> > @@ -57,14 +28,36 @@
> >           python-reportlab
> >  Recommends: python-biopython-doc (= ${source:Version})
> >  Suggests: python-tk,
> > -          wise,
> > -          muscle,
> > +          python-numpy,
> > +          python3-numpy,
> > +          bwa [any-amd64],
> > +          clustalo,
> >            clustalw,
> > +          dialign,
> > +          dssp,
> > +          emboss,
> > +          fasttree,
> >            mafft,
> > -          emboss,
> > -          blast2,
> > +          muscle,
> > +          ncbi-blast+,
> > +          phyml,
> > +          prank,
> > +          probcons,
> > +          python-mysqldb,
> > +          python-matplotlib,
> > +          python3-matplotlib,
> > +          python-numpy,
> > +          python3-numpy,
> > +          python-pil,
> > +          python3-pil,
> > +          python-rdflib,
> > +          python-renderpm,
> > +          python3-renderpm,
> >            python-psycopg2,
> > -          probcons
> > +          python3-psycopg2,
> > +          raxml,
> > +          t-coffee,
> > +          wise
> >  Description: Python library for bioinformatics (implemented in
> > Python 2) The Biopython Project is an international association
> >   of developers of freely available Python tools for
> > @@ -89,14 +82,37 @@
> >           python3-reportlab
> >  Recommends: python-biopython-doc (= ${source:Version})
> >  Suggests: python3-tk,
> > -          wise,
> > -          muscle,
> > +          python-reportlab,
> > +          python-numpy,
> > +          python3-numpy,
> > +          bwa [any-amd64],
> > +          clustalo,
> >            clustalw,
> > +          dialign,
> > +          dssp,
> > +          emboss,
> > +          fasttree,
> >            mafft,
> > -          emboss,
> > -          blast2,
> > +          muscle,
> > +          ncbi-blast+,
> > +          phyml,
> > +          prank,
> > +          probcons,
> > +          python-mysqldb,
> > +          python-matplotlib,
> > +          python3-matplotlib,
> > +          python-numpy,
> > +          python3-numpy,
> > +          python-pil,
> > +          python3-pil,
> > +          python-rdflib,
> > +          python-renderpm,
> > +          python3-renderpm,
> > +          python-psycopg2,
> >            python3-psycopg2,
> > -          probcons
> > +          raxml,
> > +          t-coffee,
> > +          wise
> >  Description: Python library for bioinformatics (implemented in
> > Python 3) The Biopython Project is an international association
> >   of developers of freely available Python tools for
> > 
> > Deleted:
> > trunk/packages/python-biopython/trunk/debian/patches/fix_dssp.patch
> > ===================================================================
> > ---
> > trunk/packages/python-biopython/trunk/debian/patches/fix_dssp.patch
> > 2014-03-15 12:07:13 UTC (rev 16447) +++
> > trunk/packages/python-biopython/trunk/debian/patches/fix_dssp.patch
> > 2014-03-15 20:36:41 UTC (rev 16448) @@ -1,39 +0,0 @@ -Index:
> > python-biopython-1.63/Bio/PDB/DSSP.py
> > -===================================================================
> > ---- python-biopython-1.63.orig/Bio/PDB/DSSP.py	2014-03-12
> > 17:58:51.000000000 +0000 -+++
> > python-biopython-1.63/Bio/PDB/DSSP.py	2014-03-12
> > 18:00:02.000000000 +0000 -@@ -80,7 +80,7 @@
> > -     assert 0
> > - 
> > - 
> > --def dssp_dict_from_pdb_file(in_file, DSSP="dssp"):
> > -+def dssp_dict_from_pdb_file(in_file, DSSP="mkdssp"):
> > -     """
> > -     Create a DSSP dictionary from a PDB file.
> > - 
> > -@@ -199,7 +199,7 @@
> > -         -42.399999999999999)
> > -     """
> > - 
> > --    def __init__(self, model, pdb_file, dssp="dssp"):
> > -+    def __init__(self, model, pdb_file, dssp="mkdssp"):
> > -         """
> > -         @param model: the first model of the structure
> > -         @type model: L{Model}
> > -Index: python-biopython-1.63/Tests/test_DSSP_tool.py
> > -===================================================================
> > ---- python-biopython-1.63.orig/Tests/test_DSSP_tool.py
> > 2014-03-12 17:59:10.000000000 +0000 -+++
> > python-biopython-1.63/Tests/test_DSSP_tool.py	2014-03-12
> > 17:59:33.000000000 +0000 -@@ -22,10 +22,10 @@
> > - try:
> > -     try:
> > -         # Newer versions of DSSP
> > --        subprocess.check_call(["dssp", "--version"],
> > **quiet_kwargs) -+        subprocess.check_call(["mkdssp",
> > "--version"], **quiet_kwargs)
> > -     except subprocess.CalledProcessError:
> > -         # Older versions of DSSP
> > --        subprocess.check_call(["dssp", "-h"], **quiet_kwargs)
> > -+        subprocess.check_call(["mkdssp", "-h"], **quiet_kwargs)
> > - except OSError:
> > -     raise MissingExternalDependencyError(
> > -         "Install dssp if you want to use it from Biopython.")
> > 
> > Modified:
> > trunk/packages/python-biopython/trunk/debian/patches/series
> > ===================================================================
> > ---
> > trunk/packages/python-biopython/trunk/debian/patches/series
> > 2014-03-15 12:07:13 UTC (rev 16447) +++
> > trunk/packages/python-biopython/trunk/debian/patches/series
> > 2014-03-15 20:36:41 UTC (rev 16448) @@ -1,2 +1 @@
> > fix_test_emboss.patch -fix_dssp.patch
> > 
> > Modified: trunk/packages/python-biopython/trunk/debian/rules
> > ===================================================================
> > --- trunk/packages/python-biopython/trunk/debian/rules
> > 2014-03-15 12:07:13 UTC (rev 16447) +++
> > trunk/packages/python-biopython/trunk/debian/rules
> > 2014-03-15 20:36:41 UTC (rev 16448) @@ -7,13 +7,6 @@ #export
> > PYBUILD_DESTDIR_python2=debian/python-biopython/ #export
> > PYBUILD_DESTDIR_python3=debian/python3-biopython/ 
> > -BUILDARCH := $(shell dpkg-architecture -qDEB_BUILD_ARCH)
> > -ifeq ($(BUILDARCH),amd64)
> > -    EXCLUDEBWA=
> > -else
> > -    EXCLUDEBWA=BWA_tool
> > -endif
> > -
> >  %:
> >  	dh $@ --with python2,python3 --buildsystem=pybuild
> >  
> > @@ -23,28 +16,6 @@
> >  	dh_numpy3 -ppython3-biopython
> >  
> >  override_dh_auto_test:
> > -	# 1. avoid some tests which need online access
> > -	# 2. avoid tests needing a ready setup database server
> > (MySQL and PostgreSQL)
> > -	# 3. avoid PAML_tools and EmbossPhylipNew since paml resp.
> > embassy-phylip are non-free
> > -	# 4. avoid testing tools that are not packaged for Debian
> > yet
> > -	# 5. avoid amd64 only tools on other architectures
> > -        # While 2. and 3. do not create errors there is no point
> > in bloating
> > -	# the build log and this kind of documentation makes
> > things more transparent
> > -	mkdir -p Tests_avoid
> > -	for avoid in \
> > -			Entrez_online HotRand NCBI_qblast
> > SCOP_online SeqIO_online TogoWS \
> > -			BioSQL_MySQLdb BioSQL_psycopg2 \
> > -			PAML_tools EmbossPhylipNew \
> > -			MSAProbs_tool NACCESS_tool PopGen_DFDist
> > PopGen_FDist PopGen_GenePop PopGen_GenePop_EasyController
> > PopGen_SimCoal XXmotif_tool \
> > -			$(EXCLUDEBWA) \
> > -		    ; do \
> > -	    mv Tests/test_$${avoid}.py Tests_avoid ; \
> > -	done
> > -	# in the Debian package dialign it is not needed to set
> > DIALIGN2_DIR but the test is verifying this dir 
> > -	# to run the EMBOSS test test_Emboss also requires to have
> > the environment variable EMBOSS_ROOT set
> > -	dh_auto_test -- --test --system=custom --test-args='env
> > DIALIGN2_DIR=/usr/share/dialign EMBOSS_ROOT=/usr/lib/emboss
> > PYTHONPATH={build_dir} {interpreter} setup.py test'
> > -	mv Tests_avoid/* Tests
> > -	rmdir Tests_avoid
> >  
> >  override_dh_installdocs:
> >  	dh_installdocs
> > 
> > Added: trunk/packages/python-biopython/trunk/debian/tests/control
> > ===================================================================
> > ---
> > trunk/packages/python-biopython/trunk/debian/tests/control
> > (rev 0) +++
> > trunk/packages/python-biopython/trunk/debian/tests/control
> > 2014-03-15 20:36:41 UTC (rev 16448) @@ -0,0 +1,36 @@ +Tests:
> > upstream +Depends: python-all-dev,
> > +	 python3-all-dev,
> > +	 flex,
> > +         python-reportlab,
> > +         python-numpy,
> > +         python3-reportlab,
> > +         python3-numpy,
> > +         bwa [any-amd64],
> > +         clustalo,
> > +         clustalw,
> > +         dialign,
> > +         dssp,
> > +         emboss,
> > +         fasttree,
> > +         mafft,
> > +         muscle,
> > +         ncbi-blast+,
> > +         phyml,
> > +         prank,
> > +         probcons,
> > +         python-mysqldb,
> > +         python-matplotlib,
> > +         python3-matplotlib,
> > +         python-numpy,
> > +         python3-numpy,
> > +         python-pil,
> > +         python3-pil,
> > +         python-rdflib,
> > +         python-renderpm,
> > +         python3-renderpm,
> > +         python-psycopg2,
> > +         python3-psycopg2,
> > +         raxml,
> > +         t-coffee,
> > +         wise
> > 
> > Added: trunk/packages/python-biopython/trunk/debian/tests/upstream
> > ===================================================================
> > ---
> > trunk/packages/python-biopython/trunk/debian/tests/upstream
> > (rev 0) +++
> > trunk/packages/python-biopython/trunk/debian/tests/upstream
> > 2014-03-15 20:36:41 UTC (rev 16448) @@ -0,0 +1,64 @@ +#! /bin/sh +
> > +################################################################################
> > +# 1. avoid some tests which need online access
> > +# 2. avoid tests needing a ready setup database server (MySQL and
> > PostgreSQL) +# 3. avoid PAML_tools and EmbossPhylipNew since paml
> > resp. embassy-phylip are non-free +# 4. avoid testing tools that
> > are not packaged for Debian yet +# 5. avoid amd64 only tools on
> > other architectures +#
> > +# While 2. and 3. do not create errors there is no point in
> > bloating +# the build log and this kind of documentation makes
> > things more transparent
> > +################################################################################
> > + +# definitions
> > +################################################################################
> > +
> > +BUILDARCH=$(dpkg-architecture -qDEB_BUILD_ARCH)
> > +
> > +EXCLUDE="Entrez_online"
> > +EXCLUDE="$EXCLUDE:HotRand"
> > +EXCLUDE="$EXCLUDE:NCBI_qblast"
> > +EXCLUDE="$EXCLUDE:SCOP_online"
> > +EXCLUDE="$EXCLUDE:SeqIO_online"
> > +EXCLUDE="$EXCLUDE:TogoWS"
> > +EXCLUDE="$EXCLUDE:BioSQL_MySQLdb"
> > +EXCLUDE="$EXCLUDE:BioSQL_psycopg2"
> > +EXCLUDE="$EXCLUDE:PAML_tools"
> > +EXCLUDE="$EXCLUDE:EmbossPhylipNew"
> > +EXCLUDE="$EXCLUDE:MSAProbs_tool"
> > +EXCLUDE="$EXCLUDE:NACCESS_tool"
> > +EXCLUDE="$EXCLUDE:PopGen_DFDist"
> > +EXCLUDE="$EXCLUDE:PopGen_FDist"
> > +EXCLUDE="$EXCLUDE:PopGen_GenePop"
> > +EXCLUDE="$EXCLUDE:PopGen_GenePop_EasyController"
> > +EXCLUDE="$EXCLUDE:PopGen_SimCoal"
> > +EXCLUDE="$EXCLUDE:XXmotif_tool"
> > +
> > +if [ "x$BUILDARCH" = "xamd64" ]; then
> > +    EXCLUDE="$EXCLUDE:BWA_tool"
> > +fi
> > +
> > +# move excluded tests
> > +################################################################################
> > +
> > +mkdir -p Tests_avoid
> > +for i in $(echo $EXCLUDE | tr ':' '\n'); do \
> > +    mv Tests/test_${i}.py Tests_avoid ; \
> > +done
> > +
> > +# execute tests
> > +################################################################################
> > +# in the Debian package dialign it is not needed to set
> > DIALIGN2_DIR but the +# test is verifying this dir to run the
> > EMBOSS test +# test_Emboss also requires to have the environment
> > variable EMBOSS_ROOT set +
> > +for python in $(pyversions -i) $(py3versions -i); do
> > +    DIALIGN2_DIR=/usr/share/dialign EMBOSS_ROOT=/usr/lib/emboss
> > PYTHONPATH={build_dir} python setup.py test +done
> > +
> > +# restore test directory
> > +################################################################################
> > +
> > +mv Tests_avoid/* Tests
> > +rmdir Tests_avoid
> > 
> > 
> > _______________________________________________
> > debian-med-commit mailing list
> > debian-med-commit at lists.alioth.debian.org
> > http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/debian-med-commit
> > 
> 




More information about the Debian-med-packaging mailing list