Re: RFP fpr bioperl's Bio-EUtilities
My suggestion is to take the avenue of easiest solution first, then most stable solution long-term if needed.
The easiest may be to move the network tests to ‘xt’, which as Carnė mentioned would be run upon release only. This should be easy enough w/ a Dist::Zilla release. Longer term a mock setup may be better.
On 1/23/17, 9:03 AM, "firstname.lastname@example.org on behalf of Carnë Draug" <email@example.com on behalf of firstname.lastname@example.org> wrote:
On 23 January 2017 at 12:40, Andreas Tille <email@example.com> wrote:
> Hi Carnė,
> On Fri, Jan 20, 2017 at 05:44:00PM +0000, Carnė Draug wrote:
>> I have filled a RFP (bug # 852004) for bioperl's Bio-EUtilities
>> package . Unlike Bio-Coordinate, which was split from bioperl and
>> was recently packaged in Debian, Bio-EUtilities development started
>> already after bioperl commenced its splitting.
>> I was wondering if it was possible for the debian-med team to package
>> it. While I am not a debian maintainer, I am one of the
>> Bio-EUtilities developers, have an interest on seeing it packaged in
>> Debian, and I'm willing to support it upstream.
> I have commited some initial packaging to
> This build fails due to the failure of several tests - as far as I can
> see due to the attempt to access the internet. It would help if you
> could provide an option: "Just do all tests than can be done offline"
> since the Debian packaging process needs to run fully offline.
> Kind regards
I have asked on #debian-perl if there was any standard method or
debian preferred method to skip those tests and apparently there is
none. But there are some suggestions that seem to be common and
acceptable to the Debian.
1. check for an environment variable that defines whether network
tests should be skipped. Some variables used in Debian are
NO_NETWORK, NOINTERNET, TEST_INTERNET, and NETWORK_TESTING. See for
example discussion on debian bug #764868 
2. mock EUtilities using Test::LWP::UserAgent. This is probably the
most involved but probably the technically most correct way. It has
the problem of not failing if upstream service ever changes (but maybe
if that happens and only the testsuite notices, then this whole module
is not needed).
3. move all tests from t/ to xt/ so that they are only ran at release
time by the package author "since obviously if the author isn't
running their own tests before releasing, you already have a bigger
Note that the test must not even attempt network access  so
skipping the test because a ping to the entrez servers fails is also
I'm CC'ing Chris Fields (also developer on Bio-EUtilities) to discuss
what would Debian and upstream prefer.