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

Re: Remaining issue with gbrowse - any help (Was: Urgent call to BioPerl users (Was: Bug#848236: src:gbrowse: ...)



On Mon, 16 Jan 2017 16:45:52 +0100, Andreas Tille wrote:

> > If you want to use the same list of tests to skip during build, you
> > can do something like
> > https://sources.debian.net/src/libipc-sharelite-perl/0.17-4/debian/rules
> Ahhh, OK.  I wrongly assumed that would be some magic since in the
> bioperl case it worked without this extra means.

The magic there worked because it was only needed for autopkgtest and
not at build time :)
 
> > I migt be able to try a build later today.
> 
> After safely landing in Berlin (from Debian Med sprint in Bukarest) I
> tried with your hints and the only remaining issue seems to be:
> 
> t/00.compile.t          (Wstat: 3840 Tests: 90 Failed: 15)
>   Failed tests:  1, 3, 5, 7, 10, 15, 17-18, 29, 31, 33, 35
>                 41, 45, 47
>   Non-zero exit status: 15

Lucky you :)
When I try to build the package from git, I get:

Test Summary Report
-------------------
t/00.compile.t          (Wstat: 3840 Tests: 90 Failed: 15)
  Failed tests:  1, 3, 5, 7, 10, 15, 17-18, 29, 31, 33, 35
                41, 45, 47
  Non-zero exit status: 15
t/02.rearchitecture.t   (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 90 tests but ran 0.
t/03.render.t           (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 150 tests but ran 0.
t/04.remoteserver.t     (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 43 tests but ran 0.
t/05.deferredrendering.t (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 19 tests but ran 0.
t/06.featuresearch.t    (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 26 tests but ran 0.
t/07.karyotype.t        (Wstat: 65280 Tests: 0 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 3 tests but ran 0.
Files=10, Tests=103,  5 wallclock secs ( 0.03 usr  0.03 sys +  4.19 cusr  0.36 csys =  4.61 CPU)
Result: FAIL
Failed 7/10 test programs. 15/103 subtests failed.


Ah, found it:

#   Failed test 'cgi-bin/das compiled ok'
#   at t/00.compile.t line 47.
# stdout:
# stderr: Backslash found where operator expected at /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line 963, near "$ENV\"
#       (Missing operator before \?)
# Backslash found where operator expected at /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line 963, near "$1\"
#       (Missing operator before \?)
# Variable "$semantic_label" is not imported at /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line 984, <DATA> line 192.
#       (Did you mean &semantic_label instead?)
# syntax error at /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line 963, near "$ENV\"
# syntax error at /build/gbrowse-2.56+dfsg/blib/lib/Bio/Graphics/Browser2/DataSource.pm line 963, near "''}"

This seems to come from debian/patches/fix_perl_deprecation.

*a bit later*

Yes, this patch is wrong now and can be dropped, as the original
issue was fixed in the 2.56 release. (Attached)

This brings me to:

Test Summary Report
-------------------
t/03.render.t           (Wstat: 65280 Tests: 41 Failed: 0)
  Non-zero exit status: 255
  Parse errors: Bad plan.  You planned 150 tests but ran 41.
t/04.remoteserver.t     (Wstat: 0 Tests: 41 Failed: 4)
  Failed tests:  11, 23, 35, 39
  Parse errors: Bad plan.  You planned 43 tests but ran 41.
t/05.deferredrendering.t (Wstat: 0 Tests: 19 Failed: 2)
  Failed tests:  5, 14

So t/00.compile.t just works. But I still have other issues.

Seems they all fail with something like 
"Can't locate testdata/conf/../../../conf/plugins/Aligner.pm in @INC ..."
which is quite weird path ... -- But it's fine, so we probably have a
". removed from @INC" problem here somewhere.

I guess that's it:

lib/Bio/Graphics/Browser2/PluginSet.pm

    my $class = "Bio\:\:Graphics\:\:Browser2\:\:Plugin\:\:$plugin";
    for my $search_path (@search_path) {
      my $plugin_with_path = "$search_path/$plugin.pm";
      if (eval {require $plugin_with_path}) {

Ok, changing this to "./$plugin_with_path" gets rid of this error but
later we still get something similar:

# prove --blib --verbose t/05.deferredrendering.t
t/05.deferredrendering.t .. 
1..19
ok 1
ok 2
ok 3
RenderPanels error: 
------------- EXCEPTION -------------
MSG: The requested glyph class, ``span'' is not available: Attempt to reload Bio/Graphics/Glyph/span.pm aborted.
Compilation failed in require at (eval 181) line 2, <> line 45.

STACK Bio::Graphics::Glyph::Factory::make_glyph /usr/share/perl5/Bio/Graphics/Glyph/Factory.pm:342
STACK Bio::Graphics::Glyph::add_feature /usr/share/perl5/Bio/Graphics/Glyph.pm:424
STACK Bio::Graphics::Browser2::RenderPanels::add_features_to_track /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:1869
STACK (eval) /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:1597
STACK Bio::Graphics::Browser2::RenderPanels::run_local_requests /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:1551
STACK Bio::Graphics::Browser2::RenderPanels::request_panels /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/RenderPanels.pm:185
STACK Bio::Graphics::Browser2::Render::render_deferred /build/gbrowse-2.56+dfsg/t/../lib/Bio/Graphics/Browser2/Render.pm:3608
STACK toplevel t/05.deferredrendering.t:102
-------------------------------------

ok 4
not ok 5
# Test 5 got: 'ERROR' (t/05.deferredrendering.t at line 124)
#   Expected: 'AVAILABLE'
ok 6
ok 7
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
not ok 14
# Test 14 got: 'ERROR AVAILABLE AVAILABLE AVAILABLE AVAILABLE' (t/05.deferredrendering.t at line 130)
#    Expected: 'AVAILABLE AVAILABLE AVAILABLE AVAILABLE AVAILABLE'
ok 15
ok 16
ok 17
ok 18
ok 19
Failed 2/19 subtests 

Test Summary Report
-------------------
t/05.deferredrendering.t (Wstat: 0 Tests: 19 Failed: 2)
  Failed tests:  5, 14
Files=1, Tests=19, 10 wallclock secs ( 0.04 usr  0.00 sys +  0.95 cusr  0.16 csys =  1.15 CPU)
Result: FAIL


And I'm not sure where this comes from, category "cwd removed from
@INC). I think this is a question for Lincoln (added back in cc).

> I wonder how these numbers relate to the tests inside the test file and
> what might be the recommended procedure:  Patching single tests (those
> 1, 3, 5, ...) or the wimpy way to exclude the whole file.  May be there
> is some hint how these tests might pass but I personally have no idea.

Depends if you see them during the build or in autopkgtests. During
build the test should succeed (which it does now); during autopkgtest
they might fail because they need something from the source tree
which is not present in the temporary test directory (and from a
quick look at t/00.compile.t this assumption is quite realistic). In
that case you can either try to patch t/00.compile.t (to tell it
about the right paths) or simply ignore the test as (at least that's
my impression), since the syntax happens in autopkgtest-pkg-perl's
syntax.t anyway.

Let's see.

Ok, one change in d/rules to build the package (attached). And then I
can't test the autopkgtest run because it somehow explodes. *sigh*

Ok, -d helps:

pmerror:/tmp/apt-dpkg-install-i5hiWj/102-gbrowse.deb:42.1125:trying to overwrite '/usr/share/man/man3/Bio::DB::SeqFeature::Store::LoadHelper.3pm.gz', which is also in package libbio-perl-perl 1.7.1-2



Cheers,
gregor

-- 
 .''`.  https://info.comodo.priv.at/ - Debian Developer https://www.debian.org
 : :' : OpenPGP fingerprint D1E1 316E 93A7 60A8 104D  85FA BB3A 6801 8649 AA06
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Michael Penn: Trampoline
From 21d8d702fed4907b8a234fc92f5aab888d6dbb9c Mon Sep 17 00:00:00 2001
From: gregor herrmann <gregoa@debian.org>
Date: Mon, 16 Jan 2017 20:20:16 +0100
Subject: [PATCH 1/2] Drop patch fix_perl_deprecation.

The issue is fixed in the new upstream release.
---
 debian/patches/fix_perl_deprecation | 18 ------------------
 debian/patches/series               |  1 -
 2 files changed, 19 deletions(-)
 delete mode 100644 debian/patches/fix_perl_deprecation

diff --git a/debian/patches/fix_perl_deprecation b/debian/patches/fix_perl_deprecation
deleted file mode 100644
index 42c1f31..0000000
--- a/debian/patches/fix_perl_deprecation
+++ /dev/null
@@ -1,18 +0,0 @@
-Subject: perl deprecated left brakets in regexp without escape
-Description: warning switched to error in perl, need to escape
- brakets in perl regexp if braket is a string pattern
-Author: Olivier Sallou <osallou@debian.org>
-Last-Updated: 2016-12-14
-Bug-Debian: https://bugs.debian.org/826458
-Forwarded: no
---- a/lib/Bio/Graphics/Browser2/DataSource.pm
-+++ b/lib/Bio/Graphics/Browser2/DataSource.pm
-@@ -960,7 +960,7 @@ sub db_settings {
- 
-   # Do environment substitutions in the args. Assume that the environment is safe.
-   foreach (@argv) {
--      s/\$ENV\{(\w+)\}/$ENV{$1}||''/ge;
-+      s/\$ENV\{(\w+)\}/$ENV\{$1\}||''/ge;
-       s/\$HTDOCS/Bio::Graphics::Browser2->htdocs_base/ge;
-       s/\$DB/Bio::Graphics::Browser2->db_base/ge;
-       s/\$CONF/Bio::Graphics::Browser2->config_base/ge;
diff --git a/debian/patches/series b/debian/patches/series
index 2651d71..1806e95 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -4,4 +4,3 @@ manpages.patch
 fix_pop_url
 skip_check_installed_test.patch
 source_init_functions
-fix_perl_deprecation
-- 
2.11.0

From a3542550a97f6967bbe2caf12dc6c845ceb26a24 Mon Sep 17 00:00:00 2001
From: gregor herrmann <gregoa@debian.org>
Date: Mon, 16 Jan 2017 20:30:38 +0100
Subject: [PATCH 2/2] debian/rules: update name of a config file in chmod call.

---
 debian/rules | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/debian/rules b/debian/rules
index 5fba88f..a4ef83e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -37,7 +37,7 @@ override_dh_auto_install:
 	rm -f debian/gbrowse/usr/share/gbrowse/htdocs/js/prototype.js
 	rm -f debian/gbrowse/usr/share/gbrowse/htdocs/js/scriptaculous.js
 	chmod 644 debian/gbrowse/etc/gbrowse/MobyServices/text_xml_renderer.pm
-	chmod 644 debian/gbrowse/etc/gbrowse/synteny/oryza.synconf.disabled
+	chmod 644 debian/gbrowse/etc/gbrowse/synteny/oryza.synconf.disabled.conf
 	#Remove database (kept as separate package)
 	rm -rf debian/gbrowse/var/lib/gbrowse/databases/*
 	#Rename pl scripts in bin
-- 
2.11.0

Attachment: signature.asc
Description: Digital Signature


Reply to: