Source: diffoscope Version: 208 Severity: serious Justification: FTBFS Tags: bookworm sid ftbfs User: lu...@debian.org Usertags: ftbfs-20220326 ftbfs-bookworm
Hi, During a rebuild of all packages in sid, your package failed to build on amd64. Relevant part (hopefully): > =================================== FAILURES > =================================== > ________________________________ test_item_rdb > _________________________________ > > differences_rdb = [<Difference Rscript --vanilla - {} -- Rscript --vanilla - > {} []>] > > @skip_unless_tools_exist("Rscript") > def test_item_rdb(differences_rdb): > assert differences_rdb[0].source1.startswith("Rscript") > > assert_diff(differences_rdb[0], "rdb_expected_diff") > > differences_rdb = [<Difference Rscript --vanilla - {} -- Rscript --vanilla - > {} []>] > > tests/comparators/test_rdata.py:63: > _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ > _ > > difference = <Difference Rscript --vanilla - {} -- Rscript --vanilla - {} []> > filename = 'rdb_expected_diff' > > def assert_diff(difference, filename): > # Assign seen and expected values to local variables to improve > contextual > # information in failed tests. > seen = difference.unified_diff > expected = get_data(filename) > > assert seen == expected > E AssertionError > > difference = <Difference Rscript --vanilla - {} -- Rscript --vanilla - {} []> > expected = ('@@ -1,10116 +1,4941 @@\n' > '-%c%.matrix (closure) = function (e1, e2) \n' > '-{\n' > '- x <- as.sociomatrix.sna(e1)\n' > '- y <- as.sociomatrix.sna(e2)\n' > '- if (!(is.matrix(x) && is.matrix(y))) \n' > '- stop("Single graphs required for composition.")\n' > '- round((x %*% y) > 0)\n' > '-}\n' > '+.__C__Biodetection (S4) = new("classRepresentation", slots = list(dat = ' > 'structure("list", package = "methods")), \n' > '+ contains = list(), virtual = FALSE, prototype = <S4 object of class ' > 'NULL>, \n' > '+ validity = NULL, access = list(), className = > structure("Biodetection", ' > 'package = "NOISeq"), \n' > '+ package = "NOISeq", subclasses = list(), versionKey = <pointer: ' > '(nil)>, \n' > '+ sealed = FALSE)\n' > '+\n' > '+.__C__CD (S4) = new("classRepresentation", slots = list(dat = ' > 'structure("list", package = "methods")), \n' > '+ contains = list(), virtual = FALSE, prototype = <S4 object of class ' > 'NULL>, \n' > '+ validity = NULL, access = list(), className = structure("CD", package > = ' > '"NOISeq"), \n' > '+ package = "NOISeq", subclasses = list(), versionKey = <pointer: ' > '(nil)>, \n' > '+ sealed = FALSE)\n' > '+\n' > '+.__C__CountsBio (S4) = new("classRepresentation", slots = list(dat = ' > 'structure("list", package = "methods")), \n' > '+ contains = list(), virtual = FALSE, prototype = <S4 object of class ' > 'NULL>, \n' > '+ validity = NULL, access = list(), className = structure("CountsBio", ' > 'package = "NOISeq"), \n' > '+ package = "NOISeq", subclasses = list(), versionKey = <pointer: ' > '(nil)>, \n' > '+ sealed = FALSE)\n' > '+\n' > '+.__C__GCbias (S4) = new("classRepresentation", slots = list(dat = ' > 'structure("list", package = "methods")), \n' > '+ contains = list(), virtual = FALSE, prototype = <S4 object of class ' > 'NULL>, \n' > '+ validity = NULL, access = list(), className = structure("GCbias", ' > 'package = "NOISeq"), \n' > '+ package = "NOISeq", subclasses = list(), versionKey = <pointer: ' > '(nil)>, \n' > '+ sealed = FALSE)\n' > '+\n' > '+.__C__Output (S4) = new("classRepresentation", slots = list(results = ' > 'structure("list", package = "methods"), \n' > '+ method = structure("character", package = "methods"), k = ' > 'structure("numeric", package = "methods"), \n' > '+ lc = structure("numeric", package = "methods"), factor = ' > 'structure("vector", package = "methods"), \n' > '+ v = structure("numeric", package = "methods"), nss = ' > 'structure("numeric", package = "methods"), \n' > '+ pnr = structure("numeric", package = "methods"), comparison = ' > 'structure("vector", package = "methods"), \n' > '+ replicates = structure("character", package = "methods")), \n' > '+ contains = list(myInfo = new("SClassExtension", subClass = ' > 'structure("Output", package = "NOISeq"), \n' > '+ superClass = structure("myInfo", package = "NOISeq"), \n' > '+ package = "NOISeq", coerce = function (from, strict = TRUE) \n' > '+ {\n' > '+ value <- new("myInfo")\n' > '+ for (what in c("method", "k", "lc", "factor", "v", \n' > '+ "nss", "pnr", "comparison", "replicates")) slot(value, \n' > '+ what) <- slot(from, what)\n' > '+ value\n' > '+ }, test = function (object) \n' > '+ TRUE, replace = function (from, to, value) \n' > '+ {\n' > '+ for (what in c("method", "k", "lc", "factor", "v", \n' > '+ "nss", "pnr", "comparison", "replicates")) slot(from, \n' > '+ what) <- slot(value, what)\n' > '+ from\n' > '+ }, simple = TRUE, by = character(0), dataPart = FALSE, \n' > '+ distance = 1)), virtual = FALSE, prototype = <S4 object of class ' > 'NULL>, \n' > '+ validity = function (object) \n' > '+ {\n' > '+ if (!(is.character(object@method))) {\n' > '+ return(paste("Method must be a string"))\n' > '+ }\n' > '+ else if (!(is.numeric(object@k))) {\n' > '+ return(paste("k must be numeric"))\n' > '+ }\n' > '+ else if (!(is.numeric(object@lc))) {\n' > '+ return(paste("lc must be numeric"))\n' > '+ }\n' > '+ else if (!(is.vector(object@factor))) {\n' > '+ return(paste("Factor must be a vector of strings"))\n' > '+ }\n' > '+ else if (!(is.numeric(object@v))) {\n' > '+ return(paste("v must be numeric"))\n' > '+ }\n' > '+ else if (!(is.numeric(object@nss))) {\n' > '+ return(paste("nss must be numeric"))\n' > '+ }\n' > '+ else if (!(is.numeric(object@pnr))) {\n' > '+ return(paste("pnr must be numeric"))\n' > '+ }\n' > '+ else if (!(is.vector(object@comparison))) {\n' > '+ return(paste("Comparison must be a vector of strings"))\n' > '+ }\n' > '+ else if (!(is.list(object@results))) {\n' > '+ return(paste("Results must be a list of data.frames"))\n' > '+ }\n' > '+ else {\n' > '+ return(TRUE)\n' > '+ }\n' > '+ }, access = list(), className = structure("Output", package = ' > '"NOISeq"), \n' > '+ package = "NOISeq", subclasses = list(), versionKey = <pointer: ' > '(nil)>, \n' > '+ sealed = FALSE)\n' > '+\n' > '+.__C__PCA (S4) = new("classRepresentation", slots = list(dat = ' > 'structure("list", package = "methods")), \n' > '+ contains = list(), virtual = FALSE, prototype = <S4 object of class ' > 'NULL>, \n' > '+ validity = NULL, access = list(), className = structure("PCA", package > ' > '= "NOISeq"), \n' > '+ package = "NOISeq", subclasses = list(), versionKey = <pointer: ' > '(nil)>, \n' > '+ sealed = FALSE)\n' > '+\n' > '+.__C__Saturation (S4) = new("classRepresentation", slots = list(dat = ' > 'structure("list", package = "methods")), \n' > '+ contains = list(), virtual = FALSE, prototype = <S4 object of class ' > [...] > > tests/utils/data.py:64: AssertionError > > ---------- coverage: platform linux, python 3.9.12-final-0 ----------- > Name Stmts Miss Cover Missing > -------------------------------------------------------------------------- > diffoscope/__init__.py 1 0 100% > diffoscope/changes.py 122 52 57% 84, 92, > 95, 104, 111, 118, 139, 176, 182, 188, 194-198, 204, 210, 226-229, 232-235, > 244, 256-288, 306-308, 313-316, 323, 335 > diffoscope/comparators/__init__.py 47 21 55% 143-149, > 154-163, 168-177 > diffoscope/comparators/android.py 43 1 98% 49 > diffoscope/comparators/apk.py 148 11 93% 47-49, 55, > 239-242, 245, 257, 272, 276 > diffoscope/comparators/ar.py 27 0 100% > diffoscope/comparators/berkeley_db.py 20 0 100% > diffoscope/comparators/binary.py 20 0 100% > diffoscope/comparators/binwalk.py 64 8 88% 32-33, > 37-39, 74, 101-102 > diffoscope/comparators/bzip2.py 25 0 100% > diffoscope/comparators/cbfs.py 89 43 52% 39-40, 46, > 49, 55-66, 69, 72, 75, 79-91, 104-114, 145-148, 152-166, 169 > diffoscope/comparators/cpio.py 10 0 100% > diffoscope/comparators/deb.py 126 9 93% 37-39, 52, > 77, 136, 189-191 > diffoscope/comparators/debian.py 169 12 93% 26-30, > 87-89, 116-121, 189, 258-262, 282, 358 > diffoscope/comparators/debian_fallback.py 17 0 100% > diffoscope/comparators/decompile.py 192 99 48% 38-39, > 58-59, 62-67, 71, 74, 78, 86-97, 101-109, 116, 119, 122, 132-133, 137, 140, > 143, 156-159, 165, 169, 175, 178, 181, 184, 187, 193-204, 207-212, 224-231, > 234, 241, 245, 249, 253, 257-260, 264-275, 279-284, 307-327, 330, 336, 339, > 342-343, 346-347 > diffoscope/comparators/device.py 48 6 88% 48-51, > 86-89 > diffoscope/comparators/dex.py 29 1 97% 36 > diffoscope/comparators/directory.py 159 43 73% 40-43, > 98-106, 112-115, 119-143, 173-174, 177, 180-201, 256, 271 > diffoscope/comparators/docx.py 14 0 100% > diffoscope/comparators/dtb.py 14 0 100% > diffoscope/comparators/elf.py 347 32 91% 77, 82-83, > 221, 236, 341, 385, 407-409, 417, 429-431, 439, 471, 511-520, 528-530, 535, > 548, 559, 565, 578-582, 594-599, 688-691 > diffoscope/comparators/ffprobe.py 27 0 100% > diffoscope/comparators/fit.py 57 2 96% 88, 118 > diffoscope/comparators/fontconfig.py 26 0 100% > diffoscope/comparators/fonts.py 16 0 100% > diffoscope/comparators/fsimage.py 85 18 79% 33-35, 43, > 50-51, 58-64, 68-70, 76, 81-82, 86, 131 > diffoscope/comparators/gettext.py 37 0 100% > diffoscope/comparators/gif.py 42 4 90% 56-57, > 100-101 > diffoscope/comparators/git.py 29 0 100% > diffoscope/comparators/gnumeric.py 19 0 100% > diffoscope/comparators/gzip.py 27 0 100% > diffoscope/comparators/haskell.py 60 13 78% 37, 47, > 85-87, 96, 102-109, 113, 124-125, 142, 145 > diffoscope/comparators/hdf.py 14 0 100% > diffoscope/comparators/icc.py 14 0 100% > diffoscope/comparators/image.py 84 6 93% 135-136, > 164-165, 184-185 > diffoscope/comparators/ipk.py 4 0 100% > diffoscope/comparators/iso9660.py 52 20 62% 33, 51, > 56-57, 61-68, 71-73, 95, 105-119 > diffoscope/comparators/java.py 51 4 92% 94-97, 106 > diffoscope/comparators/javascript.py 13 0 100% > diffoscope/comparators/json.py 56 9 84% 34-36, > 54-55, 86, 95-96, 104 > diffoscope/comparators/kbx.py 18 1 94% 35 > diffoscope/comparators/llvm.py 22 0 100% > diffoscope/comparators/lz4.py 28 0 100% > diffoscope/comparators/macho.py 305 57 81% 94-96, > 100, 104, 107, 111-114, 119, 124, 129, 134, 148-151, 155, 159, 162, 166-169, > 174-175, 181, 184-185, 190-191, 213, 324, 328, 332-349, 366, 472, 495, > 509-512, 538, 559-562, 582, 586, 625, 637-645 > diffoscope/comparators/missing_file.py 55 4 93% 71, 74, > 77, 95 > diffoscope/comparators/mono.py 14 0 100% > diffoscope/comparators/ocaml.py 19 0 100% > diffoscope/comparators/odt.py 24 3 88% 35, 43-44 > diffoscope/comparators/ogg.py 14 0 100% > diffoscope/comparators/openssh.py 14 0 100% > diffoscope/comparators/openssl.py 26 5 81% 56-68, > 71-77 > diffoscope/comparators/pcap.py 14 0 100% > diffoscope/comparators/pdf.py 67 5 93% 30-32, 55, > 99 > diffoscope/comparators/pe32.py 18 5 72% 31, 41-44, > 52 > diffoscope/comparators/pgp.py 59 13 78% 55-72, 75, > 79, 82, 103-104, 110-112 > diffoscope/comparators/png.py 32 2 94% 78-79 > diffoscope/comparators/ppu.py 57 16 72% 73, 85-98, > 101-107 > diffoscope/comparators/ps.py 25 2 92% 50-51 > diffoscope/comparators/python.py 66 3 95% 55-57 > diffoscope/comparators/rdata.py 58 4 93% 93, 104, > 108, 170 > diffoscope/comparators/rpm.py 73 1 99% 42 > diffoscope/comparators/rpm_fallback.py 12 0 100% > diffoscope/comparators/rust.py 32 0 100% > diffoscope/comparators/socket_or_fifo.py 52 10 81% 45-63, 101 > diffoscope/comparators/sphinx.py 23 2 91% 61-65 > diffoscope/comparators/sqlite.py 14 0 100% > diffoscope/comparators/squashfs.py 204 34 83% 102, 120, > 134, 142, 145, 159, 167, 193-194, 198-199, 205-206, 221, 235-247, 250-251, > 254, 257, 286-287, 344, 360-362 > diffoscope/comparators/symlink.py 35 2 94% 58-59 > diffoscope/comparators/tar.py 12 0 100% > diffoscope/comparators/text.py 27 2 93% 69-71 > diffoscope/comparators/uimage.py 24 0 100% > diffoscope/comparators/utils/__init__.py 0 0 100% > diffoscope/comparators/utils/archive.py 102 14 86% 67, 71, > 75, 79, 125-126, 145, 148, 151, 160, 163, 170, 173, 178 > diffoscope/comparators/utils/command.py 56 3 95% 63, 77, 105 > diffoscope/comparators/utils/compare.py 101 13 87% 77, 85, > 105, 123-124, 139, 157-165 > diffoscope/comparators/utils/container.py 125 11 91% 66, 70, > 115-119, 192-195, 211 > diffoscope/comparators/utils/file.py 297 54 82% 39-40, > 53-59, 80-94, 116, 122, 296-297, 346-348, 358-360, 368, 372, 376, 380, > 443-446, 471-474, 488-491, 499, 503-507, 536, 547-560, 579, 586, 609 > diffoscope/comparators/utils/fuzzy.py 33 2 94% 27-28 > diffoscope/comparators/utils/libarchive.py 197 32 84% 47-50, > 54-57, 69-72, 76-79, 83-86, 134-137, 176, 208, 216, 219, 232, 246, 251-252, > 255, 258, 272-273, 304, 347-348, 371-387 > diffoscope/comparators/utils/operation.py 26 6 77% 33, 40, > 48, 55, 62, 66 > diffoscope/comparators/utils/specialize.py 32 2 94% 78, 81 > diffoscope/comparators/wasm.py 19 0 100% > diffoscope/comparators/xml.py 49 3 94% 69, 153-154 > diffoscope/comparators/xmlb.py 19 3 84% 31, 43, 46 > diffoscope/comparators/xsb.py 17 0 100% > diffoscope/comparators/xz.py 28 0 100% > diffoscope/comparators/zip.py 150 4 97% 148, 151, > 235-236 > diffoscope/comparators/zst.py 26 1 96% 38 > diffoscope/config.py 50 4 92% 83-98 > diffoscope/diff.py 434 61 86% 103, 140, > 199, 237, 239-241, 283-286, 299-327, 409, 555-560, 579-580, 591, 608, 610, > 614, 630, 635, 668-669, 672-673, 695-696, 699-709, 717-720, 730-733, 748 > diffoscope/difference.py 232 18 92% 116, > 226-230, 249, 284, 291-292, 311, 346-349, 380, 396, 402, 426, 457 > diffoscope/environ.py 13 0 100% > diffoscope/exc.py 21 0 100% > diffoscope/excludes.py 24 5 79% 31-36, > 43-45 > diffoscope/external_tools.py 5 0 100% > diffoscope/feeders.py 83 3 96% 36, 116-117 > diffoscope/logging.py 28 4 86% 30-31, > 36-37 > diffoscope/main.py 276 72 74% 59-61, > 65-67, 73, 450, 458-465, 477-481, 488-514, 528, 570-612, 629, 684, 699-700, > 722, 729-730, 735, 740-748, 765, 767-770, 775-781, 796 > diffoscope/path.py 15 2 87% 30-31 > diffoscope/presenters/__init__.py 0 0 100% > diffoscope/presenters/formats.py 43 4 91% 99-102 > diffoscope/presenters/html/__init__.py 1 0 100% > diffoscope/presenters/html/html.py 472 125 74% 82-89, > 143-146, 150, 152-154, 268-269, 272, 307, 331, 348-359, 418, 429, 442-446, > 451, 458-465, 476, 481-493, 496-511, 542-545, 549-554, 557, 563-567, 592-601, > 606-618, 623-637, 652, 672-675, 750, 752, 816, 832, 843-875, 893 > diffoscope/presenters/html/templates.py 11 0 100% > diffoscope/presenters/icon.py 1 0 100% > diffoscope/presenters/json.py 32 1 97% 55 > diffoscope/presenters/markdown.py 19 0 100% > diffoscope/presenters/restructuredtext.py 25 0 100% > diffoscope/presenters/text.py 44 7 84% 61-66, > 71-72, 81-82 > diffoscope/presenters/utils.py 166 14 92% 42, 71, > 153, 158, 165, 307, 343, 354, 357, 422-427 > diffoscope/profiling.py 42 0 100% > diffoscope/progress.py 168 18 89% 34-36, > 45-52, 78, 89-90, 95, 120, 225, 240-241, 249 > diffoscope/readers/__init__.py 9 0 100% > diffoscope/readers/json.py 17 1 94% 34 > diffoscope/readers/utils.py 2 0 100% > diffoscope/tempfiles.py 57 9 84% 83-84, > 99-105, 123-124 > diffoscope/tools.py 93 13 86% 26-27, > 97-98, 108-109, 148, 161, 166, 181-184 > diffoscope/utils.py 38 1 97% 45 > -------------------------------------------------------------------------- > TOTAL 7585 1095 86% > Coverage HTML written to dir htmlcov > > =========================== short test summary info > ============================ > SKIPPED [1] tests/comparators/test_cbfs.py:100: requires cbfstool > SKIPPED [1] tests/comparators/test_cbfs.py:105: requires cbfstool > SKIPPED [1] tests/comparators/test_cbfs.py:110: requires cbfstool > SKIPPED [1] tests/comparators/test_cbfs.py:122: requires cbfstool > SKIPPED [1] tests/comparators/test_cbfs.py:134: requires cbfstool > SKIPPED [1] tests/comparators/test_cbfs.py:142: requires cbfstool > SKIPPED [1] tests/comparators/test_dex.py:91: requires >= 14.0 (11.0.14 > detected) > SKIPPED [1] tests/comparators/test_elf_decompiler.py:78: radare2 didn't > recognize pdgj command > SKIPPED [1] tests/comparators/test_elf_decompiler.py:88: radare2 didn't > recognize pdgj command > SKIPPED [1] tests/comparators/test_elf_decompiler.py:98: requires r2pipe > Python module > SKIPPED [1] tests/comparators/test_haskell.py:35: mismatch between system ghc > and fixture > SKIPPED [1] tests/comparators/test_haskell.py:52: mismatch between system ghc > and fixture > SKIPPED [1] tests/comparators/test_iso9660.py:53: requires isoinfo (try > installing genisoimage) > SKIPPED [1] tests/comparators/test_iso9660.py:62: requires isoinfo (try > installing genisoimage) > SKIPPED [1] tests/comparators/test_iso9660.py:71: requires isoinfo (try > installing genisoimage) > SKIPPED [1] tests/comparators/test_iso9660.py:78: requires isoinfo (try > installing genisoimage) > SKIPPED [1] tests/comparators/test_iso9660.py:86: requires isoinfo (try > installing genisoimage) > SKIPPED [1] tests/comparators/test_java.py:97: requires >= 14.0 (11.0.14 > detected) > SKIPPED [1] tests/comparators/test_macho.py:59: requires otool and lipo > SKIPPED [1] tests/comparators/test_macho.py:67: requires otool and lipo > SKIPPED [1] tests/comparators/test_macho_decompiler.py:86: radare2 didn't > recognize pdgj command > SKIPPED [1] tests/comparators/test_macho_decompiler.py:96: radare2 didn't > recognize pdgj command > SKIPPED [1] tests/comparators/test_macho_decompiler.py:109: requires r2pipe > Python module > SKIPPED [1] tests/comparators/test_odt.py:55: requires >= 0.7 (0.5 detected) > SKIPPED [1] tests/comparators/test_odt.py:60: requires >= 0.7 (0.5 detected) > SKIPPED [1] tests/comparators/test_utils.py:49: requires > SKIPPED [1] tests/comparators/test_utils.py:54: requires /missing > XPASS tests/comparators/test_apk.py::test_android_manifest > ======= 1 failed, 670 passed, 27 skipped, 1 xpassed in 226.25s (0:03:46) > ======= > E: pybuild pybuild:367: test: plugin distutils failed with: exit code=1: cd > /<<PKGBUILDDIR>>/.pybuild/cpython3_3.9/build; python3.9 -m pytest -vv -r sxX > -l --cov=diffoscope --cov-report=term-missing --cov-report=html > dh_auto_test: error: pybuild --test --test-pytest -i python{version} -p "3.10 > 3.9" returned exit code 13 The full build log is available from: http://qa-logs.debian.net/2022/03/26/diffoscope_208_unstable.log A list of current common problems and possible solutions is available at http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute! If you reassign this bug to another package, please marking it as 'affects'-ing this package. See https://www.debian.org/Bugs/server-control#affects If you fail to reproduce this, please provide a build log and diff it with mine so that we can identify if something relevant changed in the meantime.