Bug#1093337: libattean-perl: FTBFS: failing tests

Santiago Vila sanvila at debian.org
Fri Jan 17 18:53:30 GMT 2025


Package: src:libattean-perl
Version: 0.034-1
Severity: serious
Tags: ftbfs trixie sid

Dear maintainer:

During a rebuild of all packages in unstable, your package failed to build:

--------------------------------------------------------------------------------
[...]
 debian/rules clean
dh clean
   dh_clean
 debian/rules binary
dh binary
   dh_update_autotools_config
   dh_autoreconf
   dh_auto_configure
	/usr/bin/perl Makefile.PL INSTALLDIRS=vendor "OPTIMIZE=-g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wdate-time -D_FORTIFY_SOURCE=2" "LD=x86_64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -fcf-protection -Wl,-z,relro"
Checking if your kit is complete...
Looks good
Generating a Unix-style Makefile
Writing Makefile for Attean
Writing MYMETA.yml and MYMETA.json

[... snipped ...]

ok 69 - decimal value
ok 70 - decimal datatype
ok 71 - decimal value
ok 72
ok 73
# Service
ok 74 - expected result count
ok 75 - expected values
ok 76
ok 77
ok 78 - no (unexpected) warnings (via done_testing)
1..78
ok
t/simple.t ........................ 
# Attean::Variable
ok 1 - An object of class 'Attean::Variable' does 'Attean::API::TermOrVariable'
ok 2 - value
ok 3 - ntriples_string
# Attean::Blank
ok 4 - An object of class 'Attean::Blank' does 'Attean::API::Term'
ok 5 - An object of class 'Attean::Blank' does 'Attean::API::TermOrVariable'
ok 6 - value
ok 7 - ntriples_string
# Attean::Literal (lang)
ok 8 - An object of class 'Attean::Literal' does 'Attean::API::Term'
ok 9 - An object of class 'Attean::Literal' does 'Attean::API::Literal'
ok 10 - An object of class 'Attean::Literal' does 'Attean::API::TermOrVariable'
ok 11 - value
ok 12 - language
ok 13 - 'datatype IRI' does 'Attean::API::IRI'
ok 14 - language literal datatype is rdf:langString
ok 15 - ntriples_string
# Attean::Literal (typed)
ok 16 - An object of class 'Attean::Literal__WITH__Attean::API::NumericLiteral' does 'Attean::API::Term'
ok 17 - An object of class 'Attean::Literal__WITH__Attean::API::NumericLiteral' does 'Attean::API::Literal'
ok 18 - An object of class 'Attean::Literal__WITH__Attean::API::NumericLiteral' does 'Attean::API::TermOrVariable'
ok 19 - value
ok 20 - no language method on typed literals
ok 21 - 'datatype IRI' does 'Attean::API::IRI'
ok 22 - language literal datatype is xsd:integer
ok 23 - ntriples_string
# Attean::IRI
ok 24 - An object of class 'Attean::IRI' does 'Attean::API::Term'
ok 25 - value
ok 26 - ntriples_string
# Attean::Triple
ok 27 - An object of class 'Attean::Triple' does 'Attean::API::Triple'
ok 28 - An object of class 'Attean::Triple' isa 'Attean::Triple'
ok 29 - An object of class 'Attean::Blank' does 'Attean::API::BlankOrIRI'
ok 30 - An object of class 'Attean::IRI' isa 'Attean::IRI'
ok 31 - An object of class 'Attean::Literal' does 'Attean::API::Term'
ok 32 - tuples string
# Attean::Triple with pattern
ok 33 - croaks on a variable
ok 34 - croaks on a variable shuffled
# Attean::Result
ok 35 - An object of class 'Attean::Result' does 'Attean::API::Binding'
ok 36 - An object of class 'Attean::Result' isa 'Attean::Result'
ok 37
ok 38
ok 39 - no (unexpected) warnings (via done_testing)
1..39
ok
Overwriting existing sub 'main::done_testing' with sub 'done_testing' exported by Test::Modern at t/store-memory.t line 2.

#   Failed test 'no (unexpected) warnings (via done_testing)'
#   at t/store-memory.t line 87.
# Looks like you failed 1 test of 22.
t/store-memory.t .................. 
# Subtest: testing with main
    # Subtest: quadstore roles
        ok 1
        ok 2
        ok 3
        ok 4
        ok 5
        ok 6
        1..6
    ok 1 - quadstore roles
    # Subtest: quadstore get_quads empty
        ok 1
        ok 2
        1..2
    ok 2 - quadstore get_quads empty
    # Subtest: quadstore get_quads with quads
        ok 1 - 2 quads
        ok 2 - 1 quad with <s> as subject
        ok 3 - 2 quads with <g> as graph
        ok 4 - 0 quads with <abc> as subject
        1..4
    ok 3 - quadstore get_quads with quads
    # Subtest: count_quads
        ok 1 - 2 quads
        ok 2 - 1 quad with <s> as subject
        ok 3 - 2 quads with <g> as graph
        ok 4 - 0 quads with <abc> as subject
        ok 5 - count_quads_estimate
        1..5
    ok 4 - count_quads
    # Subtest: size
        ok 1
        1..1
    ok 5 - size
    # Subtest: get_graphs
        ok 1
        1..1
    ok 6 - get_graphs
    # Subtest: mutablequadstore add_quad
        ok 1 - size 1
        ok 2 - size 2
        ok 3 - size 3
        1..3
    ok 7 - mutablequadstore add_quad
    # Subtest: mutablequadstore remove_quad
        ok 1 - size 3
        ok 2 - size 2
        ok 3 - size 1
        ok 4 - size 0
        1..4
    ok 8 - mutablequadstore remove_quad
    # Subtest: mutablequadstore create_graph
        ok 1
        ok 2
        ok 3
        ok 4
        1..4
    ok 9 - mutablequadstore create_graph
    # Subtest: mutablequadstore drop_graph
        ok 1
        ok 2
        ok 3
        ok 4
        1..4
    ok 10 - mutablequadstore drop_graph
    # Subtest: mutablequadstore clear_graph
        ok 1
        ok 2
        ok 3
        ok 4
        1..4
    ok 11 - mutablequadstore clear_graph
    # Subtest: timecacheablequadstore
        ok 1 - mtime within delta (0 seconds from expected)
        1..1
    ok 12 - timecacheablequadstore
    # Subtest: mutable timecacheablequadstore
        # Sleeping for 2 seconds
        ok 1 - mtime changed after update (by 2 seconds)
        1..1
    ok 13 - mutable timecacheablequadstore
    # Subtest: etagcacheablequadstore
        ok 1
        1..1
    ok 14 - etagcacheablequadstore
    # Subtest: mutable etagcacheablequadstore
        ok 1 - etag changed after update (ulA9r/EP9+BQydYaXoyEEmDck1k => UuMNoDxy+wRBg0Psx5pck9bCZAI)
        1..1
    ok 15 - mutable etagcacheablequadstore
    1..15
ok 1 - testing with main
ok 2 - An object of class 'AtteanX::Store::Memory' isa 'AtteanX::Store::Memory'
ok 3 - An object of class 'Attean::Quad' does 'Attean::API::Quad'
ok 4 - An object of class 'Attean::Quad' isa 'Attean::Quad'
ok 5
ok 6 - An object of class 'Attean::IteratorSequence__WITH__Attean::API::QuadIterator' does 'Attean::API::Iterator'
ok 7 - An object of class 'Attean::Quad' does 'Attean::API::Quad'
ok 8
ok 9
ok 10
ok 11
ok 12
ok 13
ok 14
ok 15 - Literal value: 1
ok 16 - Literal value: 3
ok 17 - Literal value: 2
ok 18
ok 19
ok 20
ok 21
not ok 22 - no (unexpected) warnings (via done_testing)
1..22
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/22 subtests 
Overwriting existing sub 'main::done_testing' with sub 'done_testing' exported by Test::Modern at t/store-simple.t line 2.

#   Failed test 'no (unexpected) warnings (via done_testing)'
#   at t/store-simple.t line 67.
# Looks like you failed 1 test of 13.
t/store-simple.t .................. 
# Subtest: testing with main
    # Subtest: quadstore roles
        ok 1
        ok 2
        ok 3
        ok 4
        ok 5
        ok 6
        1..6
    ok 1 - quadstore roles
    # Subtest: quadstore get_quads empty
        ok 1
        ok 2
        1..2
    ok 2 - quadstore get_quads empty
    # Subtest: quadstore get_quads with quads
        ok 1 - 2 quads
        ok 2 - 1 quad with <s> as subject
        ok 3 - 2 quads with <g> as graph
        ok 4 - 0 quads with <abc> as subject
        1..4
    ok 3 - quadstore get_quads with quads
    # Subtest: count_quads
        ok 1 - 2 quads
        ok 2 - 1 quad with <s> as subject
        ok 3 - 2 quads with <g> as graph
        ok 4 - 0 quads with <abc> as subject
        ok 5 - count_quads_estimate
        1..5
    ok 4 - count_quads
    # Subtest: size
        ok 1
        1..1
    ok 5 - size
    # Subtest: get_graphs
        ok 1
        1..1
    ok 6 - get_graphs
    1..6
ok 1 - testing with main
ok 2 - An object of class 'AtteanX::Store::Simple' isa 'AtteanX::Store::Simple'
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8 - Literal value: 1
ok 9 - Literal value: 2
ok 10 - Literal value: 3
ok 11
ok 12
not ok 13 - no (unexpected) warnings (via done_testing)
1..13
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/13 subtests 
Overwriting existing sub 'main::done_testing' with sub 'done_testing' exported by Test::Modern at t/store-simpletriple.t line 2.

#   Failed test 'no (unexpected) warnings (via done_testing)'
#   at t/store-simpletriple.t line 61.
# Looks like you failed 1 test of 11.
t/store-simpletriple.t ............ 
# Subtest: testing with main
    # Subtest: get_triples
        ok 1
        ok 2
        1..2
    ok 1 - get_triples
    # Subtest: count_triples
        ok 1 - unexpected IRI
        ok 2 - expected subject
        ok 3 - expected predicate
        ok 4 - expected object
        ok 5 - expected object (2)
        ok 6 - expected subject/object
        ok 7 - expected predicate with variable
        ok 8 - expected object with variable
        ok 9 - expected object (2) with variable
        ok 10 - expected subject/object with variable
        ok 11 - count_triples_estimate
        1..11
    ok 2 - count_triples
    # Subtest: size
        ok 1
        ok 2
        ok 3
        ok 4
        1..4
    ok 3 - size
    1..3
ok 1 - testing with main
ok 2 - An object of class 'AtteanX::Store::SimpleTripleStore' isa 'AtteanX::Store::SimpleTripleStore'
ok 3
ok 4
ok 5
ok 6
ok 7
ok 8 - Literal value: 1
ok 9 - Literal value: 2
ok 10 - Literal value: 3
not ok 11 - no (unexpected) warnings (via done_testing)
1..11
Dubious, test returned 1 (wstat 256, 0x100)
Failed 1/11 subtests 
t/term-map.t ...................... 
# Subtest: short blank node label mapping
    # Mapping Iterator<Term>
    ok 1
    ok 2
    # Mapping Triples
    ok 3
    ok 4
    # Mapping Iterator<Triple>
    ok 5
    ok 6
    1..6
ok 1 - short blank node label mapping
# Subtest: UUID blank node label mapping
    # Mapping Iterator<Term>
    ok 1
    ok 2
    # Mapping Triples
    ok 3
    ok 4
    # Mapping Iterator<Triple>
    ok 5
    ok 6
    1..6
ok 2 - UUID blank node label mapping
# Subtest: canonicalize literal
    ok 1
    1..1
ok 3 - canonicalize literal
1..3
ok
t/term.t .......................... 
ok 1 - IRI ntriples_string
ok 2 - unicode IRI ntriples_string
ok 3 - unicode literal ntriples_string
ok 4 - literal ntriples_string
ok 5 - lang-literal ntriples_string
ok 6 - blank ntriples_string
ok 7 - 1 EBV
ok 8 - 0 EBV
ok 9 - "" EBV
ok 10 - "foo" EBV
ok 11 - _:foo EBV
ok 12 - <foo> EBV
ok 13 - integer numeric value
ok 14 - float numeric value
ok 15 - double numeric value
ok 16 - decimal numeric value
# Subtest: term type check methods
    ok 1
    ok 2
    ok 3
    ok 4
    ok 5
    ok 6
    ok 7
    ok 8
    ok 9
    ok 10
    ok 11
    ok 12
    ok 13
    ok 14
    ok 15
    1..15
ok 17 - term type check methods
ok 18 - non-numeric literal sort
ok 19 - An object of class 'Attean::Literal__WITH__Attean::API::NumericLiteral' does 'Attean::API::NumericLiteral'
ok 20 - An object of class 'Attean::Literal__WITH__Attean::API::NumericLiteral' does 'Attean::API::NumericLiteral'
ok 21 - numeric literal sort
# Subtest: XSD type promotion
    ok 1
    ok 2
    ok 3
    ok 4
    ok 5
    ok 6
    1..6
ok 22 - XSD type promotion
# Subtest: TermOrVariable apply_binding
    ok 1 - An object of class 'Attean::Literal__WITH__Attean::API::NumericLiteral' does 'Attean::API::Literal'
    ok 2 - An object of class 'Attean::Variable' does 'Attean::API::Variable'
    ok 3 - An object of class 'Attean::Literal' does 'Attean::API::Literal'
    ok 4
    1..4
ok 23 - TermOrVariable apply_binding
# Subtest: blank comparison
    ok 1 - blank term equality comparison
    ok 2 - blank term equality comparison
    ok 3 - blank term equality comparison
    1..3
ok 24 - blank comparison
ok 25 - no (unexpected) warnings (via done_testing)
1..25
ok
t/treerewrite.t ................... 
ok 1 - An object of class 'Attean::TreeRewriter' isa 'Attean::TreeRewriter'
ok 2 - not changed
ok 3 - An object of class 'Attean::TreeRewriter' isa 'Attean::TreeRewriter'
ok 4 - not changed
ok 5 - An object of class 'Attean::TreeRewriter' isa 'Attean::TreeRewriter'
ok 6 - not changed
ok 7 - tree not walked
ok 8 - An object of class 'Attean::TreeRewriter' isa 'Attean::TreeRewriter'
ok 9 - changed
ok 10 - An object of class 'Attean::Algebra::BGP' isa 'Attean::Algebra::BGP'
ok 11 - triple count
ok 12 - An object of class 'Attean::Triple' isa 'Attean::Triple'
ok 13
ok 14 - An object of class 'Attean::TreeRewriter' isa 'Attean::TreeRewriter'
ok 15 - changed
ok 16 - An object of class 'Attean::Algebra::BGP' isa 'Attean::Algebra::BGP'
ok 17 - triple count
ok 18 - An object of class 'Attean::Triple' isa 'Attean::Triple'
ok 19
ok 20 - changed
ok 21
ok 22
ok 23
1..23
ok
t/types-general.t ................. 
ok 1 - Reference bless( {"_initialized" => 1,"components" => {"authority" => ...) passes type constraint AtteanIRI
ok 2 - Reference bless( {"value" => "b0"}, 'Attean::Blank' ) passes type constraint AtteanBlank
ok 3 - Reference bless( {"datatype" => bless( {"_initialized" => 1,"component...) passes type constraint AtteanLiteral
# IRI can be in any position
ok 4 - Reference bless( {"_initialized" => 1,"components" => {"authority" => ...) passes type constraint AtteanSubject
ok 5 - Reference bless( {"_initialized" => 1,"components" => {"authority" => ...) passes type constraint AtteanPredicate
ok 6 - Reference bless( {"_initialized" => 1,"components" => {"authority" => ...) passes type constraint AtteanObject
ok 7 - Reference bless( {"_initialized" => 1,"components" => {"authority" => ...) passes type constraint AtteanGraph
ok 8 - Reference bless( {"value" => "b0"}, 'Attean::Blank' ) passes type constraint AtteanSubject
ok 9 - blank can not be a predicate
ok 10 - Reference bless( {"value" => "b0"}, 'Attean::Blank' ) passes type constraint AtteanObject
ok 11 - Reference bless( {"value" => "b0"}, 'Attean::Blank' ) passes type constraint AtteanGraph
ok 12 - Reference bless( {"datatype" => bless( {"_initialized" => 1,"component...) fails type constraint AtteanSubject
ok 13 - Reference bless( {"datatype" => bless( {"_initialized" => 1,"component...) fails type constraint AtteanPredicate
ok 14 - literal can only be an object
ok 15 - Reference bless( {"datatype" => bless( {"_initialized" => 1,"component...) fails type constraint AtteanGraph
ok 16 - Reference bless( {"object" => bless( {"datatype" => 'Attean::IRI=HASH(...) passes type constraint AtteanTriple
ok 17 - triple is not a quad
ok 18 - quad is also a triple
ok 19 - Reference bless( {"graph" => bless( {"value" => "g0"}, 'Attean::Blank'...) passes type constraint AtteanQuad
1..19
ok
t/types-iri.t ..................... 
ok 1 - An object of class 'URI::http' isa 'URI'
ok 2 - Correct string URI to Uri
ok 3 - An object of class 'Attean::IRI' isa 'IRI'
ok 4 - Correct string URI to Iri
ok 5 - An object of class 'URI::Namespace' isa 'URI::Namespace'
ok 6 - Correct string URI to Namespace
ok 7 - An object of class 'Attean::IRI' isa 'Attean::IRI'
ok 8 - Correct string URI from URI::http
ok 9 - Is the same URI
ok 10 - An object of class 'Attean::IRI' isa 'Attean::IRI'
ok 11 - Correct string URI from IRI
ok 12 - Is the same URI
ok 13 - An object of class 'Attean::IRI' isa 'Attean::IRI'
ok 14 - Correct string URI from URI::Namespace
ok 15 - Is the same URI
ok 16 - An object of class 'Attean::IRI' isa 'Attean::IRI'
ok 17 - Correct string URI from 
ok 18 - Is the same URI
ok 19 - An object of class 'Attean::IRI' isa 'Attean::IRI'
ok 20 - Correct string URI from RDF::Trine::Node::Resource
ok 21 - Is the same URI
1..21
ok

Test Summary Report
-------------------
t/store-memory.t                (Wstat: 256 (exited 1) Tests: 22 Failed: 1)
  Failed test:  22
  Non-zero exit status: 1
t/store-simple.t                (Wstat: 256 (exited 1) Tests: 13 Failed: 1)
  Failed test:  13
  Non-zero exit status: 1
t/store-simpletriple.t          (Wstat: 256 (exited 1) Tests: 11 Failed: 1)
  Failed test:  11
  Non-zero exit status: 1
Files=51, Tests=938, 28 wallclock secs ( 0.15 usr  0.05 sys + 23.01 cusr  3.30 csys = 26.51 CPU)
Result: FAIL
Failed 3/51 test programs. 3/938 subtests failed.
make[1]: *** [Makefile:1231: test_dynamic] Error 255
make[1]: Leaving directory '/<<PKGBUILDDIR>>'
dh_auto_test: error: make -j2 test TEST_VERBOSE=1 returned exit code 2
make: *** [debian/rules:4: binary] Error 25
dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2
--------------------------------------------------------------------------------

The above is just how the build ends and not necessarily the most relevant part.
If required, the full build log is available here:

https://people.debian.org/~sanvila/build-logs/202501/

About the archive rebuild: The build was made on virtual machines from AWS,
using sbuild and a reduced chroot with only build-essential packages.

If you could not reproduce the bug please contact me privately, as I
am willing to provide ssh access to a virtual machine where the bug is
fully reproducible.

If this is really a bug in one of the build-depends, please use
reassign and add an affects on src:libattean-perl, so that this is still
visible in the BTS web page for this package.

Thanks.



More information about the pkg-perl-maintainers mailing list