pdftract/notes/bf-mge0o-baseline.log
jedarden 05967a51ea test(bf-2n36a): capture baseline cargo nextest output without timing flags
- Ran cargo nextest run -p pdftract-core --lib to establish baseline
- Captured 2,902 lib tests in 4.527s (2857 passed, 45 failed, 2 skipped)
- Saved output to notes/bf-mge0o-baseline.log (411.8KB)
- Created verification note at notes/bf-2n36a.md
- Output shows standard nextest format for comparison with timing-flagged runs

Closes bf-2n36a
2026-07-07 00:51:41 -04:00

5751 lines
412 KiB
Text

Blocking waiting for file lock on build directory
warning: fields `description` and `version` are never read
--> crates/pdftract-core/build.rs:37:5
|
21 | struct UnmappedGlyphNamesConfig {
| ------------------------ fields in this struct
...
37 | description: Option<String>,
| ^^^^^^^^^^^
...
43 | version: Option<String>,
| ^^^^^^^
|
= note: `UnmappedGlyphNamesConfig` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: `pdftract-core` (build script) generated 1 warning
Compiling pdftract-core v0.1.0 (/home/coding/pdftract/crates/pdftract-core)
warning: unused import: `PdfDict`
--> crates/pdftract-core/src/attachment/filespec.rs:583:41
|
583 | use crate::parser::object::{intern, PdfDict, PdfObject, PdfStream};
| ^^^^^^^
|
= note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
warning: unused import: `PdfDict`
--> crates/pdftract-core/src/attachment/name_tree.rs:420:41
|
420 | use crate::parser::object::{intern, PdfDict, PdfObject};
| ^^^^^^^
warning: unused import: `std::io::Cursor`
--> crates/pdftract-core/src/audit.rs:183:9
|
183 | use std::io::Cursor;
| ^^^^^^^^^^^^^^^
warning: unused import: `crate::parser::object::PdfObject`
--> crates/pdftract-core/src/conformance.rs:17:5
|
17 | use crate::parser::object::PdfObject;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `anyhow::Result`
--> crates/pdftract-core/src/conformance.rs:20:5
|
20 | use anyhow::Result;
| ^^^^^^^^^^^^^^
warning: unused import: `intern`
--> crates/pdftract-core/src/content_stream.rs:34:29
|
34 | use crate::parser::object::{intern, ObjRef, PdfDict, PdfObject};
| ^^^^^^
warning: unused import: `PdfDict`
--> crates/pdftract-core/src/content_stream.rs:1926:41
|
1926 | use crate::parser::object::{intern, PdfDict};
| ^^^^^^^
warning: unused import: `indexmap::indexmap`
--> crates/pdftract-core/src/decoder/jbig2.rs:154:9
|
154 | use indexmap::indexmap;
| ^^^^^^^^^^^^^^^^^^
warning: unused imports: `LinearizationInfo` and `XrefSection`
--> crates/pdftract-core/src/document.rs:21:76
|
21 | detect_linearization, load_xref_linearized, load_xref_with_prev_chain, LinearizationInfo,
| ^^^^^^^^^^^^^^^^^
22 | XrefResolver, XrefSection,
| ^^^^^^^^^^^
warning: unused import: `derive_aes_128_object_key`
--> crates/pdftract-core/src/encryption/decryptor.rs:12:32
|
12 | aes_128::{aes_128_decrypt, derive_aes_128_object_key},
| ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `secrecy::SecretString`
--> crates/pdftract-core/src/encryption/decryptor.rs:22:5
|
22 | use secrecy::SecretString;
| ^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `AcroFormField`
--> crates/pdftract-core/src/extract.rs:23:57
|
23 | acro_field_to_value, combine, walk_acroform_fields, AcroFormField, FormFieldValue,
| ^^^^^^^^^^^^^
warning: unused import: `parse_struct_tree`
--> crates/pdftract-core/src/extract.rs:33:60
|
33 | use crate::parser::struct_tree::{check_coverage_for_pages, parse_struct_tree};
| ^^^^^^^^^^^^^^^^^
warning: unused import: `PageContext`
--> crates/pdftract-core/src/extract.rs:44:64
|
44 | detect_two_page_tables, grid_to_table_json, GridCandidate, PageContext, TableDetector,
| ^^^^^^^^^^^
warning: unused import: `TableSpan`
--> crates/pdftract-core/src/extract.rs:46:39
|
46 | use crate::table::{TableCell as Cell, TableSpan};
| ^^^^^^^^^
warning: unused imports: `emit_glyph` and `new_raw_glyph_list`
--> crates/pdftract-core/src/extract.rs:49:20
|
49 | use crate::glyph::{emit_glyph, new_raw_glyph_list, Glyph};
| ^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
warning: unused import: `crate::graphics_state::GraphicsState`
--> crates/pdftract-core/src/extract.rs:50:5
|
50 | use crate::graphics_state::GraphicsState;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused imports: `BlockInput`, `Block`, `Column`, `Line`, `PageContext as LayoutPageContext`, `assign_columns_to_lines`, `classify_caption`, `classify_code`, `classify_figure`, `classify_formula`, `classify_list`, `classify_watermark`, `compute_baseline`, and `detect_headers_and_footers`
--> crates/pdftract-core/src/extract.rs:53:5
|
53 | assign_columns_to_lines, build_x0_histogram, classify_caption, classify_code, classify_figure,
| ^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^
54 | classify_formula, classify_list, classify_watermark, cluster_spans_into_lines,
| ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^
55 | compute_baseline, detect_headers_and_footers, group_lines_into_blocks, xy_cut, Block,
| ^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^
56 | BlockInput, Column, Line, PageContext as LayoutPageContext,
| ^^^^^^^^^^ ^^^^^^ ^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `Span`
--> crates/pdftract-core/src/extract.rs:59:32
|
59 | use crate::span::{CssHexColor, Span};
| ^^^^
warning: unused import: `std::cmp::Ordering`
--> crates/pdftract-core/src/extract.rs:67:5
|
67 | use std::cmp::Ordering;
| ^^^^^^^^^^^^^^^^^^
warning: unused import: `crate::parser::xref::XrefResolver`
--> crates/pdftract-core/src/extract.rs:930:13
|
930 | use crate::parser::xref::XrefResolver;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `crate::diagnostics::DiagCode`
--> crates/pdftract-core/src/extract.rs:3004:13
|
3004 | use crate::diagnostics::DiagCode;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `crate::diagnostics::DiagCode`
--> crates/pdftract-core/src/font/agl.rs:14:5
|
14 | use crate::diagnostics::DiagCode;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `std::sync::Arc`
--> crates/pdftract-core/src/font/fingerprint.rs:26:5
|
26 | use std::sync::Arc;
| ^^^^^^^^^^^^^^
warning: unused imports: `lookup_shape` and `phash_glyph`
--> crates/pdftract-core/src/font/resolver.rs:24:26
|
24 | use crate::font::shape::{lookup_shape, phash_glyph};
| ^^^^^^^^^^^^ ^^^^^^^^^^^
warning: unused import: `crate::font::type3_rasterizer::rasterize_type3_glyph`
--> crates/pdftract-core/src/font/resolver.rs:26:5
|
26 | use crate::font::type3_rasterizer::rasterize_type3_glyph;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `OpenTypeMetrics`
--> crates/pdftract-core/src/font/type0.rs:11:43
|
11 | use crate::font::embedded::{EmbeddedFont, OpenTypeMetrics};
| ^^^^^^^^^^^^^^^
warning: unused import: `intern`
--> crates/pdftract-core/src/forms/mod.rs:251:29
|
251 | use crate::parser::object::{intern, ObjRef, PdfDict, PdfObject};
| ^^^^^^
warning: unused import: `std::sync::Arc`
--> crates/pdftract-core/src/forms/mod.rs:255:5
|
255 | use std::sync::Arc;
| ^^^^^^^^^^^^^^
warning: unused import: `std::sync::Arc`
--> crates/pdftract-core/src/forms/mod.rs:836:9
|
836 | use std::sync::Arc;
| ^^^^^^^^^^^^^^
warning: unused import: `encoding_rs::WINDOWS_1252`
--> crates/pdftract-core/src/layout/correction.rs:16:5
|
16 | use encoding_rs::WINDOWS_1252;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `Line`
--> crates/pdftract-core/src/layout/correction.rs:20:34
|
20 | use crate::layout::line::{Block, Line, LineMetadata};
| ^^^^
warning: unused import: `super::*`
--> crates/pdftract-core/src/layout/correction.rs:1215:9
|
1215 | use super::*;
| ^^^^^^^^
warning: unused import: `std::sync::OnceLock`
--> crates/pdftract-core/src/layout/list.rs:13:5
|
13 | use std::sync::OnceLock;
| ^^^^^^^^^^^^^^^^^^^
warning: unused import: `std::collections::HashSet`
--> crates/pdftract-core/src/layout/reading_order.rs:20:5
|
20 | use std::collections::HashSet;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `anyhow::Result`
--> crates/pdftract-core/src/log_policy.rs:20:5
|
20 | use anyhow::Result;
| ^^^^^^^^^^^^^^
warning: unused import: `std::io::Cursor`
--> crates/pdftract-core/src/output/ndjson/frames.rs:286:9
|
286 | use std::io::Cursor;
| ^^^^^^^^^^^^^^^
warning: unused import: `crate::page_class::PageClass`
--> crates/pdftract-core/src/output/ndjson/pipeline.rs:15:5
|
15 | use crate::page_class::PageClass;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `super::*`
--> crates/pdftract-core/src/output/ndjson/pipeline.rs:141:9
|
141 | use super::*;
| ^^^^^^^^
warning: unused import: `std::hash::Hasher`
--> crates/pdftract-core/src/page_class.rs:248:13
|
248 | use std::hash::Hasher;
| ^^^^^^^^^^^^^^^^^
warning: unused import: `FlateDecoder`
--> crates/pdftract-core/src/parser/hint_stream.rs:382:46
|
382 | use crate::parser::stream::{get_decoder, FlateDecoder, DEFAULT_MAX_DECOMPRESS_BYTES};
| ^^^^^^^^^^^^
warning: unused import: `crate::parser::object::PdfObject`
--> crates/pdftract-core/src/parser/marked_content.rs:22:5
|
22 | use crate::parser::object::PdfObject;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `std::collections::HashSet`
--> crates/pdftract-core/src/parser/marked_content.rs:247:9
|
247 | use std::collections::HashSet;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused doc comment
--> crates/pdftract-core/src/parser/object/cache.rs:50:1
|
50 | / /// Per-thread resolution depth counter.
51 | | ///
52 | | /// Each thread gets its own independent depth counter, allowing concurrent
53 | | /// page processing in rayon without lock contention.
| |_----------------------------------------------------^
| |
| rustdoc does not generate documentation for macro invocations
|
= help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
= note: `#[warn(unused_doc_comments)]` (part of `#[warn(unused)]`) on by default
warning: unused import: `RESOLVING`
--> crates/pdftract-core/src/parser/object/cache.rs:35:51
|
35 | use super::cycle::{is_resolving, ResolutionGuard, RESOLVING};
| ^^^^^^^^^
warning: unused doc comment
--> crates/pdftract-core/src/parser/object/cycle.rs:33:1
|
33 | / /// Per-thread set of object references currently being resolved.
34 | | ///
35 | | /// Each thread gets its own independent HashSet, allowing concurrent
36 | | /// page processing in rayon without lock contention.
37 | | ///
38 | | /// Capacity of 64 is conservative: typical PDF resolution depth is < 10.
| |_------------------------------------------------------------------------^
| |
| rustdoc does not generate documentation for macro invocations
|
= help: to document an item produced by a macro, the macro must produce the documentation as part of its expansion
warning: unused import: `std::sync::Arc`
--> crates/pdftract-core/src/parser/ocg.rs:427:9
|
427 | use std::sync::Arc;
| ^^^^^^^^^^^^^^
warning: unused import: `std::io::Seek`
--> crates/pdftract-core/src/parser/stream.rs:13:5
|
13 | use std::io::Seek;
| ^^^^^^^^^^^^^
warning: unused import: `Hasher`
--> crates/pdftract-core/src/parser/stream.rs:1919:31
|
1919 | use std::hash::{Hash, Hasher};
| ^^^^^^
warning: unused import: `SeqAccess`
--> crates/pdftract-core/src/parser/stream.rs:3243:42
|
3243 | use serde::de::{self, MapAccess, SeqAccess, Visitor};
| ^^^^^^^^^
warning: unused import: `bytes::Buf`
--> crates/pdftract-core/src/parser/stream.rs:3333:13
|
3333 | use bytes::Buf;
| ^^^^^^^^^^
warning: unused import: `bytes::Buf`
--> crates/pdftract-core/src/parser/stream.rs:3373:13
|
3373 | use bytes::Buf;
| ^^^^^^^^^^
warning: unused import: `crate::encryption::decryptor::DecryptionContext`
--> crates/pdftract-core/src/parser/stream.rs:3749:13
|
3749 | use crate::encryption::decryptor::DecryptionContext;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `secrecy::ExposeSecret`
--> crates/pdftract-core/src/parser/stream.rs:3997:9
|
3997 | use secrecy::ExposeSecret;
| ^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `secrecy::SecretString`
--> crates/pdftract-core/src/parser/stream.rs:5118:13
|
5118 | use secrecy::SecretString;
| ^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `Jbig2GlobalsRef`
--> crates/pdftract-core/src/parser/stream.rs:6139:51
|
6139 | use crate::decoder::jbig2::{Jbig2Decoder, Jbig2GlobalsRef};
| ^^^^^^^^^^^^^^^
warning: unused import: `MarkInfo`
--> crates/pdftract-core/src/parser/struct_tree.rs:696:34
|
696 | use crate::parser::catalog::{MarkInfo, ReadingOrderAlgorithm};
| ^^^^^^^^
warning: unused import: `PdfStream`
--> crates/pdftract-core/src/parser/xref.rs:10:71
|
10 | use crate::parser::object::{ObjRef, ObjectParser, PdfDict, PdfObject, PdfStream};
| ^^^^^^^^^
warning: unused import: `memchr`
--> crates/pdftract-core/src/parser/xref.rs:16:14
|
16 | use memchr::{memchr, memchr_iter};
| ^^^^^^
warning: unused import: `std::sync::Arc`
--> crates/pdftract-core/src/parser/xref.rs:273:13
|
273 | use std::sync::Arc;
| ^^^^^^^^^^^^^^
warning: unused import: `crate::parser::object::intern`
--> crates/pdftract-core/src/parser/xref.rs:3672:13
|
3672 | use crate::parser::object::intern;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `base64::prelude::*`
--> crates/pdftract-core/src/receipts/ocr_fallback.rs:11:5
|
11 | use base64::prelude::*;
| ^^^^^^^^^^^^^^^^^^
warning: unused import: `std::fs::File`
--> crates/pdftract-core/src/source/mod.rs:27:5
|
27 | use std::fs::File;
| ^^^^^^^^^^^^^
warning: unused import: `SeekFrom`
--> crates/pdftract-core/src/source/mod.rs:28:33
|
28 | use std::io::{self, Read, Seek, SeekFrom};
| ^^^^^^^^
warning: unused import: `std::path::Path`
--> crates/pdftract-core/src/source/mod.rs:29:5
|
29 | use std::path::Path;
| ^^^^^^^^^^^^^^^
warning: unused import: `std::fs`
--> crates/pdftract-core/src/source/mmap.rs:178:9
|
178 | use std::fs;
| ^^^^^^^
warning: unused import: `crate::fingerprint::compute_fingerprint`
--> crates/pdftract-core/src/sdk.rs:10:5
|
10 | use crate::fingerprint::compute_fingerprint;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `crate::markdown::page_to_markdown`
--> crates/pdftract-core/src/sdk.rs:11:5
|
11 | use crate::markdown::page_to_markdown;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `crate::parser::catalog::parse_catalog`
--> crates/pdftract-core/src/sdk.rs:13:5
|
13 | use crate::parser::catalog::parse_catalog;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused imports: `LazyPageIter`, `PageDict`, and `flatten_page_tree`
--> crates/pdftract-core/src/sdk.rs:14:28
|
14 | use crate::parser::pages::{flatten_page_tree, LazyPageIter, PageDict};
| ^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^ ^^^^^^^^
warning: unused imports: `XrefResolver` and `load_xref_with_prev_chain`
--> crates/pdftract-core/src/sdk.rs:16:27
|
16 | use crate::parser::xref::{load_xref_with_prev_chain, XrefResolver};
| ^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^
warning: unused import: `crate::source::FileSource`
--> crates/pdftract-core/src/sdk.rs:19:5
|
19 | use crate::source::FileSource;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `serde_json::Value`
--> crates/pdftract-core/src/sdk.rs:22:5
|
22 | use serde_json::Value;
| ^^^^^^^^^^^^^^^^^
warning: unused import: `std::collections::HashMap`
--> crates/pdftract-core/src/sdk.rs:23:5
|
23 | use std::collections::HashMap;
| ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `super::*`
--> crates/pdftract-core/src/sdk.rs:341:9
|
341 | use super::*;
| ^^^^^^^^
warning: unused imports: `PdfDict` and `intern`
--> crates/pdftract-core/src/signature/mod.rs:20:29
|
20 | use crate::parser::object::{intern, ObjRef, PdfDict, PdfObject};
| ^^^^^^ ^^^^^^^
warning: unused import: `std::sync::Arc`
--> crates/pdftract-core/src/signature/mod.rs:22:5
|
22 | use std::sync::Arc;
| ^^^^^^^^^^^^^^
warning: unused import: `crate::font::UnicodeSource`
--> crates/pdftract-core/src/span/mod.rs:1279:13
|
1279 | use crate::font::UnicodeSource;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `anyhow::Result`
--> crates/pdftract-core/src/table/output.rs:9:5
|
9 | use anyhow::Result;
| ^^^^^^^^^^^^^^
warning: unused import: `crate::table::Segment`
--> crates/pdftract-core/src/table/output.rs:275:9
|
275 | use crate::table::Segment;
| ^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `Write`
--> crates/pdftract-core/src/atomic_file_writer.rs:191:33
|
191 | use std::io::{self, Write};
| ^^^^^
warning: unused import: `crate::parser::stream::PdfSource`
--> crates/pdftract-core/src/sdk.rs:15:5
|
15 | use crate::parser::stream::PdfSource as ParserPdfSource;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
warning: unused import: `PdfSource`
--> crates/pdftract-core/src/document.rs:25:33
|
25 | use crate::source::{FileSource, PdfSource};
| ^^^^^^^^^
warning: unused import: `std::io::Read`
--> crates/pdftract-core/src/parser/stream.rs:12:5
|
12 | use std::io::Read;
| ^^^^^^^^^^^^^
warning: unused import: `rayon::prelude`
--> crates/pdftract-core/src/extract.rs:62:5
|
62 | use rayon::prelude::*;
| ^^^^^^^^^^^^^^
warning: unused import: `std::io::Write`
--> crates/pdftract-core/src/extract.rs:1656:9
|
1656 | use std::io::Write;
| ^^^^^^^^^^^^^^
warning: unused import: `LineMetadata`
--> crates/pdftract-core/src/layout/correction.rs:20:40
|
20 | use crate::layout::line::{Block, Line, LineMetadata};
| ^^^^^^^^^^^^
warning: unused variable: `page_ref_to_index`
--> crates/pdftract-core/src/annotation/json.rs:29:5
|
29 | page_ref_to_index: &Option<HashMap<u64, usize>>,
| ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_ref_to_index`
|
= note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
warning: variable does not need to be mutable
--> crates/pdftract-core/src/atomic_file_writer.rs:295:13
|
295 | for mut writer in writers {
| ----^^^^^^
| |
| help: remove this `mut`
|
= note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
warning: variable does not need to be mutable
--> crates/pdftract-core/src/attachment/filespec.rs:156:9
|
156 | let mut diagnostics = Vec::new();
| ----^^^^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/attachment/filespec.rs:598:13
|
598 | let mut uf_bytes = filename
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/attachment/name_tree.rs:473:13
|
473 | let mut names_dict = IndexMap::new();
| ----^^^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/cache/compression.rs:131:13
|
131 | let mut decoder = zstd::Decoder::new(data)?;
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/cache/compression.rs:255:9
|
255 | let mut decoder = zstd::Decoder::new(data)?;
| ----^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `ctx`
--> crates/pdftract-core/src/classify.rs:690:31
|
690 | fn classify_hybrid(&self, ctx: &PageContext, cells: &[CellData; 64]) -> PageClassification {
| ^^^ help: if this is intentional, prefix it with an underscore: `_ctx`
warning: unused variable: `classifier`
--> crates/pdftract-core/src/classify.rs:2121:13
|
2121 | let classifier = PageClassifier::default();
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classifier`
warning: unused variable: `classifier`
--> crates/pdftract-core/src/classify.rs:2145:13
|
2145 | let classifier = PageClassifier::default();
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classifier`
warning: unused variable: `classifier`
--> crates/pdftract-core/src/classify.rs:2166:13
|
2166 | let classifier = PageClassifier::default();
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_classifier`
warning: unused variable: `ranges`
--> crates/pdftract-core/src/cmap/codespace.rs:827:14
|
827 | let (ranges, diags) = parser.parse();
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_ranges`
warning: unused variable: `input`
--> crates/pdftract-core/src/cmap/codespace.rs:884:13
|
884 | let input = b"1 begincodespacerace <00> <7F> endcodespacerace";
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_input`
warning: unused variable: `catalog`
--> crates/pdftract-core/src/document.rs:1183:27
|
1183 | let (fingerprint, catalog, pages, resolver) = parse_pdf_file(&pdf_path).unwrap();
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_catalog`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/encryption/aes_128.rs:62:9
|
62 | let mut hash = md5.finalize();
| ----^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/encryption/aes_128.rs:221:13
|
221 | let mut data = vec![0u8; 33];
| ----^^^^
| |
| help: remove this `mut`
warning: unused variable: `decrypted_len`
--> crates/pdftract-core/src/encryption/aes_256.rs:231:13
|
231 | let decrypted_len = decryptor
| ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decrypted_len`
warning: unused variable: `k`
--> crates/pdftract-core/src/encryption/rc4.rs:242:10
|
242 | for (k, byte) in result.iter_mut().enumerate() {
| ^ help: if this is intentional, prefix it with an underscore: `_k`
warning: unused variable: `padded_password`
--> crates/pdftract-core/src/encryption/rc4.rs:295:9
|
295 | let padded_password = pad_password(password);
| ^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_padded_password`
warning: unused variable: `resolver`
--> crates/pdftract-core/src/extract.rs:158:5
|
158 | resolver: &crate::parser::xref::XrefResolver,
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resolver`
warning: unused variable: `page_index`
--> crates/pdftract-core/src/extract.rs:159:5
|
159 | page_index: usize,
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_index`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/extract.rs:676:9
|
676 | let mut page_count = all_pages.len();
| ----^^^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `decryption_context`
--> crates/pdftract-core/src/extract.rs:569:9
|
569 | let decryption_context = {
| ^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_decryption_context`
warning: unused variable: `semaphore`
--> crates/pdftract-core/src/extract.rs:658:9
|
658 | let semaphore = Arc::new(Semaphore::new(options.max_parallel_pages));
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_semaphore`
warning: unused variable: `resolver`
--> crates/pdftract-core/src/extract.rs:1101:5
|
1101 | resolver: &crate::parser::xref::XrefResolver,
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resolver`
warning: unused variable: `catalog`
--> crates/pdftract-core/src/extract.rs:1102:5
|
1102 | catalog: &crate::parser::catalog::Catalog,
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_catalog`
warning: unused variable: `kind`
--> crates/pdftract-core/src/extract.rs:1130:13
|
1130 | kind,
| ^^^^ help: try ignoring the field: `kind: _`
warning: unused variable: `is_combo`
--> crates/pdftract-core/src/extract.rs:1159:13
|
1159 | is_combo,
| ^^^^^^^^ help: try ignoring the field: `is_combo: _`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/extract.rs:1734:9
|
1734 | let mut page_count = 0usize;
| ----^^^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/extract.rs:1763:9
|
1763 | let mut page_count = all_pages.len();
| ----^^^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `page_count`
--> crates/pdftract-core/src/extract.rs:1734:9
|
1734 | let mut page_count = 0usize;
| ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_count`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/extract.rs:2357:9
|
2357 | let mut spans = merge_glyphs_to_spans(&glyphs);
| ----^^^^^
| |
| help: remove this `mut`
warning: unused variable: `deferred_diag`
--> crates/pdftract-core/src/extract.rs:3033:13
|
3033 | let deferred_diag = result
| ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_deferred_diag`
warning: unused variable: `expected_type`
--> crates/pdftract-core/src/font/embedded.rs:345:26
|
345 | let (stream_key, expected_type) = match kind {
| ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_expected_type`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/font/encoding.rs:1195:13
|
1195 | let mut diagnostics: Vec<Diagnostic> = Vec::new();
| ----^^^^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `glyph_name_for_l4`
--> crates/pdftract-core/src/font/resolver.rs:551:9
|
551 | let glyph_name_for_l4 = encoding.glyph_name_for(char_code);
| ^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_glyph_name_for_l4`
warning: unused variable: `name`
--> crates/pdftract-core/src/font/type3_rasterizer.rs:500:13
|
500 | let name = name_stack.pop().unwrap();
| ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
warning: unused variable: `diagnostics`
--> crates/pdftract-core/src/forms/mod.rs:552:5
|
552 | diagnostics: &mut Vec<Diagnostic>,
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_diagnostics`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:840:13
|
840 | let mut resolver = XrefResolver::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:931:13
|
931 | let mut resolver = XrefResolver::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:992:14
|
992 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:992:27
|
992 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1065:14
|
1065 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1065:27
|
1065 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1112:14
|
1112 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1112:27
|
1112 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1154:14
|
1154 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1154:27
|
1154 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1196:14
|
1196 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1196:27
|
1196 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1238:14
|
1238 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1238:27
|
1238 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1276:14
|
1276 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1276:27
|
1276 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1352:14
|
1352 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/forms/mod.rs:1352:27
|
1352 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `font_dict`
--> crates/pdftract-core/src/glyph/mod.rs:459:22
|
459 | fn get_type0_advance(font_dict: &PdfDict, char_code: u32) -> u16 {
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_font_dict`
warning: unused variable: `char_code`
--> crates/pdftract-core/src/glyph/mod.rs:459:43
|
459 | fn get_type0_advance(font_dict: &PdfDict, char_code: u32) -> u16 {
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_char_code`
warning: unused variable: `char_code`
--> crates/pdftract-core/src/glyph/mod.rs:519:45
|
519 | fn get_font_glyph_bbox(font_dict: &PdfDict, char_code: u32) -> [f64; 4] {
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_char_code`
warning: unused variable: `descriptor_ref`
--> crates/pdftract-core/src/glyph/mod.rs:559:40
|
559 | if let Some(PdfObject::Ref(descriptor_ref)) = font_dict.get("/FontDescriptor") {
| ^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_descriptor_ref`
warning: unused variable: `initial_ctm`
--> crates/pdftract-core/src/graphics_state.rs:1094:13
|
1094 | let initial_ctm = state.ctm;
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_initial_ctm`
warning: unused variable: `threshold`
--> crates/pdftract-core/src/layout/columns.rs:1041:13
|
1041 | let threshold = (page_width * 0.03_f32).ceil() as usize; // 9
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold`
warning: unused variable: `threshold`
--> crates/pdftract-core/src/layout/columns.rs:1060:13
|
1060 | let threshold = (page_width * 0.03_f32).ceil() as usize; // 18
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_threshold`
warning: unreachable pattern
--> crates/pdftract-core/src/layout/correction.rs:376:13
|
362 | 0x0178 => 0x8E, // Ÿ (Latin capital letter Y with diaeresis)
| ------ matches all the relevant values
...
376 | 0x0178 => 0x9E, // Ÿ (Latin small letter y with diaeresis) - duplicate codepoint, 9F is correct
| ^^^^^^ no value can reach this
|
= note: `#[warn(unreachable_patterns)]` (part of `#[warn(unused)]`) on by default
warning: unused variable: `original_text`
--> crates/pdftract-core/src/layout/correction.rs:904:9
|
904 | let original_text = span.text.clone();
| ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_original_text`
warning: unused variable: `char_idx`
--> crates/pdftract-core/src/layout/correction.rs:921:10
|
921 | for (char_idx, &ch) in chars.iter().enumerate() {
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_char_idx`
warning: unused variable: `x0`
--> crates/pdftract-core/src/layout/header_footer.rs:203:10
|
203 | let [x0, y0, x1, y1] = block.bbox;
| ^^ help: if this is intentional, prefix it with an underscore: `_x0`
warning: unused variable: `x1`
--> crates/pdftract-core/src/layout/header_footer.rs:203:18
|
203 | let [x0, y0, x1, y1] = block.bbox;
| ^^ help: if this is intentional, prefix it with an underscore: `_x1`
warning: unused variable: `text_a`
--> crates/pdftract-core/src/layout/header_footer.rs:415:13
|
415 | let text_a = "ACME Corporation XYZ";
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_a`
warning: unused variable: `text_b`
--> crates/pdftract-core/src/layout/header_footer.rs:416:13
|
416 | let text_b = "ACME CorporationsXYZ"; // 1 char diff (added 's')
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_b`
warning: unused variable: `text_a`
--> crates/pdftract-core/src/layout/header_footer.rs:433:13
|
433 | let text_a = "ACME Corporation ".repeat(6); // ~114 chars
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_a`
warning: unused variable: `text_b`
--> crates/pdftract-core/src/layout/header_footer.rs:434:13
|
434 | let text_b = "ACME Corporation ".repeat(5).to_string() + "ACME Corporution "; // typo
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_text_b`
warning: unused variable: `avg_x0`
--> crates/pdftract-core/src/layout/line.rs:395:5
|
395 | avg_x0: f32,
| ^^^^^^ help: if this is intentional, prefix it with an underscore: `_avg_x0`
warning: value assigned to `region_count` is never read
--> crates/pdftract-core/src/layout/reading_order.rs:112:28
|
112 | let mut region_count = 0;
| ^ this value is reassigned later and never used
...
119 | region_count = stats.region_count;
| --------------------------------- `region_count` is overwritten here before the previous value is read
|
= note: `#[warn(unused_assignments)]` (part of `#[warn(unused)]`) on by default
warning: value assigned to `small_region_count` is never read
--> crates/pdftract-core/src/layout/reading_order.rs:113:34
|
113 | let mut small_region_count = 0;
| ^ this value is reassigned later and never used
...
120 | small_region_count = stats.small_region_count;
| --------------------------------------------- `small_region_count` is overwritten here before the previous value is read
warning: unused variable: `x_split`
--> crates/pdftract-core/src/layout/reading_order.rs:190:18
|
190 | if let Some((x_split, left_indices, right_indices)) =
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_x_split`
warning: unused variable: `y_split`
--> crates/pdftract-core/src/layout/reading_order.rs:211:18
|
211 | if let Some((y_split, top_indices, bottom_indices)) =
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_y_split`
warning: unused variable: `first_main`
--> crates/pdftract-core/src/layout/reading_order.rs:1167:23
|
1167 | if let (Some(&first_main), Some(&last_main), Some(&first_sidebar)) =
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_first_main`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/inline_image.rs:668:29
|
668 | let mut dict = Vec::new();
| ----^^^^
| |
| help: remove this `mut`
warning: variable `sign_count` is assigned to, but never used
--> crates/pdftract-core/src/parser/lexer/mod.rs:528:13
|
528 | let mut sign_count = 0;
| ^^^^^^^^^^^^^^
|
= note: consider using `_sign_count` instead
warning: value assigned to `sign_count` is never read
--> crates/pdftract-core/src/parser/lexer/mod.rs:537:13
|
537 | sign_count = 1;
| ^^^^^^^^^^^^^^
|
= help: maybe it is overwritten before being read?
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/lexer/mod.rs:1761:20
|
1761 | .prop_map(|mut bytes| {
| ----^^^^^
| |
| help: remove this `mut`
warning: value assigned to `offset` is never read
--> crates/pdftract-core/src/parser/objstm.rs:724:9
|
724 | offset += b"5 0 R\n".len() as u64;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: maybe it is overwritten before being read?
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/objstm.rs:781:13
|
781 | let mut dict = PdfDict::new();
| ----^^^^
| |
| help: remove this `mut`
warning: unused variable: `has_bomb_diag`
--> crates/pdftract-core/src/parser/objstm.rs:1159:13
|
1159 | let has_bomb_diag = diags.iter().any(|d| d.code == DiagCode::StreamBomb);
| ^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_bomb_diag`
warning: unused variable: `diagnostics`
--> crates/pdftract-core/src/parser/ocg.rs:144:31
|
144 | fn parse(obj: &PdfObject, diagnostics: &mut Vec<Diagnostic>) -> Self {
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_diagnostics`
warning: unused variable: `obj_ref`
--> crates/pdftract-core/src/parser/ocg.rs:433:22
|
433 | fn make_test_ocg(obj_ref: ObjRef, name: &str, intent: Option<&str>) -> PdfObject {
| ^^^^^^^ help: if this is intentional, prefix it with an underscore: `_obj_ref`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/ocg.rs:493:13
|
493 | let mut resolver = make_test_resolver();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/ocg.rs:530:13
|
530 | let mut resolver = make_test_resolver();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/ocg.rs:563:13
|
563 | let mut resolver = make_test_resolver();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/ocg.rs:607:13
|
607 | let mut resolver = make_test_resolver();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/ocg.rs:644:13
|
644 | let mut resolver = make_test_resolver();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/ocg.rs:680:13
|
680 | let mut resolver = make_test_resolver();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `resolver`
--> crates/pdftract-core/src/parser/ocg.rs:706:13
|
706 | let resolver = make_test_resolver();
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_resolver`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/ocg.rs:856:21
|
856 | let mut resolver = make_test_resolver();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `diags`
--> crates/pdftract-core/src/parser/outline.rs:1065:24
|
1065 | let (outlines, diags) = parse_outlines(&resolver, Some(ObjRef::new(99, 0)), &pages);
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_diags`
warning: unused variable: `diags`
--> crates/pdftract-core/src/parser/outline.rs:1107:24
|
1107 | let (outlines, diags) = parse_outlines(&resolver, Some(ObjRef::new(99, 0)), &pages);
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_diags`
warning: unused variable: `diags`
--> crates/pdftract-core/src/parser/outline.rs:1165:24
|
1165 | let (outlines, diags) = parse_outlines(&resolver, Some(ObjRef::new(99, 0)), &pages);
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_diags`
warning: unused variable: `diags`
--> crates/pdftract-core/src/parser/outline.rs:1222:24
|
1222 | let (outlines, diags) = parse_outlines(&resolver, Some(ObjRef::new(99, 0)), &pages);
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_diags`
warning: unused variable: `diags`
--> crates/pdftract-core/src/parser/outline.rs:1335:24
|
1335 | let (outlines, diags) = parse_outlines(&resolver, Some(ObjRef::new(99, 0)), &pages);
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_diags`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/outline.rs:1434:13
|
1434 | let mut root_dict = IndexMap::new();
| ----^^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `diags`
--> crates/pdftract-core/src/parser/outline.rs:1485:24
|
1485 | let (outlines, diags) = parse_outlines(&resolver, Some(ObjRef::new(99, 0)), &pages);
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_diags`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/pages.rs:1340:13
|
1340 | let mut root_resources = PdfDict::new(); // Empty resources dict
| ----^^^^^^^^^^^^^^
| |
| help: remove this `mut`
warning: value assigned to `inherited` is never read
--> crates/pdftract-core/src/parser/pages.rs:1588:25
|
1588 | inherited = parent_inherited;
| ^^^^^^^^^
|
= help: maybe it is overwritten before being read?
warning: value assigned to `inherited` is never read
--> crates/pdftract-core/src/parser/pages.rs:1569:41
|
1569 | ... inherited = parent_inherited;
| ^^^^^^^^^
|
= help: maybe it is overwritten before being read?
warning: value assigned to `inherited` is never read
--> crates/pdftract-core/src/parser/pages.rs:1557:37
|
1557 | ... inherited = parent_inherited;
| ^^^^^^^^^
|
= help: maybe it is overwritten before being read?
warning: value assigned to `inherited` is never read
--> crates/pdftract-core/src/parser/pages.rs:1580:33
|
1580 | ... inherited = parent_inherited;
| ^^^^^^^^^
|
= help: maybe it is overwritten before being read?
warning: value assigned to `inherited` is never read
--> crates/pdftract-core/src/parser/pages.rs:1521:29
|
1521 | ... inherited = parent_inherited;
| ^^^^^^^^^
|
= help: maybe it is overwritten before being read?
warning: value assigned to `inherited` is never read
--> crates/pdftract-core/src/parser/pages.rs:1512:29
|
1512 | ... inherited = parent_inherited;
| ^^^^^^^^^
|
= help: maybe it is overwritten before being read?
warning: value assigned to `inherited` is never read
--> crates/pdftract-core/src/parser/pages.rs:1593:21
|
1593 | inherited = parent_inherited;
| ^^^^^^^^^
|
= help: maybe it is overwritten before being read?
warning: unused variable: `max_depth`
--> crates/pdftract-core/src/parser/pages.rs:1706:40
|
1706 | fn arb_pages_dict_with_direct_kids(max_depth: u8) -> impl Strategy<Value = PdfDict> {
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_max_depth`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/resources.rs:323:13
|
323 | let mut ancestor = ResourceDict::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `buf`
--> crates/pdftract-core/src/parser/stream.rs:3477:24
|
3477 | fn read(&mut self, buf: &mut [u8]) -> std::io::Result<usize> {
| ^^^ help: if this is intentional, prefix it with an underscore: `_buf`
warning: unused variable: `e`
--> crates/pdftract-core/src/parser/stream.rs:3959:25
|
3959 | Err(e) => {
| ^ help: if this is intentional, prefix it with an underscore: `_e`
warning: unused variable: `std_type`
--> crates/pdftract-core/src/parser/struct_tree.rs:1654:20
|
1654 | pub fn is_artifact(std_type: StructureType) -> bool {
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_std_type`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/xref.rs:826:41
|
826 | fn read_line_at(source: &dyn PdfSource, mut pos: u64) -> Option<String> {
| ----^^^
| |
| help: remove this `mut`
warning: unused variable: `diagnostics`
--> crates/pdftract-core/src/parser/xref.rs:876:53
|
876 | fn read_line(source: &dyn PdfSource, pos: &mut u64, diagnostics: &mut Vec<Diag>) -> Option<String> {
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_diagnostics`
warning: value assigned to `depth` is never read
--> crates/pdftract-core/src/parser/xref.rs:909:21
|
909 | let mut depth = 0;
| ^ this value is reassigned later and never used
...
938 | depth = 1;
| --------- `depth` is overwritten here before the previous value is read
warning: unused variable: `source_len`
--> crates/pdftract-core/src/parser/xref.rs:1229:37
|
1229 | fn forward_scan_memory(data: &[u8], source_len: u64) -> XrefSection {
| ^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_source_len`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/xref.rs:4595:13
|
4595 | let mut rev2_with_prev = rev2.to_vec();
| ----^^^^^^^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/xref.rs:4602:13
|
4602 | let mut rev3_with_prev = rev3.to_vec();
| ----^^^^^^^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/xref.rs:4609:13
|
4609 | let mut rev4_with_prev = rev4.to_vec();
| ----^^^^^^^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/xref.rs:4649:13
|
4649 | let mut rev2_with_prev = rev2.to_vec();
| ----^^^^^^^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/xref.rs:4688:13
|
4688 | let mut rev2_with_prev = rev2.to_vec();
| ----^^^^^^^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `rev_base`
--> crates/pdftract-core/src/parser/xref.rs:4720:13
|
4720 | let rev_base = b"xref\n0 1\n\
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rev_base`
warning: unused variable: `rev1_offset`
--> crates/pdftract-core/src/parser/xref.rs:4840:13
|
4840 | let rev1_offset = file_data.len() as u64;
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_rev1_offset`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/parser/xref.rs:4931:13
|
4931 | let mut rev2_with_prev = rev2_trad.to_vec();
| ----^^^^^^^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `has_prev`
--> crates/pdftract-core/src/parser/xref.rs:4970:51
|
4970 | for (i, (obj_num, offset, gen_nr, has_prev)) in revisions.iter().enumerate() {
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_has_prev`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/word_boundary.rs:440:13
|
440 | let mut manager = WordBoundaryManager::new();
| ----^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `prev`
--> crates/pdftract-core/src/semaphore.rs:65:13
|
65 | let prev = self.permits.fetch_add(1, Ordering::Release);
| ^^^^ help: if this is intentional, prefix it with an underscore: `_prev`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:838:13
|
838 | let mut resolver = XrefResolver::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:909:13
|
909 | let mut resolver = XrefResolver::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:933:14
|
933 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:933:27
|
933 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:969:14
|
969 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:969:27
|
969 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1002:14
|
1002 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1002:27
|
1002 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1045:14
|
1045 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1045:27
|
1045 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1070:14
|
1070 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1070:27
|
1070 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1088:14
|
1088 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1088:27
|
1088 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1108:14
|
1108 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1108:27
|
1108 | let (mut catalog, mut resolver) = make_test_acroform(fields);
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1201:13
|
1201 | let mut resolver = XrefResolver::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `v_ref`
--> crates/pdftract-core/src/signature/mod.rs:1183:13
|
1183 | let v_ref = ObjRef::new(500, 0);
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_v_ref`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1259:13
|
1259 | let mut resolver = XrefResolver::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1315:13
|
1315 | let mut resolver = XrefResolver::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1401:13
|
1401 | let mut resolver = XrefResolver::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1429:13
|
1429 | let mut resolver = XrefResolver::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1457:13
|
1457 | let mut resolver = XrefResolver::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/signature/mod.rs:1491:13
|
1491 | let mut resolver = XrefResolver::new();
| ----^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `col_count`
--> crates/pdftract-core/src/table/cell.rs:495:5
|
495 | col_count: usize,
| ^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_col_count`
warning: variable does not need to be mutable
--> crates/pdftract-core/src/table/grid.rs:52:9
|
52 | mut intersections: Vec<(f32, f32)>,
| ----^^^^^^^^^^^^^
| |
| help: remove this `mut`
warning: unused variable: `page_idx`
--> crates/pdftract-core/src/table/output.rs:192:10
|
192 | for (page_idx, page_tables) in all_tables.iter().enumerate() {
| ^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_page_idx`
warning: unused variable: `current_page_height`
--> crates/pdftract-core/src/table/output.rs:203:13
|
203 | let current_page_height = page_heights.get(page_idx).copied().unwrap_or(792.0);
| ^^^^^^^^^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_page_height`
warning: unused variable: `other`
--> crates/pdftract-core/src/threads/mod.rs:361:19
|
361 | (Some(other), _) => {
| ^^^^^ help: if this is intentional, prefix it with an underscore: `_other`
warning: unused variable: `current_ref`
--> crates/pdftract-core/src/threads/mod.rs:535:43
|
535 | fn extract_bead_rect(bead_dict: &PdfDict, current_ref: ObjRef) -> Option<[f32; 4]> {
| ^^^^^^^^^^^ help: if this is intentional, prefix it with an underscore: `_current_ref`
warning: function `extract_destination_name` is never used
--> crates/pdftract-core/src/annotation/links.rs:491:4
|
491 | fn extract_destination_name(dest_obj: Option<&PdfObject>) -> Option<String> {
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
warning: function `make_filespec` is never used
--> crates/pdftract-core/src/attachment/filespec.rs:587:8
|
587 | fn make_filespec(
| ^^^^^^^^^^^^^
warning: function `make_ef_stream` is never used
--> crates/pdftract-core/src/attachment/filespec.rs:629:8
|
629 | fn make_ef_stream(
| ^^^^^^^^^^^^^^
warning: field `0` is never read
--> crates/pdftract-core/src/cmap/codespace.rs:644:16
|
644 | Unexpected(u8),
| ---------- ^^
| |
| field in this variant
|
= note: `Token` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
help: consider changing the field to be of unit type to suppress this warning while preserving the field numbering, or remove the field
|
644 - Unexpected(u8),
644 + Unexpected(()),
|
warning: variants `Stream` and `Error` are never constructed
--> crates/pdftract-core/src/content_stream.rs:1609:5
|
1608 | enum XObjectResolveResult {
| -------------------- variants in this enum
1609 | Stream(PdfDict, Vec<u8>),
| ^^^^^^
1610 | Error(Diagnostic),
| ^^^^^
warning: constant `DECODER` is never used
--> crates/pdftract-core/src/decoder/jbig2.rs:221:15
|
221 | const DECODER: Jbig2Decoder = Jbig2Decoder::new();
| ^^^^^^^
warning: field `source` is never read
--> crates/pdftract-core/src/document.rs:949:5
|
941 | pub struct PageIter<'a> {
| -------- field in this struct
...
949 | source: Option<&'a dyn ParserPdfSource>,
| ^^^^^^
warning: field `page_height` is never read
--> crates/pdftract-core/src/extract.rs:371:9
|
357 | struct PageResultInternal {
| ------------------ field in this struct
...
371 | pub page_height: f64,
| ^^^^^^^^^^^
|
= note: `PageResultInternal` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: function `extract_page` is never used
--> crates/pdftract-core/src/extract.rs:1315:4
|
1315 | fn extract_page(
| ^^^^^^^^^^^^
warning: field `font` is never read
--> crates/pdftract-core/src/font/type3_rasterizer.rs:208:5
|
198 | struct RasterizerContext<'a> {
| ----------------- field in this struct
...
208 | font: &'a Type3Font,
| ^^^^
warning: function `is_repeated_header_footer` is never used
--> crates/pdftract-core/src/layout/header_footer.rs:225:4
|
225 | fn is_repeated_header_footer(
| ^^^^^^^^^^^^^^^^^^^^^^^^^
warning: associated function `with_text` is never used
--> crates/pdftract-core/src/layout/line.rs:871:12
|
860 | impl TestSpan {
| ------------- associated function in this implementation
...
871 | fn with_text(bbox: [f32; 4], font_size: f32, text: &str) -> Self {
| ^^^^^^^^^
warning: constant `REGION_COUNT_THRESHOLD` is never used
--> crates/pdftract-core/src/layout/reading_order.rs:27:7
|
27 | const REGION_COUNT_THRESHOLD: usize = 10;
| ^^^^^^^^^^^^^^^^^^^^^^
warning: fields `distance` and `angle` are never read
--> crates/pdftract-core/src/layout/reading_order.rs:720:5
|
714 | struct Edge {
| ---- fields in this struct
...
720 | distance: f32,
| ^^^^^^^^
721 | /// Angle in radians between centers.
722 | angle: f32,
| ^^^^^
|
= note: `Edge` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: struct `TestBlock` is never constructed
--> crates/pdftract-core/src/layout/watermark_formula.rs:111:12
|
111 | struct TestBlock {
| ^^^^^^^^^
warning: method `emit_diagnostic` is never used
--> crates/pdftract-core/src/parser/catalog.rs:421:8
|
399 | impl Catalog {
| ------------ method in this implementation
...
421 | fn emit_diagnostic(&mut self, code: DiagCode, message: String) {
| ^^^^^^^^^^^^^^^
warning: fields `shared_object_number_bits` and `shared_group_length_bits` are never read
--> crates/pdftract-core/src/parser/hint_stream.rs:180:5
|
172 | struct HintHeader {
| ---------- fields in this struct
...
180 | shared_object_number_bits: u8,
| ^^^^^^^^^^^^^^^^^^^^^^^^^
181 | /// Bit width for shared object hint group lengths
182 | shared_group_length_bits: u8,
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `HintHeader` has a derived impl for the trait `Debug`, but this is intentionally ignored during dead code analysis
warning: method `lex_unknown` is never used
--> crates/pdftract-core/src/parser/lexer/mod.rs:1108:8
|
117 | impl<'a> Lexer<'a> {
| ------------------ method in this implementation
...
1108 | fn lex_unknown(&mut self) -> Option<Token> {
| ^^^^^^^^^^^
warning: method `emit_diagnostic` is never used
--> crates/pdftract-core/src/parser/marked_content.rs:83:8
|
41 | impl McidTracker {
| ---------------- method in this implementation
...
83 | fn emit_diagnostic(&mut self, code: DiagCode, message: String) {
| ^^^^^^^^^^^^^^^
warning: function `make_test_resolver` is never used
--> crates/pdftract-core/src/parser/struct_tree.rs:1754:8
|
1754 | fn make_test_resolver() -> XrefResolver {
| ^^^^^^^^^^^^^^^^^^
warning: function `round_coord` is never used
--> crates/pdftract-core/src/receipts/ocr_fallback.rs:239:4
|
239 | fn round_coord(value: f64) -> f64 {
| ^^^^^^^^^^^
warning: field `font_id` is never read
--> crates/pdftract-core/src/word_boundary.rs:39:5
|
37 | pub struct WordBoundaryDetector {
| -------------------- field in this struct
38 | /// Font identifier for this detector.
39 | font_id: FontId,
| ^^^^^^^
|
= note: `WordBoundaryDetector` has derived impls for the traits `Clone` and `Debug`, but these are intentionally ignored during dead code analysis
warning: comparison is useless due to type limits
--> crates/pdftract-core/src/content_stream.rs:3112:17
|
3112 | assert!(result.diagnostics.len() >= 0);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(unused_comparisons)]` on by default
warning: static variable `HASH_56a45233d29f11b4dfb86d248e921939d115778f87325e7ae8cc108383d6664d` should have an upper case name
--> /home/coding/pdftract/target/debug/build/pdftract-core-0d428a00850f9797/out/font_fingerprints.rs:7:8
|
7 | static HASH_56a45233d29f11b4dfb86d248e921939d115778f87325e7ae8cc108383d6664d: &[(u16, u32)] = &[(1, 32), (2, 33), (3, 34), (4, 35), (...
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: `#[warn(non_upper_case_globals)]` (part of `#[warn(nonstandard_style)]`) on by default
help: convert the identifier to upper case
|
7 - static HASH_56a45233d29f11b4dfb86d248e921939d115778f87325e7ae8cc108383d6664d: &[(u16, u32)] = &[(1, 32), (2, 33), (3, 34), (4, 35), (5, 36), (6, 37), (7, 38), (8, 39), (9, 40), (10, 41), (11, 42), (12, 43), (13, 44), (14, 45), (15, 46), (16, 47), (17, 48), (18, 49), (19, 50), (20, 51), (21, 52), (22, 53), (23, 54), (24, 55), (25, 56), (26, 57), (27, 58), (28, 59), (29, 60), (30, 61), (31, 62), (32, 63), (33, 64), (34, 65), (35, 66), (36, 67), (37, 68), (38, 69), (39, 70), (40, 71), (41, 72), (42, 73), (43, 74), (44, 75), (45, 76), (46, 77), (47, 78), (48, 79), (49, 80), (50, 81), (51, 82), (52, 83), (53, 84), (54, 85), (55, 86), (56, 87), (57, 88), (58, 89), (59, 90), (60, 91), (61, 92), (62, 93), (63, 94), (64, 95), (65, 96), (66, 97), (67, 98), (68, 99), (69, 100), (70, 101), (71, 102), (72, 103), (73, 104), (74, 105), (75, 106), (76, 107), (77, 108), (78, 109), (79, 110), (80, 111), (81, 112), (82, 113), (83, 114), (84, 115), (85, 116), (86, 117), (87, 118), (88, 119), (89, 120), (90, 121), (91, 122), (92, 123), (93, 124), (94, 125), (95, 126)];
7 + static HASH_56A45233D29F11B4DFB86D248E921939D115778F87325E7AE8CC108383D6664D: &[(u16, u32)] = &[(1, 32), (2, 33), (3, 34), (4, 35), (5, 36), (6, 37), (7, 38), (8, 39), (9, 40), (10, 41), (11, 42), (12, 43), (13, 44), (14, 45), (15, 46), (16, 47), (17, 48), (18, 49), (19, 50), (20, 51), (21, 52), (22, 53), (23, 54), (24, 55), (25, 56), (26, 57), (27, 58), (28, 59), (29, 60), (30, 61), (31, 62), (32, 63), (33, 64), (34, 65), (35, 66), (36, 67), (37, 68), (38, 69), (39, 70), (40, 71), (41, 72), (42, 73), (43, 74), (44, 75), (45, 76), (46, 77), (47, 78), (48, 79), (49, 80), (50, 81), (51, 82), (52, 83), (53, 84), (54, 85), (55, 86), (56, 87), (57, 88), (58, 89), (59, 90), (60, 91), (61, 92), (62, 93), (63, 94), (64, 95), (65, 96), (66, 97), (67, 98), (68, 99), (69, 100), (70, 101), (71, 102), (72, 103), (73, 104), (74, 105), (75, 106), (76, 107), (77, 108), (78, 109), (79, 110), (80, 111), (81, 112), (82, 113), (83, 114), (84, 115), (85, 116), (86, 117), (87, 118), (88, 119), (89, 120), (90, 121), (91, 122), (92, 123), (93, 124), (94, 125), (95, 126)];
|
warning: hiding a lifetime that's elided elsewhere is confusing
--> crates/pdftract-core/src/layout/readability.rs:244:13
|
244 | fn text(&self) -> Cow<str>;
| ^^^^^ ^^^^^^^^ the same lifetime is hidden here
| |
| the lifetime is elided here
|
= help: the same lifetime is referred to in inconsistent ways, making the signature confusing
= note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
help: use `'_` for type paths
|
244 | fn text(&self) -> Cow<'_, str>;
| +++
warning: `pdftract-core` (lib test) generated 272 warnings (run `cargo fix --lib -p pdftract-core --tests` to apply 226 suggestions)
Finished `test` profile [unoptimized + debuginfo] target(s) in 24.91s
────────────
Nextest run ID 4d6da9fd-2003-40f9-887f-632caa65bf3a with nextest profile: default
Starting 2902 tests across 1 binary (2 tests skipped)
PASS [ 0.006s] ( 1/2902) pdftract-core annotation::links::tests::test_as_f32_with_int
PASS [ 0.006s] ( 2/2902) pdftract-core annotation::json::tests::test_link_roundtrip_serialization
PASS [ 0.006s] ( 3/2902) pdftract-core annotation::json::tests::test_annotation_to_json_highlight
PASS [ 0.006s] ( 4/2902) pdftract-core annotation::json::tests::test_annotation_to_json_text_note
FAIL [ 0.007s] ( 5/2902) pdftract-core annotation::json::tests::test_sort_links
stdout ───
running 1 test
test annotation::json::tests::test_sort_links ... FAILED
failures:
failures:
annotation::json::tests::test_sort_links
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'annotation::json::tests::test_sort_links' (1389603) panicked at crates/pdftract-core/src/annotation/json.rs:410:9:
assertion `left == right` failed
left: 100.0
right: 50.0
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.007s] ( 6/2902) pdftract-core annotation::json::tests::test_fit_type_to_json_all_variants
PASS [ 0.010s] ( 7/2902) pdftract-core annotation::json::tests::test_link_to_json_named_dest
PASS [ 0.010s] ( 8/2902) pdftract-core annotation::json::tests::test_link_to_json_explicit_dest
PASS [ 0.011s] ( 9/2902) pdftract-core annotation::json::tests::test_annotation_roundtrip_serialization
PASS [ 0.006s] ( 10/2902) pdftract-core annotation::links::tests::test_as_f32_with_real
PASS [ 0.012s] ( 11/2902) pdftract-core annotation::json::tests::test_link_to_json_uri
PASS [ 0.007s] ( 12/2902) pdftract-core annotation::links::tests::test_extract_link_dest_array_unresolved_page
PASS [ 0.006s] ( 13/2902) pdftract-core annotation::links::tests::test_extract_link_javascript_action
PASS [ 0.013s] ( 14/2902) pdftract-core annotation::json::tests::test_sort_annotations
PASS [ 0.006s] ( 15/2902) pdftract-core annotation::links::tests::test_extract_link_javascript_truncation
PASS [ 0.008s] ( 16/2902) pdftract-core annotation::links::tests::test_extract_link_dest_as_string
PASS [ 0.014s] ( 17/2902) pdftract-core annotation::links::tests::test_as_f32_with_null
PASS [ 0.006s] ( 18/2902) pdftract-core annotation::links::tests::test_extract_link_named_dest
PASS [ 0.006s] ( 19/2902) pdftract-core annotation::links::tests::test_extract_link_uri
PASS [ 0.007s] ( 20/2902) pdftract-core annotation::links::tests::test_extract_link_without_target
PASS [ 0.011s] ( 21/2902) pdftract-core annotation::links::tests::test_extract_link_goto_action
PASS [ 0.007s] ( 22/2902) pdftract-core annotation::links::tests::test_fit_type_partial_eq
PASS [ 0.006s] ( 23/2902) pdftract-core annotation::links::tests::test_parse_fit_type_fitb
PASS [ 0.006s] ( 24/2902) pdftract-core annotation::links::tests::test_parse_fit_type_fitr
PASS [ 0.007s] ( 25/2902) pdftract-core annotation::links::tests::test_parse_fit_type_xyz
PASS [ 0.010s] ( 26/2902) pdftract-core annotation::links::tests::test_parse_fit_type_fitbh
PASS [ 0.006s] ( 27/2902) pdftract-core annotation::links::tests::test_resolve_named_destination_from_dests_dict
PASS [ 0.006s] ( 28/2902) pdftract-core annotation::links::tests::test_resolve_named_destination_not_found
PASS [ 0.006s] ( 29/2902) pdftract-core annotation::links::tests::test_walk_name_tree_leaf_node
PASS [ 0.010s] ( 30/2902) pdftract-core annotation::links::tests::test_parse_fit_type_unknown
PASS [ 0.014s] ( 31/2902) pdftract-core annotation::links::tests::test_parse_fit_type_fit
PASS [ 0.014s] ( 32/2902) pdftract-core annotation::links::tests::test_parse_fit_type_fitbv
PASS [ 0.009s] ( 33/2902) pdftract-core annotation::other::tests::test_as_f32_with_int
PASS [ 0.016s] ( 34/2902) pdftract-core annotation::links::tests::test_parse_fit_type_fith
PASS [ 0.005s] ( 35/2902) pdftract-core annotation::other::tests::test_as_f32_with_null
PASS [ 0.006s] ( 36/2902) pdftract-core annotation::other::tests::test_as_f32_with_real
PASS [ 0.012s] ( 37/2902) pdftract-core annotation::links::tests::test_parse_fit_type_xyz_nulls
PASS [ 0.010s] ( 38/2902) pdftract-core annotation::links::tests::test_walk_name_tree_not_found
PASS [ 0.006s] ( 39/2902) pdftract-core annotation::other::tests::test_extract_freetext_annotation
PASS [ 0.006s] ( 40/2902) pdftract-core annotation::other::tests::test_extract_circle_annotation
PASS [ 0.006s] ( 41/2902) pdftract-core annotation::other::tests::test_extract_file_attachment_annotation
PASS [ 0.009s] ( 42/2902) pdftract-core annotation::other::tests::test_extract_highlight_annotation_with_quads
PASS [ 0.007s] ( 43/2902) pdftract-core annotation::other::tests::test_extract_ink_annotation
PASS [ 0.006s] ( 44/2902) pdftract-core annotation::other::tests::test_extract_quad_array_single_quad
PASS [ 0.006s] ( 45/2902) pdftract-core annotation::other::tests::test_extract_quad_array_with_nulls
PASS [ 0.011s] ( 46/2902) pdftract-core annotation::other::tests::test_extract_highlight_annotation_no_quads
PASS [ 0.006s] ( 47/2902) pdftract-core annotation::other::tests::test_extract_stamp_no_name
PASS [ 0.008s] ( 48/2902) pdftract-core annotation::other::tests::test_extract_square_annotation
PASS [ 0.008s] ( 49/2902) pdftract-core annotation::other::tests::test_extract_polygon_annotation
PASS [ 0.008s] ( 50/2902) pdftract-core annotation::other::tests::test_extract_quad_array_invalid_length
PASS [ 0.010s] ( 51/2902) pdftract-core annotation::other::tests::test_extract_polyline_annotation
PASS [ 0.007s] ( 52/2902) pdftract-core annotation::other::tests::test_extract_unknown_subtype
PASS [ 0.012s] ( 53/2902) pdftract-core annotation::other::tests::test_extract_line_annotation
PASS [ 0.009s] ( 54/2902) pdftract-core annotation::other::tests::test_squiggly_subtype
PASS [ 0.008s] ( 55/2902) pdftract-core annotation::other::tests::test_underline_subtype
PASS [ 0.014s] ( 56/2902) pdftract-core annotation::other::tests::test_extract_stamp_annotation
PASS [ 0.010s] ( 57/2902) pdftract-core annotation::other::tests::test_extract_text_note_annotation
PASS [ 0.010s] ( 58/2902) pdftract-core annotation::other::tests::test_strikeout_subtype
PASS [ 0.007s] ( 59/2902) pdftract-core annotation::tests::test_parse_pdf_date_negative_timezone
PASS [ 0.008s] ( 60/2902) pdftract-core annotation::tests::test_parse_pdf_date_no_timezone
PASS [ 0.010s] ( 61/2902) pdftract-core annotation::tests::test_parse_pdf_date_full_with_timezone
PASS [ 0.010s] ( 62/2902) pdftract-core annotation::tests::test_parse_pdf_date_malformed
PASS [ 0.008s] ( 63/2902) pdftract-core annotation::tests::test_parse_pdf_date_only
PASS [ 0.010s] ( 64/2902) pdftract-core annotation::tests::test_parse_pdf_date_utc
PASS [ 0.007s] ( 65/2902) pdftract-core atomic_file_writer::tests::test_concurrent_writes_no_collision
PASS [ 0.006s] ( 66/2902) pdftract-core atomic_file_writer::tests::test_successful_commit
PASS [ 0.008s] ( 67/2902) pdftract-core atomic_file_writer::tests::test_overwrite_existing_file
PASS [ 0.008s] ( 68/2902) pdftract-core atomic_file_writer::tests::test_empty_file
PASS [ 0.010s] ( 69/2902) pdftract-core annotation::tests::test_parse_pdf_date_without_d_prefix
PASS [ 0.010s] ( 70/2902) pdftract-core attachment::associated_files::tests::test_extract_af_relationship_absent
PASS [ 0.012s] ( 71/2902) pdftract-core attachment::associated_files::tests::test_associated_file_entry_new
PASS [ 0.006s] ( 72/2902) pdftract-core attachment::associated_files::tests::test_walk_af_array_empty
PASS [ 0.007s] ( 73/2902) pdftract-core attachment::associated_files::tests::test_extract_af_relationship_resolve_error
PASS [ 0.013s] ( 74/2902) pdftract-core atomic_file_writer::tests::test_stdout_passthrough
PASS [ 0.007s] ( 75/2902) pdftract-core attachment::associated_files::tests::test_walk_af_array_all_relationship_types
PASS [ 0.015s] ( 76/2902) pdftract-core atomic_file_writer::tests::test_large_file
PASS [ 0.007s] ( 77/2902) pdftract-core attachment::associated_files::tests::test_walk_af_array_multiple_entries
PASS [ 0.007s] ( 78/2902) pdftract-core attachment::associated_files::tests::test_walk_af_array_non_ref_entry
PASS [ 0.017s] ( 79/2902) pdftract-core atomic_file_writer::tests::test_drop_without_commit_removes_temp
PASS [ 0.017s] ( 80/2902) pdftract-core attachment::associated_files::tests::test_extract_af_relationship_present
PASS [ 0.007s] ( 81/2902) pdftract-core attachment::filespec::tests::test_decode_pdf_string_utf16be_bom
PASS [ 0.007s] ( 82/2902) pdftract-core attachment::filespec::tests::test_decode_pdf_string_ascii
PASS [ 0.007s] ( 83/2902) pdftract-core attachment::filespec::tests::test_extract_filename_f_fallback
PASS [ 0.010s] ( 84/2902) pdftract-core attachment::associated_files::tests::test_walk_af_array_not_an_array
PASS [ 0.014s] ( 85/2902) pdftract-core attachment::associated_files::tests::test_walk_af_array_no_relationship
PASS [ 0.008s] ( 86/2902) pdftract-core attachment::filespec::tests::test_extract_filename_uf_preferred
PASS [ 0.010s] ( 87/2902) pdftract-core attachment::associated_files::tests::test_walk_af_array_single_entry
PASS [ 0.007s] ( 88/2902) pdftract-core attachment::filespec::tests::test_parse_pdf_date_malformed
PASS [ 0.011s] ( 89/2902) pdftract-core attachment::associated_files::tests::test_walk_af_array_preserves_order
PASS [ 0.012s] ( 90/2902) pdftract-core attachment::filespec::tests::test_parse_pdf_date_full
PASS [ 0.007s] ( 91/2902) pdftract-core attachment::filespec::tests::test_parse_pdf_date_only
PASS [ 0.014s] ( 92/2902) pdftract-core attachment::filespec::tests::test_decode_pdfdocencoding
PASS [ 0.007s] ( 93/2902) pdftract-core attachment::name_tree::tests::test_decode_name_key_ascii
PASS [ 0.007s] ( 94/2902) pdftract-core attachment::filespec::tests::test_parse_pdf_date_utc
PASS [ 0.007s] ( 95/2902) pdftract-core attachment::name_tree::tests::test_decode_name_key_latin1
PASS [ 0.007s] ( 96/2902) pdftract-core attachment::name_tree::tests::test_decode_name_key_utf16be_no_bom
PASS [ 0.007s] ( 97/2902) pdftract-core attachment::name_tree::tests::test_decode_name_key_utf16be_bom
PASS [ 0.010s] ( 98/2902) pdftract-core attachment::name_tree::tests::test_decode_name_key_empty
PASS [ 0.008s] ( 99/2902) pdftract-core attachment::name_tree::tests::test_decode_utf16be_bom
PASS [ 0.007s] ( 100/2902) pdftract-core attachment::name_tree::tests::test_walk_embedded_files_empty
PASS [ 0.008s] ( 101/2902) pdftract-core attachment::name_tree::tests::test_walk_embedded_files_deep_tree
PASS [ 0.012s] ( 102/2902) pdftract-core attachment::name_tree::tests::test_decode_pdfdocencoding
PASS [ 0.013s] ( 103/2902) pdftract-core attachment::name_tree::tests::test_decode_utf16be_raw
PASS [ 0.007s] ( 104/2902) pdftract-core attachment::name_tree::tests::test_walk_embedded_files_non_string_key
PASS [ 0.009s] ( 105/2902) pdftract-core attachment::name_tree::tests::test_walk_embedded_files_single_entry
PASS [ 0.009s] ( 106/2902) pdftract-core attachment::name_tree::tests::test_walk_embedded_files_with_kids
PASS [ 0.013s] ( 107/2902) pdftract-core attachment::name_tree::tests::test_looks_like_utf16be
PASS [ 0.013s] ( 108/2902) pdftract-core attachment::name_tree::tests::test_walk_embedded_files_multiple_entries
PASS [ 0.006s] ( 109/2902) pdftract-core audit::tests::test_audit_record_add_diagnostic
PASS [ 0.014s] ( 110/2902) pdftract-core attachment::name_tree::tests::test_embedded_file_entry_new
PASS [ 0.007s] ( 111/2902) pdftract-core audit::tests::test_audit_record_new
PASS [ 0.014s] ( 112/2902) pdftract-core attachment::name_tree::tests::test_walk_embedded_files_odd_names_array
PASS [ 0.016s] ( 113/2902) pdftract-core attachment::name_tree::tests::test_walk_embedded_files_non_ref_value
PASS [ 0.009s] ( 114/2902) pdftract-core audit::tests::test_audit_record_serialize
PASS [ 0.008s] ( 115/2902) pdftract-core audit::tests::test_audit_record_with_client_ip
PASS [ 0.008s] ( 116/2902) pdftract-core audit::tests::test_audit_record_with_diagnostics
PASS [ 0.008s] ( 117/2902) pdftract-core cache::compression::tests::test_decode_into_writer_empty_input
PASS [ 0.007s] ( 118/2902) pdftract-core cache::compression::tests::test_empty_input
PASS [ 0.011s] ( 119/2902) pdftract-core cache::compression::tests::test_decode_into_writer
PASS [ 0.011s] ( 120/2902) pdftract-core cache::compression::tests::test_decode_into_writer_invalid_magic
PASS [ 0.008s] ( 121/2902) pdftract-core cache::compression::tests::test_invalid_magic_bytes
PASS [ 0.007s] ( 122/2902) pdftract-core cache::integrity::tests::test_compute_hmac_deterministic
PASS [ 0.024s] ( 123/2902) pdftract-core audit::tests::test_audit_log_writer_memory
PASS [ 0.013s] ( 124/2902) pdftract-core cache::compression::tests::test_round_trip
PASS [ 0.013s] ( 125/2902) pdftract-core cache::compression::tests::test_encode_from_reader
PASS [ 0.007s] ( 126/2902) pdftract-core cache::integrity::tests::test_generate_key_randomness
PASS [ 0.007s] ( 127/2902) pdftract-core cache::integrity::tests::test_hmac_fingerprint_sensitivity
PASS [ 0.011s] ( 128/2902) pdftract-core cache::integrity::tests::test_compute_hmac_different_inputs
PASS [ 0.007s] ( 129/2902) pdftract-core cache::integrity::tests::test_hmac_opts_hash_sensitivity
PASS [ 0.014s] ( 130/2902) pdftract-core cache::integrity::tests::test_generate_key_length
PASS [ 0.009s] ( 131/2902) pdftract-core cache::integrity::tests::test_init_and_load_key_roundtrip
PASS [ 0.010s] ( 132/2902) pdftract-core cache::integrity::tests::test_hmac_key_independence
PASS [ 0.007s] ( 133/2902) pdftract-core cache::integrity::tests::test_key_file_mode_0600
PASS [ 0.009s] ( 134/2902) pdftract-core cache::integrity::tests::test_init_cache_key_fails_if_exists
PASS [ 0.012s] ( 135/2902) pdftract-core cache::integrity::tests::test_init_cache_key_creates_file
PASS [ 0.010s] ( 136/2902) pdftract-core cache::integrity::tests::test_load_cache_key
PASS [ 0.007s] ( 137/2902) pdftract-core cache::integrity::tests::test_verify_hmac_invalid
PASS [ 0.010s] ( 138/2902) pdftract-core cache::integrity::tests::test_load_cache_key_fails_if_missing
PASS [ 0.007s] ( 139/2902) pdftract-core cache::key::tests::test_acceptance_float_canonical_edge_cases
PASS [ 0.013s] ( 140/2902) pdftract-core cache::key::tests::test_acceptance_different_version_changes_hash
PASS [ 0.009s] ( 141/2902) pdftract-core cache::key::tests::test_acceptance_sorted_key_canonical
PASS [ 0.011s] ( 142/2902) pdftract-core cache::key::tests::test_acceptance_same_effective_values_same_hash
PASS [ 0.011s] ( 143/2902) pdftract-core cache::key::tests::test_acceptance_receipts_off_to_lite_changes_hash
PASS [ 0.016s] ( 144/2902) pdftract-core cache::integrity::tests::test_verify_hmac_valid
PASS [ 0.018s] ( 145/2902) pdftract-core cache::key::tests::test_acceptance_float_canonical
PASS [ 0.010s] ( 146/2902) pdftract-core cache::key::tests::test_cache_key_basic
PASS [ 0.007s] ( 147/2902) pdftract-core cache::key::tests::test_cache_key_receipts_mode_off_vs_lite_vs_svg
PASS [ 0.007s] ( 148/2902) pdftract-core cache::key::tests::test_cache_key_hash_eq
PASS [ 0.049s] ( 149/2902) pdftract-core cache::compression::tests::test_bomb_protection_detection
PASS [ 0.013s] ( 150/2902) pdftract-core cache::key::tests::test_cache_key_different_receipts_different_hash
PASS [ 0.018s] ( 151/2902) pdftract-core cache::key::tests::test_cache_key_different_fingerprints_different_keys
PASS [ 0.012s] ( 152/2902) pdftract-core cache::key::tests::test_cache_key_same_options_same_hash
PASS [ 0.054s] ( 153/2902) pdftract-core cache::compression::tests::test_compression_ratio
PASS [ 0.010s] ( 154/2902) pdftract-core cache::key::tests::test_cache_key_version_pinned
PASS [ 0.008s] ( 155/2902) pdftract-core cache::key::tests::test_canonical_json_float_arrays
PASS [ 0.009s] ( 156/2902) pdftract-core cache::key::tests::test_canonical_json_nested_objects
PASS [ 0.009s] ( 157/2902) pdftract-core cache::key::tests::test_canonical_json_mixed
PASS [ 0.015s] ( 158/2902) pdftract-core cache::key::tests::test_cache_key_serialization
PASS [ 0.053s] ( 159/2902) pdftract-core cache::compression::tests::test_truncated_frame
PASS [ 0.012s] ( 160/2902) pdftract-core cache::key::tests::test_canonical_json_arrays
PASS [ 0.008s] ( 161/2902) pdftract-core cache::key::tests::test_canonical_options_json_format
PASS [ 0.007s] ( 162/2902) pdftract-core cache::key::tests::test_canonical_options_version_included
PASS [ 0.008s] ( 163/2902) pdftract-core cache::key::tests::test_canonical_options_json_deterministic
PASS [ 0.057s] ( 164/2902) pdftract-core cache::compression::tests::test_magic_bytes
PASS [ 0.010s] ( 165/2902) pdftract-core cache::key::tests::test_canonical_options_different_modes
PASS [ 0.010s] ( 166/2902) pdftract-core cache::key::tests::test_invariant_different_logical_request_different_key
PASS [ 0.011s] ( 167/2902) pdftract-core cache::key::tests::test_invariant_same_logical_request_same_key
PASS [ 0.009s] ( 168/2902) pdftract-core cache::layout::tests::test_entry_path_different_opts_hashes
PASS [ 0.009s] ( 169/2902) pdftract-core cache::layout::tests::test_entry_path_different_fingerprints_same_prefix
PASS [ 0.014s] ( 170/2902) pdftract-core cache::key::tests::test_invariant_documented
PASS [ 0.007s] ( 171/2902) pdftract-core cache::layout::tests::test_entry_path_short_fingerprint
PASS [ 0.009s] ( 172/2902) pdftract-core cache::layout::tests::test_entry_path_large_size
PASS [ 0.010s] ( 173/2902) pdftract-core cache::layout::tests::test_entry_path_basic
PASS [ 0.007s] ( 174/2902) pdftract-core cache::layout::tests::test_fingerprint_dir
PASS [ 0.009s] ( 175/2902) pdftract-core cache::layout::tests::test_entry_path_too_short
PASS [ 0.012s] ( 176/2902) pdftract-core cache::key::tests::test_opts_hash_is_sha256
PASS [ 0.012s] ( 177/2902) pdftract-core cache::layout::tests::test_ensure_fingerprint_dir
PASS [ 0.011s] ( 178/2902) pdftract-core cache::layout::tests::test_entry_path_zero_size
PASS [ 0.007s] ( 179/2902) pdftract-core cache::layout::tests::test_index_not_exists
PASS [ 0.007s] ( 180/2902) pdftract-core cache::layout::tests::test_index_schema_version_mismatch
PASS [ 0.006s] ( 181/2902) pdftract-core cache::layout::tests::test_path_length_within_limits
PASS [ 0.009s] ( 182/2902) pdftract-core cache::layout::tests::test_parse_size_from_filename
PASS [ 0.010s] ( 183/2902) pdftract-core cache::layout::tests::test_index_roundtrip
PASS [ 0.011s] ( 184/2902) pdftract-core cache::layout::tests::test_index_default
PASS [ 0.009s] ( 185/2902) pdftract-core cache::lru::tests::test_cleanup_empty_dirs
PASS [ 0.012s] ( 186/2902) pdftract-core cache::layout::tests::test_parse_opts_hash_from_filename
PASS [ 0.011s] ( 187/2902) pdftract-core cache::lru::tests::test_best_effort_eviction
PASS [ 0.015s] ( 188/2902) pdftract-core cache::layout::tests::test_fingerprint_without_prefix
PASS [ 0.008s] ( 189/2902) pdftract-core cache::lru::tests::test_current_size_with_entries
PASS [ 0.010s] ( 190/2902) pdftract-core cache::lru::tests::test_current_size_empty
PASS [ 0.015s] ( 191/2902) pdftract-core cache::layout::tests::test_unicode_path_handling
PASS [ 0.007s] ( 192/2902) pdftract-core cache::lru::tests::test_maybe_evict_under_limit
PASS [ 0.010s] ( 193/2902) pdftract-core cache::lru::tests::test_lru_new
PASS [ 0.008s] ( 194/2902) pdftract-core cache::lru::tests::test_touch_format
PASS [ 0.012s] ( 195/2902) pdftract-core cache::lru::tests::test_touch_creates_sentinel
PASS [ 0.007s] ( 196/2902) pdftract-core cache::lru::tests::test_zero_size_entry_deleted
PASS [ 0.016s] ( 197/2902) pdftract-core cache::lru::tests::test_sentinel_rotation
PASS [ 0.011s] ( 198/2902) pdftract-core cache::multi_process::tests::test_acceptance_concurrent_same_fingerprint
PASS [ 0.016s] ( 199/2902) pdftract-core cache::lru::tests::test_touch_performance
FAIL [ 0.012s] ( 200/2902) pdftract-core cache::multi_process::tests::test_acceptance_corrupt_entry_treated_as_miss
stdout ───
running 1 test
test cache::multi_process::tests::test_acceptance_corrupt_entry_treated_as_miss ... FAILED
failures:
failures:
cache::multi_process::tests::test_acceptance_corrupt_entry_treated_as_miss
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'cache::multi_process::tests::test_acceptance_corrupt_entry_treated_as_miss' (1390062) panicked at crates/pdftract-core/src/cache/multi_process.rs:1228:9:
assertion failed: result.is_err()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.010s] ( 201/2902) pdftract-core cache::multi_process::tests::test_concurrent_writers_same_key
PASS [ 0.036s] ( 202/2902) pdftract-core cache::lru::tests::test_concurrent_touches
PASS [ 0.014s] ( 203/2902) pdftract-core cache::multi_process::tests::test_concurrent_writers_different_keys
PASS [ 0.008s] ( 204/2902) pdftract-core cache::multi_process::tests::test_reader_cache_miss
PASS [ 0.010s] ( 205/2902) pdftract-core cache::multi_process::tests::test_fsync_env_var
PASS [ 0.031s] ( 206/2902) pdftract-core cache::lru::tests::test_maybe_evict_over_limit
PASS [ 0.019s] ( 207/2902) pdftract-core cache::multi_process::tests::test_acceptance_reader_never_sees_torn_write
FAIL [ 0.011s] ( 208/2902) pdftract-core cache::multi_process::tests::test_reader_corrupt_entry_deleted
stdout ───
running 1 test
test cache::multi_process::tests::test_reader_corrupt_entry_deleted ... FAILED
failures:
failures:
cache::multi_process::tests::test_reader_corrupt_entry_deleted
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'cache::multi_process::tests::test_reader_corrupt_entry_deleted' (1390167) panicked at crates/pdftract-core/src/cache/multi_process.rs:765:9:
assertion failed: result.is_err()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.007s] ( 209/2902) pdftract-core cache::multi_process::tests::test_temp_file_cleanup
FAIL [ 0.009s] ( 210/2902) pdftract-core cache::multi_process::tests::test_reader_exists
stdout ───
running 1 test
test cache::multi_process::tests::test_reader_exists ... FAILED
failures:
failures:
cache::multi_process::tests::test_reader_exists
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'cache::multi_process::tests::test_reader_exists' (1390168) panicked at crates/pdftract-core/src/cache/multi_process.rs:594:9:
assertion failed: reader.exists(TEST_FINGERPRINT, TEST_OPTS_HASH, compressed.len())
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.040s] ( 211/2902) pdftract-core cache::lru::tests::test_evict_to_80_percent
PASS [ 0.009s] ( 212/2902) pdftract-core cache::multi_process::tests::test_temp_file_cleanup_keeps_recent
FAIL [ 0.009s] ( 213/2902) pdftract-core cache::multi_process::tests::test_write_creates_parent_dirs
stdout ───
running 1 test
test cache::multi_process::tests::test_write_creates_parent_dirs ... FAILED
failures:
failures:
cache::multi_process::tests::test_write_creates_parent_dirs
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'cache::multi_process::tests::test_write_creates_parent_dirs' (1390185) panicked at crates/pdftract-core/src/cache/multi_process.rs:626:9:
assertion failed: entry.exists()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.006s] ( 214/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_a4_page
PASS [ 0.006s] ( 215/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_definitive_short_circuit
FAIL [ 0.010s] ( 216/2902) pdftract-core cache::multi_process::tests::test_writer_basic
stdout ───
running 1 test
test cache::multi_process::tests::test_writer_basic ... FAILED
failures:
failures:
cache::multi_process::tests::test_writer_basic
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'cache::multi_process::tests::test_writer_basic' (1390187) panicked at crates/pdftract-core/src/cache/multi_process.rs:551:14:
called `Result::unwrap()` on an `Err` value: Os { code: 2, kind: NotFound, message: "No such file or directory" }
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.011s] ( 217/2902) pdftract-core cache::multi_process::tests::test_write_disk_full_simulation
FAIL [ 0.021s] ( 218/2902) pdftract-core cache::multi_process::tests::test_reader_mid_rename
stdout ───
running 1 test
test cache::multi_process::tests::test_reader_mid_rename ... FAILED
failures:
failures:
cache::multi_process::tests::test_reader_mid_rename
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.01s
stderr ───
thread 'cache::multi_process::tests::test_reader_mid_rename' (1390169) panicked at crates/pdftract-core/src/cache/multi_process.rs:974:9:
assertion failed: result.is_ok()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.020s] ( 219/2902) pdftract-core cache::multi_process::tests::test_temp_path_unique
PASS [ 0.051s] ( 220/2902) pdftract-core cache::lru::tests::test_lru_order_with_touches
PASS [ 0.007s] ( 221/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_empty_image_areas
PASS [ 0.007s] ( 222/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_exact_match
FAIL [ 0.015s] ( 223/2902) pdftract-core cache::multi_process::tests::test_write_truncates_existing
stdout ───
running 1 test
test cache::multi_process::tests::test_write_truncates_existing ... FAILED
failures:
failures:
cache::multi_process::tests::test_write_truncates_existing
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.01s
stderr ───
thread 'cache::multi_process::tests::test_write_truncates_existing' (1390192) panicked at crates/pdftract-core/src/cache/multi_process.rs:1081:9:
assertion `left == right` failed
left: [102, 105, 114, 115, 116, 32, 118, 101, 114, 115, 105, 111, 110]
right: [115, 101, 99, 111, 110, 100, 32, 118, 101, 114, 115, 105, 111, 110]
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.007s] ( 224/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_exactly_95_percent
PASS [ 0.006s] ( 225/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_invisible_text_with_image
PASS [ 0.009s] ( 226/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_just_below_threshold
PASS [ 0.007s] ( 227/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_no_text
PASS [ 0.008s] ( 228/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_mixed_tr3
PASS [ 0.008s] ( 229/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_no_full_page_image
PASS [ 0.008s] ( 230/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_standard_us_letter
PASS [ 0.009s] ( 231/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_multiple_images_one_large
PASS [ 0.007s] ( 232/2902) pdftract-core classify::tests::test_broken_vector_escalation_hybrid_no_escalation
PASS [ 0.009s] ( 233/2902) pdftract-core classify::tests::test_all_tr3_with_full_page_image_zero_page_area
PASS [ 0.012s] ( 234/2902) pdftract-core classify::tests::test_broken_vector_escalation_broken_vector_stays
PASS [ 0.007s] ( 235/2902) pdftract-core classify::tests::test_broken_vector_escalation_vector_low_readability
PASS [ 0.007s] ( 236/2902) pdftract-core classify::tests::test_broken_vector_escalation_scanned_no_escalation
PASS [ 0.008s] ( 237/2902) pdftract-core classify::tests::test_broken_vector_escalation_vector_high_readability
PASS [ 0.007s] ( 238/2902) pdftract-core classify::tests::test_broken_vector_escalation_zero_readability
PASS [ 0.011s] ( 239/2902) pdftract-core classify::tests::test_broken_vector_escalation_perfect_readability
PASS [ 0.011s] ( 240/2902) pdftract-core classify::tests::test_broken_vector_escalation_vector_threshold_exact
PASS [ 0.010s] ( 241/2902) pdftract-core classify::tests::test_cell_data_classify_mixed
PASS [ 0.010s] ( 242/2902) pdftract-core classify::tests::test_cell_data_classify_scanned
PASS [ 0.007s] ( 243/2902) pdftract-core classify::tests::test_cell_index_flat_conversion
PASS [ 0.007s] ( 244/2902) pdftract-core classify::tests::test_cell_data_classify_vector
PASS [ 0.008s] ( 245/2902) pdftract-core classify::tests::test_cell_index_invalid_row
PASS [ 0.008s] ( 246/2902) pdftract-core classify::tests::test_char_density_ratio_signal_dense_page
PASS [ 0.007s] ( 247/2902) pdftract-core classify::tests::test_char_density_ratio_signal_standard_letter_page
PASS [ 0.007s] ( 248/2902) pdftract-core classify::tests::test_char_density_ratio_signal_sparse_cover_page
PASS [ 0.010s] ( 249/2902) pdftract-core classify::tests::test_char_density_ratio_signal_in_full_classifier
PASS [ 0.007s] ( 250/2902) pdftract-core classify::tests::test_char_density_ratio_signal_standard_page_with_text
PASS [ 0.008s] ( 251/2902) pdftract-core classify::tests::test_char_density_ratio_signal_threshold_exact
PASS [ 0.011s] ( 252/2902) pdftract-core classify::tests::test_char_density_ratio_signal_name
PASS [ 0.020s] ( 253/2902) pdftract-core classify::tests::test_cell_index_invalid_col
PASS [ 0.020s] ( 254/2902) pdftract-core classify::tests::test_cell_index_invalid_flat
PASS [ 0.007s] ( 255/2902) pdftract-core classify::tests::test_char_density_ratio_signal_zero_area_with_chars
PASS [ 0.007s] ( 256/2902) pdftract-core classify::tests::test_char_density_ratio_signal_zero_chars
PASS [ 0.007s] ( 257/2902) pdftract-core classify::tests::test_critical_hybrid_page_text_header_scanned_body
PASS [ 0.008s] ( 258/2902) pdftract-core classify::tests::test_determinism_btree_set
PASS [ 0.020s] ( 259/2902) pdftract-core classify::tests::test_char_density_ratio_signal_just_below_threshold
PASS [ 0.007s] ( 260/2902) pdftract-core classify::tests::test_determinism_classify_twice
PASS [ 0.007s] ( 261/2902) pdftract-core classify::tests::test_exactly_10_cells_threshold
PASS [ 0.010s] ( 262/2902) pdftract-core classify::tests::test_empty_page_classification
PASS [ 0.008s] ( 263/2902) pdftract-core classify::tests::test_grid_classifier_below_threshold
PASS [ 0.008s] ( 264/2902) pdftract-core classify::tests::test_grid_classifier_point_to_cell
PASS [ 0.009s] ( 265/2902) pdftract-core classify::tests::test_image_coverage_fraction_exactly_85_percent
PASS [ 0.007s] ( 266/2902) pdftract-core classify::tests::test_image_coverage_fraction_multiple_images_above_threshold
PASS [ 0.011s] ( 267/2902) pdftract-core classify::tests::test_image_coverage_fraction_just_below_threshold
PASS [ 0.007s] ( 268/2902) pdftract-core classify::tests::test_image_coverage_fraction_multiple_images_total_50_percent
PASS [ 0.012s] ( 269/2902) pdftract-core classify::tests::test_image_coverage_fraction_high_threshold_scanned_vote
PASS [ 0.008s] ( 270/2902) pdftract-core classify::tests::test_image_coverage_fraction_negative_page_area
PASS [ 0.016s] ( 271/2902) pdftract-core classify::tests::test_grid_classifier_hybrid_detection
PASS [ 0.007s] ( 272/2902) pdftract-core classify::tests::test_image_coverage_fraction_single_image_90_percent
PASS [ 0.009s] ( 273/2902) pdftract-core classify::tests::test_image_coverage_fraction_no_images
PASS [ 0.008s] ( 274/2902) pdftract-core classify::tests::test_image_coverage_fraction_single_small_image
PASS [ 0.013s] ( 275/2902) pdftract-core classify::tests::test_image_coverage_fraction_overlapping_images_clamped
PASS [ 0.007s] ( 276/2902) pdftract-core classify::tests::test_page_class_as_type_str
PASS [ 0.007s] ( 277/2902) pdftract-core classify::tests::test_page_class_can_escalate_broken_vector
PASS [ 0.007s] ( 278/2902) pdftract-core classify::tests::test_page_class_can_escalate_scanned
PASS [ 0.010s] ( 279/2902) pdftract-core classify::tests::test_image_coverage_fraction_zero_page_area
PASS [ 0.009s] ( 280/2902) pdftract-core classify::tests::test_page_class_can_escalate_hybrid
PASS [ 0.010s] ( 281/2902) pdftract-core classify::tests::test_page_class_can_escalate_vector
PASS [ 0.015s] ( 282/2902) pdftract-core classify::tests::test_image_coverage_fraction_strength_value
PASS [ 0.008s] ( 283/2902) pdftract-core classify::tests::test_page_classification_hybrid
PASS [ 0.017s] ( 284/2902) pdftract-core classify::tests::test_microbenchmark_classify_page_performance
PASS [ 0.007s] ( 285/2902) pdftract-core classify::tests::test_page_classifier_confidence_in_range
PASS [ 0.008s] ( 286/2902) pdftract-core classify::tests::test_page_classifier_default_impl
PASS [ 0.010s] ( 287/2902) pdftract-core classify::tests::test_page_classifier_broken_vector
PASS [ 0.126s] ( 288/2902) pdftract-core cache::lru::tests::test_current_size_performance
PASS [ 0.013s] ( 289/2902) pdftract-core classify::tests::test_page_classifier_blank_page
PASS [ 0.009s] ( 290/2902) pdftract-core classify::tests::test_page_classifier_default_vector
PASS [ 0.009s] ( 291/2902) pdftract-core classify::tests::test_page_classifier_determinism
PASS [ 0.007s] ( 292/2902) pdftract-core classify::tests::test_page_classifier_low_char_validity
PASS [ 0.008s] ( 293/2902) pdftract-core classify::tests::test_page_classifier_hybrid_with_grid
PASS [ 0.009s] ( 294/2902) pdftract-core classify::tests::test_page_classifier_low_density
PASS [ 0.013s] ( 295/2902) pdftract-core classify::tests::test_page_classifier_entry_point
PASS [ 0.008s] ( 296/2902) pdftract-core classify::tests::test_page_classifier_short_circuit_no_text
PASS [ 0.013s] ( 297/2902) pdftract-core classify::tests::test_page_classifier_high_image_coverage
PASS [ 0.008s] ( 298/2902) pdftract-core classify::tests::test_page_classifier_scanned_image_only
PASS [ 0.010s] ( 299/2902) pdftract-core classify::tests::test_page_classifier_short_circuit_invisible_with_image
PASS [ 0.007s] ( 300/2902) pdftract-core classify::tests::test_page_classifier_vector_pure_text
PASS [ 0.007s] ( 301/2902) pdftract-core classify::tests::test_page_context_all_invisible_text
PASS [ 0.009s] ( 302/2902) pdftract-core classify::tests::test_page_context_blank_page
PASS [ 0.019s] ( 303/2902) pdftract-core classify::tests::test_page_classifier_image_only_figure
PASS [ 0.007s] ( 304/2902) pdftract-core classify::tests::test_page_context_image_only
PASS [ 0.007s] ( 305/2902) pdftract-core classify::tests::test_page_type_string_broken_vector_ocr_failed
PASS [ 0.010s] ( 306/2902) pdftract-core classify::tests::test_page_type_string_blank_override
PASS [ 0.010s] ( 307/2902) pdftract-core classify::tests::test_page_type_string_exhaustive_combinations
PASS [ 0.008s] ( 308/2902) pdftract-core classify::tests::test_page_type_string_hybrid
PASS [ 0.012s] ( 309/2902) pdftract-core classify::tests::test_page_type_string_broken_vector_ocr_succeeded
PASS [ 0.013s] ( 310/2902) pdftract-core classify::tests::test_page_context_char_validity_rate
PASS [ 0.007s] ( 311/2902) pdftract-core classify::tests::test_vote_helpers
PASS [ 0.009s] ( 312/2902) pdftract-core classify::tests::test_page_type_string_vector
PASS [ 0.014s] ( 313/2902) pdftract-core classify::tests::test_page_type_string_figure_only_override
PASS [ 0.012s] ( 314/2902) pdftract-core classify::tests::test_page_type_string_scanned
PASS [ 0.008s] ( 315/2902) pdftract-core cmap::codespace::tests::test_3_byte_range
PASS [ 0.010s] ( 316/2902) pdftract-core classify::tests::test_rotation_handling
PASS [ 0.007s] ( 317/2902) pdftract-core cmap::codespace::tests::test_codespace_range_contains_2_byte
PASS [ 0.008s] ( 318/2902) pdftract-core cmap::codespace::tests::test_codespace_range_contains
PASS [ 0.007s] ( 319/2902) pdftract-core cmap::codespace::tests::test_comments_ignored
PASS [ 0.011s] ( 320/2902) pdftract-core cmap::codespace::tests::test_4_byte_range
PASS [ 0.009s] ( 321/2902) pdftract-core cmap::codespace::tests::test_empty_cmap
PASS [ 0.007s] ( 322/2902) pdftract-core cmap::codespace::tests::test_find_range
PASS [ 0.009s] ( 323/2902) pdftract-core cmap::codespace::tests::test_display
PASS [ 0.008s] ( 324/2902) pdftract-core cmap::codespace::tests::test_empty_hex_string
PASS [ 0.007s] ( 325/2902) pdftract-core cmap::codespace::tests::test_invalid_hex_emits_diagnostic
PASS [ 0.017s] ( 326/2902) pdftract-core cmap::codespace::tests::test_case_insensitive_hex
PASS [ 0.009s] ( 327/2902) pdftract-core cmap::codespace::tests::test_jis_lead_trail_pattern
PASS [ 0.011s] ( 328/2902) pdftract-core cmap::codespace::tests::test_identity_h_cmap
PASS [ 0.009s] ( 329/2902) pdftract-core cmap::codespace::tests::test_parse_two_ranges_mixed_width
PASS [ 0.010s] ( 330/2902) pdftract-core cmap::codespace::tests::test_parse_single_range_1_byte
PASS [ 0.009s] ( 331/2902) pdftract-core cmap::codespace::tests::test_width_mismatch_emits_diagnostic
PASS [ 0.009s] ( 332/2902) pdftract-core confidence::tests::test_deserialize_lowercase
PASS [ 0.007s] ( 333/2902) pdftract-core confidence::tests::test_map_agl_without_correction
PASS [ 0.008s] ( 334/2902) pdftract-core confidence::tests::test_map_agl_with_correction_downgrades_to_heuristic
PASS [ 0.008s] ( 335/2902) pdftract-core confidence::tests::test_map_fingerprint_with_correction_downgrades_to_heuristic
PASS [ 0.015s] ( 336/2902) pdftract-core cmap::codespace::tests::test_recovery_after_invalid_range
PASS [ 0.015s] ( 337/2902) pdftract-core cmap::codespace::tests::test_whitespace_variations
PASS [ 0.014s] ( 338/2902) pdftract-core confidence::tests::test_hash_map_usable
PASS [ 0.007s] ( 339/2902) pdftract-core confidence::tests::test_map_ocr_always_cr_unaffected_by_correction
PASS [ 0.018s] ( 340/2902) pdftract-core cmap::codespace::tests::test_width_inference
PASS [ 0.008s] ( 341/2902) pdftract-core confidence::tests::test_map_shapematch_always_heuristic
PASS [ 0.014s] ( 342/2902) pdftract-core confidence::tests::test_map_all_combinations
PASS [ 0.007s] ( 343/2902) pdftract-core confidence::tests::test_roundtrip
PASS [ 0.014s] ( 344/2902) pdftract-core confidence::tests::test_map_fingerprint_without_correction
PASS [ 0.011s] ( 345/2902) pdftract-core confidence::tests::test_map_tounicode_with_correction_downgrades_to_heuristic
PASS [ 0.008s] ( 346/2902) pdftract-core conformance::tests::test_detect_conformance_different_namespace_prefix
PASS [ 0.008s] ( 347/2902) pdftract-core confidence::tests::test_serialize_lowercase
PASS [ 0.008s] ( 348/2902) pdftract-core conformance::tests::test_detect_conformance_malformed_xml
PASS [ 0.013s] ( 349/2902) pdftract-core confidence::tests::test_map_tounicode_without_correction
PASS [ 0.009s] ( 350/2902) pdftract-core conformance::tests::test_detect_conformance_empty_xml
PASS [ 0.013s] ( 351/2902) pdftract-core confidence::tests::test_map_unknown_always_heuristic
PASS [ 0.007s] ( 352/2902) pdftract-core conformance::tests::test_detect_conformance_nested_elements
PASS [ 0.008s] ( 353/2902) pdftract-core conformance::tests::test_detect_conformance_no_metadata
PASS [ 0.012s] ( 354/2902) pdftract-core conformance::tests::test_detect_conformance_minimal_xmp
PASS [ 0.007s] ( 355/2902) pdftract-core conformance::tests::test_detect_conformance_part_only
PASS [ 0.007s] ( 356/2902) pdftract-core conformance::tests::test_detect_conformance_no_pdfaid_elements
PASS [ 0.007s] ( 357/2902) pdftract-core conformance::tests::test_detect_conformance_pdf_a_4f
PASS [ 0.012s] ( 358/2902) pdftract-core conformance::tests::test_detect_conformance_pdf_a_1b
PASS [ 0.008s] ( 359/2902) pdftract-core conformance::tests::test_detect_conformance_unicode_in_namespace
PASS [ 0.011s] ( 360/2902) pdftract-core conformance::tests::test_detect_conformance_pdf_a_4e
PASS [ 0.011s] ( 361/2902) pdftract-core conformance::tests::test_detect_conformance_pdf_a_3a
PASS [ 0.012s] ( 362/2902) pdftract-core conformance::tests::test_detect_conformance_pdf_a_2u
PASS [ 0.007s] ( 363/2902) pdftract-core content_stream::tests::test_bt_nested_emits_diagnostic
PASS [ 0.008s] ( 364/2902) pdftract-core content_stream::tests::test_compute_unit_square_bbox_identity
PASS [ 0.007s] ( 365/2902) pdftract-core content_stream::tests::test_compute_unit_square_bbox_scaled
PASS [ 0.007s] ( 366/2902) pdftract-core content_stream::tests::test_double_quote_outside_bt_emits_diagnostic
PASS [ 0.010s] ( 367/2902) pdftract-core content_stream::tests::test_compute_unit_square_bbox_translated
PASS [ 0.010s] ( 368/2902) pdftract-core content_stream::tests::test_double_quote_operator_sets_spacing
PASS [ 0.008s] ( 369/2902) pdftract-core content_stream::tests::test_double_quote_with_insufficient_operands
PASS [ 0.008s] ( 370/2902) pdftract-core content_stream::tests::test_et_without_bt_emits_diagnostic
PASS [ 0.019s] ( 371/2902) pdftract-core conformance::tests::test_detect_conformance_whitespace_handling
PASS [ 0.012s] ( 372/2902) pdftract-core content_stream::tests::test_create_approx_bbox
PASS [ 0.019s] ( 373/2902) pdftract-core content_stream::tests::test_apostrophe_outside_bt_emits_diagnostic
PASS [ 0.007s] ( 374/2902) pdftract-core content_stream::tests::test_et_without_bt_no_op
PASS [ 0.007s] ( 375/2902) pdftract-core content_stream::tests::test_execute_with_do_td_chain
PASS [ 0.022s] ( 376/2902) pdftract-core content_stream::tests::test_apostrophe_operator_with_leading
PASS [ 0.008s] ( 377/2902) pdftract-core content_stream::tests::test_execute_with_do_tm_then_td
PASS [ 0.009s] ( 378/2902) pdftract-core content_stream::tests::test_execute_with_do_td_sets_leading
PASS [ 0.007s] ( 379/2902) pdftract-core content_stream::tests::test_execute_with_do_tstar_zero_leading_emits_diagnostic
PASS [ 0.007s] ( 380/2902) pdftract-core content_stream::tests::test_execute_with_do_tstar_uses_leading
PASS [ 0.011s] ( 381/2902) pdftract-core content_stream::tests::test_execute_with_do_tf_zero_size_emits_diagnostic
PASS [ 0.008s] ( 382/2902) pdftract-core content_stream::tests::test_execution_context_depth_limit
PASS [ 0.009s] ( 383/2902) pdftract-core content_stream::tests::test_execution_context_can_enter
PASS [ 0.009s] ( 384/2902) pdftract-core content_stream::tests::test_execution_context_cycle_detection
PASS [ 0.010s] ( 385/2902) pdftract-core content_stream::tests::test_execution_context_diamond_pattern
PASS [ 0.009s] ( 386/2902) pdftract-core content_stream::tests::test_execution_context_nested_cycle_a_b_a
PASS [ 0.007s] ( 387/2902) pdftract-core content_stream::tests::test_execution_context_new
PASS [ 0.008s] ( 388/2902) pdftract-core content_stream::tests::test_execution_context_sequential_invocation
PASS [ 0.008s] ( 389/2902) pdftract-core content_stream::tests::test_get_form_matrix_scale
PASS [ 0.007s] ( 390/2902) pdftract-core content_stream::tests::test_glyph_mcid_default_none
PASS [ 0.007s] ( 391/2902) pdftract-core content_stream::tests::test_glyph_new
PASS [ 0.011s] ( 392/2902) pdftract-core content_stream::tests::test_get_form_matrix_identity
PASS [ 0.010s] ( 393/2902) pdftract-core content_stream::tests::test_get_form_matrix_missing
PASS [ 0.007s] ( 394/2902) pdftract-core content_stream::tests::test_glyph_with_mcid
PASS [ 0.010s] ( 395/2902) pdftract-core content_stream::tests::test_glyph_position_hint
PASS [ 0.007s] ( 396/2902) pdftract-core content_stream::tests::test_image_xobject_new
PASS [ 0.011s] ( 397/2902) pdftract-core content_stream::tests::test_glyph_with_mcid_positive
PASS [ 0.010s] ( 398/2902) pdftract-core content_stream::tests::test_glyph_with_mcid_zero
PASS [ 0.007s] ( 399/2902) pdftract-core content_stream::tests::test_negative_tc_tw_ts_allowed
PASS [ 0.007s] ( 400/2902) pdftract-core content_stream::tests::test_nested_bt_resets_matrices
PASS [ 0.008s] ( 401/2902) pdftract-core content_stream::tests::test_normalize_rotation_0_no_change
PASS [ 0.010s] ( 402/2902) pdftract-core content_stream::tests::test_multiple_text_state_operators_in_sequence
PASS [ 0.008s] ( 403/2902) pdftract-core content_stream::tests::test_normalize_rotation_270_swaps_axes_inverted
PASS [ 0.008s] ( 404/2902) pdftract-core content_stream::tests::test_normalize_rotation_450_wraps_to_90
PASS [ 0.012s] ( 405/2902) pdftract-core content_stream::tests::test_normalize_rotation_180_inverts_both_axes
PASS [ 0.008s] ( 406/2902) pdftract-core content_stream::tests::test_normalize_rotation_90_swaps_axes
PASS [ 0.011s] ( 407/2902) pdftract-core content_stream::tests::test_normalize_rotation_90_with_specific_bbox
PASS [ 0.011s] ( 408/2902) pdftract-core content_stream::tests::test_normalize_rotation_invalid_emits_diagnostic
PASS [ 0.028s] ( 409/2902) pdftract-core content_stream::tests::test_execution_result_new
PASS [ 0.009s] ( 410/2902) pdftract-core content_stream::tests::test_overflow_diagnostic_emitted_once_per_page
PASS [ 0.012s] ( 411/2902) pdftract-core content_stream::tests::test_operators_outside_bt_scope_do_not_crash
PASS [ 0.009s] ( 412/2902) pdftract-core content_stream::tests::test_position_hint_faster_than_normal
PASS [ 0.007s] ( 413/2902) pdftract-core content_stream::tests::test_process_with_mode_bmc_no_mcid
PASS [ 0.007s] ( 414/2902) pdftract-core content_stream::tests::test_process_with_mode_bt_nested_emits_diagnostic
PASS [ 0.007s] ( 415/2902) pdftract-core content_stream::tests::test_process_with_mode_bbox_identical
PASS [ 0.008s] ( 416/2902) pdftract-core content_stream::tests::test_process_with_mode_innermost_mcid_wins
PASS [ 0.008s] ( 417/2902) pdftract-core content_stream::tests::test_process_with_mode_empty_content
PASS [ 0.018s] ( 418/2902) pdftract-core content_stream::tests::test_normalize_rotation_negative_normalized
PASS [ 0.008s] ( 419/2902) pdftract-core content_stream::tests::test_process_with_mode_multiple_strings
PASS [ 0.007s] ( 420/2902) pdftract-core content_stream::tests::test_process_with_mode_quote_operator
PASS [ 0.007s] ( 421/2902) pdftract-core content_stream::tests::test_process_with_mode_text_positioning
PASS [ 0.009s] ( 422/2902) pdftract-core content_stream::tests::test_process_with_mode_simple
PASS [ 0.013s] ( 423/2902) pdftract-core content_stream::tests::test_process_with_mode_nested_bmc_then_bdc
PASS [ 0.012s] ( 424/2902) pdftract-core content_stream::tests::test_process_with_mode_tj_without_bt_emits_diagnostic
PASS [ 0.008s] ( 425/2902) pdftract-core content_stream::tests::test_process_with_mode_tm_operator
PASS [ 0.008s] ( 426/2902) pdftract-core content_stream::tests::test_processing_mode_equality
PASS [ 0.015s] ( 427/2902) pdftract-core content_stream::tests::test_process_with_mode_no_marked_content
PASS [ 0.007s] ( 428/2902) pdftract-core content_stream::tests::test_resource_stack_lookup_color_space_fallback_to_page
PASS [ 0.008s] ( 429/2902) pdftract-core content_stream::tests::test_resource_stack_lookup_color_space_form_with_empty_dict
PASS [ 0.009s] ( 430/2902) pdftract-core content_stream::tests::test_process_with_mode_with_mcid
PASS [ 0.007s] ( 431/2902) pdftract-core content_stream::tests::test_resource_stack_lookup_color_space_shadowing
PASS [ 0.010s] ( 432/2902) pdftract-core content_stream::tests::test_resource_stack_lookup_ext_gstate_fallback_to_page
PASS [ 0.007s] ( 433/2902) pdftract-core content_stream::tests::test_resource_stack_new
PASS [ 0.007s] ( 434/2902) pdftract-core content_stream::tests::test_resource_stack_lookup_font_shadowing
PASS [ 0.007s] ( 435/2902) pdftract-core content_stream::tests::test_resource_stack_push_none
PASS [ 0.009s] ( 436/2902) pdftract-core content_stream::tests::test_resource_stack_lookup_ext_gstate_shadowing
PASS [ 0.017s] ( 437/2902) pdftract-core content_stream::tests::test_process_with_mode_with_empty_marked_content
PASS [ 0.010s] ( 438/2902) pdftract-core content_stream::tests::test_resource_stack_lookup_xobject
PASS [ 0.009s] ( 439/2902) pdftract-core content_stream::tests::test_tc_operator_sets_char_spacing
PASS [ 0.013s] ( 440/2902) pdftract-core content_stream::tests::test_resource_stack_lookup_ext_gstate_form_with_empty_dict
PASS [ 0.274s] ( 441/2902) pdftract-core cache::lru::tests::test_eviction_sweep_performance
PASS [ 0.007s] ( 442/2902) pdftract-core content_stream::tests::test_text_matrix_move_to
PASS [ 0.007s] ( 443/2902) pdftract-core content_stream::tests::test_text_matrix_reset
PASS [ 0.007s] ( 444/2902) pdftract-core content_stream::tests::test_text_matrix_origin
PASS [ 0.015s] ( 445/2902) pdftract-core content_stream::tests::test_resource_stack_push_pop
PASS [ 0.007s] ( 446/2902) pdftract-core content_stream::tests::test_text_matrix_set_tm
PASS [ 0.010s] ( 447/2902) pdftract-core content_stream::tests::test_td_sets_leading_and_translates
PASS [ 0.008s] ( 448/2902) pdftract-core content_stream::tests::test_tf_with_negative_size_clamps_to_one
PASS [ 0.010s] ( 449/2902) pdftract-core content_stream::tests::test_text_matrix_new
PASS [ 0.008s] ( 450/2902) pdftract-core content_stream::tests::test_tf_with_unknown_font_emits_diagnostic
PASS [ 0.015s] ( 451/2902) pdftract-core content_stream::tests::test_td_chain_accumulates_translation
PASS [ 0.010s] ( 452/2902) pdftract-core content_stream::tests::test_tj_array_with_large_positive_kerning
PASS [ 0.008s] ( 453/2902) pdftract-core content_stream::tests::test_tj_array_with_negative_kerning
PASS [ 0.007s] ( 454/2902) pdftract-core content_stream::tests::test_tj_between_blocks_emits_diagnostic
PASS [ 0.009s] ( 455/2902) pdftract-core content_stream::tests::test_tj_array_with_multiple_large_kerns
PASS [ 0.009s] ( 456/2902) pdftract-core content_stream::tests::test_tj_empty_array
PASS [ 0.011s] ( 457/2902) pdftract-core content_stream::tests::test_tj_array_with_strings_only
PASS [ 0.007s] ( 458/2902) pdftract-core content_stream::tests::test_tj_outside_bt_emits_diagnostic
PASS [ 0.012s] ( 459/2902) pdftract-core content_stream::tests::test_tj_array_with_zero_kerning
PASS [ 0.011s] ( 460/2902) pdftract-core content_stream::tests::test_tj_inside_bt_works
PASS [ 0.008s] ( 461/2902) pdftract-core content_stream::tests::test_tj_without_bt_emits_diagnostic
PASS [ 0.008s] ( 462/2902) pdftract-core content_stream::tests::test_tj_with_kerning_at_threshold
PASS [ 0.018s] ( 463/2902) pdftract-core content_stream::tests::test_tf_with_zero_size_clamps_to_one
PASS [ 0.007s] ( 464/2902) pdftract-core content_stream::tests::test_tl_operator_sets_leading
PASS [ 0.008s] ( 465/2902) pdftract-core content_stream::tests::test_tj_without_bt_no_glyphs
PASS [ 0.011s] ( 466/2902) pdftract-core content_stream::tests::test_tj_with_kerning_just_above_threshold
PASS [ 0.007s] ( 467/2902) pdftract-core content_stream::tests::test_tr_operator_sets_text_rendering_mode
PASS [ 0.008s] ( 468/2902) pdftract-core content_stream::tests::test_tm_followed_by_td_is_relative_to_tm
PASS [ 0.009s] ( 469/2902) pdftract-core content_stream::tests::test_tr_nine_clamps_to_seven_with_diagnostic
PASS [ 0.009s] ( 470/2902) pdftract-core content_stream::tests::test_ts_operator_sets_text_rise
PASS [ 0.007s] ( 471/2902) pdftract-core content_stream::tests::test_tstar_with_zero_leading_emits_diagnostic
PASS [ 0.007s] ( 472/2902) pdftract-core content_stream::tests::test_tw_operator_sets_word_spacing
PASS [ 0.007s] ( 473/2902) pdftract-core content_stream::tests::test_tz_negative_clamps_to_one
PASS [ 0.008s] ( 474/2902) pdftract-core content_stream::tests::test_tz_positive_value_sets_horiz_scaling
PASS [ 0.014s] ( 475/2902) pdftract-core content_stream::tests::test_tr_zero_to_seven_valid
PASS [ 0.009s] ( 476/2902) pdftract-core content_stream::tests::test_tz_zero_clamps_to_one_and_emits_diagnostic
PASS [ 0.007s] ( 477/2902) pdftract-core decoder::jbig2::tests::test_extract_globals_ref_with_invalid_type
PASS [ 0.006s] ( 478/2902) pdftract-core decoder::jbig2::tests::test_jbig2_globals_ref_const
PASS [ 0.010s] ( 479/2902) pdftract-core decoder::jbig2::tests::test_emit_unsupported_diagnostic_when_feature_disabled
PASS [ 0.007s] ( 480/2902) pdftract-core decoder::jbig2::tests::test_jbig2_decoder_const
PASS [ 0.009s] ( 481/2902) pdftract-core decoder::jbig2::tests::test_extract_globals_ref_with_valid_ref
PASS [ 0.010s] ( 482/2902) pdftract-core decoder::jpx::tests::test_emit_invalid_magic_diagnostic
PASS [ 0.011s] ( 483/2902) pdftract-core decoder::jbig2::tests::test_extract_globals_ref_without_globals
PASS [ 0.015s] ( 484/2902) pdftract-core content_stream::tests::test_underflow_diagnostic_emitted_for_stray_q
PASS [ 0.007s] ( 485/2902) pdftract-core decoder::jpx::tests::test_has_jpx_support_with_full_render
PASS [ 0.021s] ( 486/2902) pdftract-core content_stream::tests::test_tstar_after_td_uses_saved_leading
PASS [ 0.010s] ( 487/2902) pdftract-core decoder::jpx::tests::test_has_full_render
PASS [ 0.007s] ( 488/2902) pdftract-core decoder::jpx::tests::test_jpx_decoder_const
PASS [ 0.008s] ( 489/2902) pdftract-core decoder::jpx::tests::test_jpx_decoder_read_trait
PASS [ 0.007s] ( 490/2902) pdftract-core decoder::jpx::tests::test_validate_jp2_magic_with_corrupt_signature
PASS [ 0.015s] ( 491/2902) pdftract-core decoder::jpx::tests::test_has_libopenjp2_runtime_check
PASS [ 0.015s] ( 492/2902) pdftract-core decoder::jpx::tests::test_jp2_signature_constant
PASS [ 0.011s] ( 493/2902) pdftract-core decoder::jpx::tests::test_jpx_decoder_is_send_sync
PASS [ 0.014s] ( 494/2902) pdftract-core decoder::jpx::tests::test_jp2_signature_roundtrip
PASS [ 0.012s] ( 495/2902) pdftract-core decoder::jpx::tests::test_raw_j2k_codestream_not_valid_jp2
PASS [ 0.011s] ( 496/2902) pdftract-core decoder::jpx::tests::test_validate_jp2_magic_with_empty_data
PASS [ 0.007s] ( 497/2902) pdftract-core decoder::jpx::tests::test_validate_jp2_magic_with_raw_j2k
PASS [ 0.007s] ( 498/2902) pdftract-core decoder::jpx::tests::test_validate_jp2_magic_with_truncated_data
PASS [ 0.008s] ( 499/2902) pdftract-core decoder::jpx::tests::test_validate_jp2_magic_with_valid_jp2
PASS [ 0.008s] ( 500/2902) pdftract-core detection::tests::test_detect_conformance_malformed
PASS [ 0.008s] ( 501/2902) pdftract-core detection::tests::test_detect_conformance_pdf_a_1b
PASS [ 0.008s] ( 502/2902) pdftract-core detection::tests::test_detect_javascript_no_javascript
PASS [ 0.016s] ( 503/2902) pdftract-core detection::tests::test_detect_conformance_none
PASS [ 0.012s] ( 504/2902) pdftract-core detection::tests::test_detect_javascript_with_annotation_js
PASS [ 0.034s] ( 505/2902) pdftract-core decoder::jpx::tests::test_emit_unsupported_diagnostic_message_content
PASS [ 0.012s] ( 506/2902) pdftract-core detection::tests::test_detect_javascript_with_acroform_field_js
PASS [ 0.012s] ( 507/2902) pdftract-core detection::tests::test_detect_javascript_with_catalog_aa_js
PASS [ 0.016s] ( 508/2902) pdftract-core detection::tests::test_detect_javascript_empty
PASS [ 0.008s] ( 509/2902) pdftract-core detection::tests::test_detect_javascript_with_page_aa_js
PASS [ 0.009s] ( 510/2902) pdftract-core detection::tests::test_detect_xfa_no_xfa_key
PASS [ 0.016s] ( 511/2902) pdftract-core detection::tests::test_detect_javascript_with_catalog_openaction_js
PASS [ 0.011s] ( 512/2902) pdftract-core detection::tests::test_detect_xfa_none
PASS [ 0.041s] ( 513/2902) pdftract-core decoder::jpx::tests::test_emit_unsupported_diagnostic_when_no_support
PASS [ 0.008s] ( 514/2902) pdftract-core detection::tests::test_detect_xfa_present
PASS [ 0.008s] ( 515/2902) pdftract-core detection::tests::test_has_js_action_no_js
PASS [ 0.009s] ( 516/2902) pdftract-core detection::tests::test_has_js_action_with_s_javascript
PASS [ 0.007s] ( 517/2902) pdftract-core diagnostics::collector_tests::test_collector_emit
PASS [ 0.011s] ( 518/2902) pdftract-core detection::tests::test_has_js_action_with_s_js
PASS [ 0.011s] ( 519/2902) pdftract-core detection::tests::test_detect_xfa_null
PASS [ 0.011s] ( 520/2902) pdftract-core diagnostics::collector_tests::test_collector_clone
PASS [ 0.012s] ( 521/2902) pdftract-core detection::tests::test_detect_xfa_with_array
PASS [ 0.009s] ( 522/2902) pdftract-core diagnostics::collector_tests::test_collector_emit_with_message
PASS [ 0.008s] ( 523/2902) pdftract-core diagnostics::collector_tests::test_collector_thread_safety
PASS [ 0.008s] ( 524/2902) pdftract-core diagnostics::tests::test_catalog_complete
PASS [ 0.007s] ( 525/2902) pdftract-core diagnostics::tests::test_diag_code_name
PASS [ 0.009s] ( 526/2902) pdftract-core diagnostics::tests::test_diag_code_category
PASS [ 0.011s] ( 527/2902) pdftract-core diagnostics::collector_tests::test_collector_new
PASS [ 0.012s] ( 528/2902) pdftract-core diagnostics::collector_tests::test_collector_emit_with_offset
PASS [ 0.010s] ( 529/2902) pdftract-core diagnostics::tests::test_diagnostic_display
PASS [ 0.008s] ( 530/2902) pdftract-core diagnostics::tests::test_diagnostic_severity
PASS [ 0.007s] ( 531/2902) pdftract-core diagnostics::tests::test_diagnostic_with_dynamic
PASS [ 0.007s] ( 532/2902) pdftract-core diagnostics::tests::test_diagnostic_with_static
PASS [ 0.012s] ( 533/2902) pdftract-core diagnostics::tests::test_diag_code_recoverable
PASS [ 0.013s] ( 534/2902) pdftract-core diagnostics::tests::test_diag_code_severity
PASS [ 0.007s] ( 535/2902) pdftract-core diagnostics::tests::test_diagnostic_with_static_no_offset
PASS [ 0.009s] ( 536/2902) pdftract-core diagnostics::tests::test_diagnostic_with_object_ref
PASS [ 0.009s] ( 537/2902) pdftract-core diagnostics::tests::test_emit_macro_basic
PASS [ 0.013s] ( 538/2902) pdftract-core diagnostics::tests::test_diagnostic_size
PASS [ 0.008s] ( 539/2902) pdftract-core diagnostics::tests::test_emit_macro_with_object_ref
PASS [ 0.007s] ( 540/2902) pdftract-core diagnostics::tests::test_severity_display
PASS [ 0.008s] ( 541/2902) pdftract-core diagnostics::tests::test_obj_ref_display
PASS [ 0.007s] ( 542/2902) pdftract-core diagnostics::tests::test_obj_ref_new
FAIL [ 0.009s] ( 543/2902) pdftract-core document::tests::test_extract_spans_from_page
stdout ───
running 1 test
test document::tests::test_extract_spans_from_page ... FAILED
failures:
failures:
document::tests::test_extract_spans_from_page
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'document::tests::test_extract_spans_from_page' (1390867) panicked at crates/pdftract-core/src/document.rs:1216:59:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.018s] ( 544/2902) pdftract-core diagnostics::tests::test_emit_macro_with_message
FAIL [ 0.008s] ( 545/2902) pdftract-core document::tests::test_parse_pdf_file
stdout ───
running 1 test
test document::tests::test_parse_pdf_file ... FAILED
failures:
failures:
document::tests::test_parse_pdf_file
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'document::tests::test_parse_pdf_file' (1390869) panicked at crates/pdftract-core/src/document.rs:1183:81:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.007s] ( 546/2902) pdftract-core encryption::aes_128::tests::test_aes_128_decrypt_exact_iv_only
PASS [ 0.011s] ( 547/2902) pdftract-core document::tests::test_find_startxref
PASS [ 0.008s] ( 548/2902) pdftract-core encryption::aes_128::tests::test_aes_128_decrypt_invalid_length
PASS [ 0.016s] ( 549/2902) pdftract-core diagnostics::tests::test_emit_macro_with_offset
PASS [ 0.011s] ( 550/2902) pdftract-core encryption::aes_128::tests::test_aes_128_decrypt_empty_data
PASS [ 0.014s] ( 551/2902) pdftract-core document::tests::test_extract_spans_out_of_bounds
PASS [ 0.010s] ( 552/2902) pdftract-core encryption::aes_128::tests::test_aes_128_decrypt_roundtrip
FAIL [ 0.018s] ( 553/2902) pdftract-core document::tests::test_compute_pdf_fingerprint
stdout ───
running 1 test
test document::tests::test_compute_pdf_fingerprint ... FAILED
failures:
failures:
document::tests::test_compute_pdf_fingerprint
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'document::tests::test_compute_pdf_fingerprint' (1390878) panicked at crates/pdftract-core/src/document.rs:1200:62:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.007s] ( 554/2902) pdftract-core encryption::aes_128::tests::test_derive_aes_128_object_key_different_objects
PASS [ 0.007s] ( 555/2902) pdftract-core encryption::aes_128::tests::test_derive_aes_128_object_key_generation_affects_key
PASS [ 0.007s] ( 556/2902) pdftract-core encryption::aes_128::tests::test_derive_aes_128_object_key_same_object
PASS [ 0.009s] ( 557/2902) pdftract-core encryption::aes_256::tests::test_aes_256_decrypt_basic
PASS [ 0.013s] ( 558/2902) pdftract-core encryption::aes_128::tests::test_aes_salt_constant
PASS [ 0.013s] ( 559/2902) pdftract-core encryption::aes_128::tests::test_aes_block_size_constant
PASS [ 0.016s] ( 560/2902) pdftract-core encryption::aes_128::tests::test_aes_128_decrypt_too_short
PASS [ 0.012s] ( 561/2902) pdftract-core encryption::aes_128::tests::test_is_identity_filter
PASS [ 0.007s] ( 562/2902) pdftract-core encryption::aes_256::tests::test_file_key_result_wrong_password
PASS [ 0.007s] ( 563/2902) pdftract-core encryption::aes_256::tests::test_decrypt_stream_too_short
PASS [ 0.013s] ( 564/2902) pdftract-core encryption::aes_256::tests::test_aes256_decryptor_new_valid
PASS [ 0.016s] ( 565/2902) pdftract-core encryption::aes_256::tests::test_aes256_decryptor_new_invalid_user_hash_length
PASS [ 0.007s] ( 566/2902) pdftract-core encryption::decryptor::tests::test_decryption_error_to_diag_code
PASS [ 0.013s] ( 567/2902) pdftract-core encryption::aes_256::tests::test_file_key_result_is_success
PASS [ 0.009s] ( 568/2902) pdftract-core encryption::detection::tests::test_invalid_o_length_emits_diagnostic
PASS [ 0.009s] ( 569/2902) pdftract-core encryption::detection::tests::test_missing_id
PASS [ 0.012s] ( 570/2902) pdftract-core encryption::decryptor::tests::test_password_validation_equality
PASS [ 0.012s] ( 571/2902) pdftract-core encryption::detection::tests::test_all_v_r_combinations
PASS [ 0.009s] ( 572/2902) pdftract-core encryption::detection::tests::test_non_standard_filter_emits_diagnostic
PASS [ 0.010s] ( 573/2902) pdftract-core encryption::detection::tests::test_no_encrypt_key
PASS [ 0.007s] ( 574/2902) pdftract-core encryption::detection::tests::test_v4_crypt_filters
PASS [ 0.022s] ( 575/2902) pdftract-core encryption::aes_256::tests::test_compute_password_hash_basic
PASS [ 0.008s] ( 576/2902) pdftract-core encryption::detection::tests::test_v5_invalid_hash_length_emits_diagnostic
PASS [ 0.017s] ( 577/2902) pdftract-core encryption::detection::tests::test_invalid_u_length_emits_diagnostic
PASS [ 0.013s] ( 578/2902) pdftract-core encryption::detection::tests::test_v1_r2_rc4_40
PASS [ 0.009s] ( 579/2902) pdftract-core encryption::rc4::tests::test_derive_file_key_128_bit
PASS [ 0.008s] ( 580/2902) pdftract-core encryption::rc4::tests::test_derive_file_key_short_document_id
PASS [ 0.007s] ( 581/2902) pdftract-core encryption::rc4::tests::test_derive_object_key
PASS [ 0.007s] ( 582/2902) pdftract-core encryption::rc4::tests::test_file_key_result_is_success
PASS [ 0.010s] ( 583/2902) pdftract-core encryption::rc4::tests::test_decrypt_object_roundtrip
PASS [ 0.007s] ( 584/2902) pdftract-core encryption::rc4::tests::test_file_key_result_wrong_password
PASS [ 0.013s] ( 585/2902) pdftract-core encryption::rc4::tests::test_derive_file_key_basic
PASS [ 0.007s] ( 586/2902) pdftract-core encryption::rc4::tests::test_password_padding_exact
PASS [ 0.016s] ( 587/2902) pdftract-core encryption::rc4::tests::test_derive_file_key_invalid_key_length
PASS [ 0.007s] ( 588/2902) pdftract-core encryption::rc4::tests::test_password_padding_all_bytes
PASS [ 0.007s] ( 589/2902) pdftract-core encryption::rc4::tests::test_password_padding_short
PASS [ 0.008s] ( 590/2902) pdftract-core encryption::rc4::tests::test_password_padding_long
PASS [ 0.011s] ( 591/2902) pdftract-core encryption::rc4::tests::test_password_padding_empty
PASS [ 0.020s] ( 592/2902) pdftract-core encryption::detection::tests::test_v5_r6_aes_256
PASS [ 0.008s] ( 593/2902) pdftract-core encryption::rc4::tests::test_rc4_decrypt_long_key
PASS [ 0.008s] ( 594/2902) pdftract-core encryption::rc4::tests::test_rc4_different_objects_different_keys
PASS [ 0.013s] ( 595/2902) pdftract-core encryption::rc4::tests::test_rc4_decrypt_empty_data
PASS [ 0.011s] ( 596/2902) pdftract-core encryption::rc4::tests::test_rc4_decrypt_roundtrip
PASS [ 0.007s] ( 597/2902) pdftract-core encryption::rc4::tests::test_validate_user_password_r2
PASS [ 0.011s] ( 598/2902) pdftract-core encryption::rc4::tests::test_rc4_same_object_same_key
PASS [ 0.011s] ( 599/2902) pdftract-core encryption::rc4::tests::test_validate_user_password_r2_wrong_password
FAIL [ 0.009s] ( 600/2902) pdftract-core extract::tests::test_extract_pdf_with_receipts_lite
stdout ───
running 1 test
test extract::tests::test_extract_pdf_with_receipts_lite ... FAILED
failures:
failures:
extract::tests::test_extract_pdf_with_receipts_lite
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'extract::tests::test_extract_pdf_with_receipts_lite' (1390980) panicked at crates/pdftract-core/src/extract.rs:2814:55:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.011s] ( 601/2902) pdftract-core encryption::tests::test_decrypt_error_to_diag_code
PASS [ 0.012s] ( 602/2902) pdftract-core encryption::rc4::tests::test_rc4_generation_affects_key
FAIL [ 0.008s] ( 603/2902) pdftract-core extract::tests::test_extract_pdf_with_receipts_off
stdout ───
running 1 test
test extract::tests::test_extract_pdf_with_receipts_off ... FAILED
failures:
failures:
extract::tests::test_extract_pdf_with_receipts_off
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'extract::tests::test_extract_pdf_with_receipts_off' (1390979) panicked at crates/pdftract-core/src/extract.rs:2792:55:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAIL [ 0.009s] ( 604/2902) pdftract-core extract::tests::test_extract_pdf_with_receipts_svg
stdout ───
running 1 test
test extract::tests::test_extract_pdf_with_receipts_svg ... FAILED
failures:
failures:
extract::tests::test_extract_pdf_with_receipts_svg
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'extract::tests::test_extract_pdf_with_receipts_svg' (1390988) panicked at crates/pdftract-core/src/extract.rs:2842:55:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.012s] ( 605/2902) pdftract-core encryption::tests::test_decrypt_error_to_diagnostic
FAIL [ 0.008s] ( 606/2902) pdftract-core extract::tests::test_extraction_metadata
stdout ───
running 1 test
test extract::tests::test_extraction_metadata ... FAILED
failures:
failures:
extract::tests::test_extraction_metadata
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'extract::tests::test_extraction_metadata' (1390991) panicked at crates/pdftract-core/src/extract.rs:2914:55:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.010s] ( 607/2902) pdftract-core extract::tests::test_extraction_result_assert_exit_code_error_message
PASS [ 0.010s] ( 608/2902) pdftract-core extract::tests::test_extraction_result_assert_exit_code_mismatch
FAIL [ 0.008s] ( 609/2902) pdftract-core extract::tests::test_result_to_json_format
stdout ───
running 1 test
test extract::tests::test_result_to_json_format ... FAILED
failures:
failures:
extract::tests::test_result_to_json_format
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'extract::tests::test_result_to_json_format' (1391000) panicked at crates/pdftract-core/src/extract.rs:2864:55:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAIL [ 0.008s] ( 610/2902) pdftract-core extract::tests::test_result_to_json_includes_signatures
stdout ───
running 1 test
test extract::tests::test_result_to_json_includes_signatures ... FAILED
failures:
failures:
extract::tests::test_result_to_json_includes_signatures
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'extract::tests::test_result_to_json_includes_signatures' (1390999) panicked at crates/pdftract-core/src/extract.rs:2928:55:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAIL [ 0.008s] ( 611/2902) pdftract-core extract::tests::test_result_to_json_with_receipts
stdout ───
running 1 test
test extract::tests::test_result_to_json_with_receipts ... FAILED
failures:
failures:
extract::tests::test_result_to_json_with_receipts
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'extract::tests::test_result_to_json_with_receipts' (1391001) panicked at crates/pdftract-core/src/extract.rs:2887:55:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.008s] ( 612/2902) pdftract-core extract::tests::test_signature_json_validation_status_enum
PASS [ 0.012s] ( 613/2902) pdftract-core extract::tests::test_signature_json_schema_round_trip
FAIL [ 0.010s] ( 614/2902) pdftract-core extract::tests::test_signatures_always_not_checked
stdout ───
running 1 test
test extract::tests::test_signatures_always_not_checked ... FAILED
failures:
failures:
extract::tests::test_signatures_always_not_checked
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'extract::tests::test_signatures_always_not_checked' (1391007) panicked at crates/pdftract-core/src/extract.rs:2949:55:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAIL [ 0.009s] ( 615/2902) pdftract-core extract::tests::test_tagged_pdf_emits_deferred_diagnostic
stdout ───
running 1 test
test extract::tests::test_tagged_pdf_emits_deferred_diagnostic ... FAILED
failures:
failures:
extract::tests::test_tagged_pdf_emits_deferred_diagnostic
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'extract::tests::test_tagged_pdf_emits_deferred_diagnostic' (1391008) panicked at crates/pdftract-core/src/extract.rs:3029:55:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.013s] ( 616/2902) pdftract-core extract::tests::test_extraction_result_assert_exit_code_success
PASS [ 0.009s] ( 617/2902) pdftract-core fingerprint::canonicalize::tests::test_canonicalize_f64_bankers_rounding
PASS [ 0.007s] ( 618/2902) pdftract-core fingerprint::canonicalize::tests::test_canonicalize_f64_critical_cases
FAIL [ 0.011s] ( 619/2902) pdftract-core extract::tests::test_untagged_pdf_no_deferred_diagnostic
stdout ───
running 1 test
test extract::tests::test_untagged_pdf_no_deferred_diagnostic ... FAILED
failures:
failures:
extract::tests::test_untagged_pdf_no_deferred_diagnostic
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'extract::tests::test_untagged_pdf_no_deferred_diagnostic' (1391015) panicked at crates/pdftract-core/src/extract.rs:3054:55:
called `Result::unwrap()` on an `Err` value: No /Root reference in trailer
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.008s] ( 620/2902) pdftract-core fingerprint::canonicalize::tests::test_canonicalize_f64_nan_inf
PASS [ 0.017s] ( 621/2902) pdftract-core extract::tests::test_extraction_result_assert_exit_code_with_errors
PASS [ 0.010s] ( 622/2902) pdftract-core fingerprint::canonicalize::tests::test_canonicalize_f64_basic
PASS [ 0.007s] ( 623/2902) pdftract-core fingerprint::canonicalize::tests::test_normalize_content_stream_empty
PASS [ 0.011s] ( 624/2902) pdftract-core fingerprint::canonicalize::tests::test_hash_resource_dict_canonical_none
PASS [ 0.009s] ( 625/2902) pdftract-core fingerprint::canonicalize::tests::test_normalize_content_stream_complex
PASS [ 0.009s] ( 626/2902) pdftract-core fingerprint::canonicalize::tests::test_normalize_content_stream_whitespace_variants
PASS [ 0.016s] ( 627/2902) pdftract-core fingerprint::canonicalize::tests::test_hash_resource_dict_canonical_empty
PASS [ 0.013s] ( 628/2902) pdftract-core fingerprint::canonicalize::tests::test_inv8_no_panics
PASS [ 0.010s] ( 629/2902) pdftract-core fingerprint::canonicalize::tests::test_normalize_content_stream_comments_dropped
PASS [ 0.013s] ( 630/2902) pdftract-core fingerprint::canonicalize::tests::test_hash_resource_dict_canonical_order_independence
PASS [ 0.009s] ( 631/2902) pdftract-core fingerprint::canonicalize::tests::test_normalize_content_stream_idempotent
PASS [ 0.014s] ( 632/2902) pdftract-core fingerprint::canonicalize::tests::test_normalize_content_stream_basic
PASS [ 0.008s] ( 633/2902) pdftract-core fingerprint::canonicalize::tests::test_serialize_dict_canonical_nested
PASS [ 0.008s] ( 634/2902) pdftract-core fingerprint::canonicalize::tests::test_serialize_object_canonical_array
FAIL [ 0.009s] ( 635/2902) pdftract-core fingerprint::canonicalize::tests::test_serialize_dict_canonical_sorted
stdout ───
running 1 test
test fingerprint::canonicalize::tests::test_serialize_dict_canonical_sorted ... FAILED
failures:
failures:
fingerprint::canonicalize::tests::test_serialize_dict_canonical_sorted
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'fingerprint::canonicalize::tests::test_serialize_dict_canonical_sorted' (1391049) panicked at crates/pdftract-core/src/fingerprint/canonicalize.rs:553:9:
assertion failed: bytes.windows(3).any(|w| w == b"/M 2")
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.007s] ( 636/2902) pdftract-core fingerprint::tests::test_catalog_flags_all_set
PASS [ 0.007s] ( 637/2902) pdftract-core fingerprint::tests::test_catalog_flags_encode
PASS [ 0.007s] ( 638/2902) pdftract-core fingerprint::tests::test_compute_fingerprint_different_flags
PASS [ 0.009s] ( 639/2902) pdftract-core fingerprint::canonicalize::tests::test_serialize_token_real
FAIL [ 0.011s] ( 640/2902) pdftract-core fingerprint::canonicalize::tests::test_serialize_object_canonical_dict
stdout ───
running 1 test
test fingerprint::canonicalize::tests::test_serialize_object_canonical_dict ... FAILED
failures:
failures:
fingerprint::canonicalize::tests::test_serialize_object_canonical_dict
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'fingerprint::canonicalize::tests::test_serialize_object_canonical_dict' (1391058) panicked at crates/pdftract-core/src/fingerprint/canonicalize.rs:648:9:
assertion failed: result.windows(3).any(|w| w == b"/A 1")
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.010s] ( 641/2902) pdftract-core fingerprint::canonicalize::tests::test_serialize_object_canonical_real
PASS [ 0.011s] ( 642/2902) pdftract-core fingerprint::canonicalize::tests::test_serialize_token_basic
PASS [ 0.012s] ( 643/2902) pdftract-core fingerprint::canonicalize::tests::test_serialize_token_string
PASS [ 0.012s] ( 644/2902) pdftract-core fingerprint::tests::test_catalog_flags_none_set
PASS [ 0.007s] ( 645/2902) pdftract-core fingerprint::tests::test_compute_fingerprint_different_geometry
PASS [ 0.010s] ( 646/2902) pdftract-core fingerprint::tests::test_compute_fingerprint_different_page_count
PASS [ 0.009s] ( 647/2902) pdftract-core fingerprint::tests::test_round_to_fixed_4dp
PASS [ 0.012s] ( 648/2902) pdftract-core fingerprint::tests::test_compute_fingerprint_inv3_reproducibility
PASS [ 0.010s] ( 649/2902) pdftract-core fingerprint::tests::test_hash_resource_dict_with_fonts
PASS [ 0.008s] ( 650/2902) pdftract-core fingerprint::tests::test_round_to_fixed_4dp_critical_cases
PASS [ 0.012s] ( 651/2902) pdftract-core fingerprint::tests::test_hash_resource_dict_sorted_order
PASS [ 0.010s] ( 652/2902) pdftract-core fingerprint::tests::test_inv13_multiple_outputs_match_format
PASS [ 0.012s] ( 653/2902) pdftract-core fingerprint::tests::test_compute_fingerprint_simple
PASS [ 0.014s] ( 654/2902) pdftract-core fingerprint::tests::test_fingerprint_version_prefix
PASS [ 0.013s] ( 655/2902) pdftract-core fingerprint::tests::test_inv13_fingerprint_format
PASS [ 0.013s] ( 656/2902) pdftract-core fingerprint::tests::test_performance_100_page_pdf
PASS [ 0.010s] ( 657/2902) pdftract-core fingerprint::tests::test_serialize_pdf_array_canonical
PASS [ 0.008s] ( 658/2902) pdftract-core fingerprint::tests::test_serialize_pdf_object_canonical
PASS [ 0.008s] ( 659/2902) pdftract-core font::agl::tests::test_agl_multi_ff
PASS [ 0.007s] ( 660/2902) pdftract-core font::agl::tests::test_agl_multi_ffi
PASS [ 0.010s] ( 661/2902) pdftract-core fingerprint::tests::test_serialize_pdf_dict_canonical
PASS [ 0.008s] ( 662/2902) pdftract-core font::agl::tests::test_agl_multi_fl
PASS [ 0.008s] ( 663/2902) pdftract-core font::agl::tests::test_agl_multi_unknown
PASS [ 0.009s] ( 664/2902) pdftract-core font::agl::tests::test_agl_multi_hebrew
PASS [ 0.007s] ( 665/2902) pdftract-core font::agl::tests::test_agl_punctuation
PASS [ 0.007s] ( 666/2902) pdftract-core font::agl::tests::test_agl_quotes
PASS [ 0.007s] ( 667/2902) pdftract-core font::agl::tests::test_agl_quoteright
PASS [ 0.015s] ( 668/2902) pdftract-core font::agl::tests::test_agl_multi_fi
PASS [ 0.009s] ( 669/2902) pdftract-core font::agl::tests::test_agl_u1f600
PASS [ 0.020s] ( 670/2902) pdftract-core fingerprint::tests::test_zero_hash_const
PASS [ 0.008s] ( 671/2902) pdftract-core font::agl::tests::test_agl_uni20ac
PASS [ 0.020s] ( 672/2902) pdftract-core font::agl::tests::test_agl_euro
PASS [ 0.008s] ( 673/2902) pdftract-core font::agl::tests::test_agl_unknown
PASS [ 0.022s] ( 674/2902) pdftract-core font::agl::tests::test_agl_basic_letters
PASS [ 0.007s] ( 675/2902) pdftract-core font::agl::tests::test_algorithmic_with_hash_prefix
PASS [ 0.008s] ( 676/2902) pdftract-core font::agl::tests::test_multi_lookup_single_returns_none
PASS [ 0.011s] ( 677/2902) pdftract-core font::agl::tests::test_agl_variant_stripping
PASS [ 0.007s] ( 678/2902) pdftract-core font::agl::tests::test_strip_variant_suffix
PASS [ 0.008s] ( 679/2902) pdftract-core font::agl::tests::test_variant_stripping_with_multi
PASS [ 0.008s] ( 680/2902) pdftract-core font::cmap::tests::test_bfrange_invalid_range
PASS [ 0.013s] ( 681/2902) pdftract-core font::agl::tests::test_parse_algorithmic_u
PASS [ 0.008s] ( 682/2902) pdftract-core font::cmap::tests::test_bfrange_multi_codepoint_dst_contiguous
PASS [ 0.011s] ( 683/2902) pdftract-core font::agl::tests::test_parse_algorithmic_uni
PASS [ 0.008s] ( 684/2902) pdftract-core font::cmap::tests::test_odd_length_utf16_emits_diagnostic
PASS [ 0.010s] ( 685/2902) pdftract-core font::cmap::tests::test_parse_bfchar_multi_codepoint_expansion
PASS [ 0.014s] ( 686/2902) pdftract-core font::cmap::tests::test_invalid_utf16_produces_replacement
PASS [ 0.008s] ( 687/2902) pdftract-core font::cmap::tests::test_parse_bfrange_contiguous
PASS [ 0.009s] ( 688/2902) pdftract-core font::cmap::tests::test_parse_comments
PASS [ 0.008s] ( 689/2902) pdftract-core font::cmap::tests::test_parse_convenience_function
PASS [ 0.013s] ( 690/2902) pdftract-core font::cmap::tests::test_parse_bfchar_fb01_ligature
PASS [ 0.007s] ( 691/2902) pdftract-core font::cmap::tests::test_parse_empty_destination
PASS [ 0.019s] ( 692/2902) pdftract-core font::cmap::tests::test_bfrange_array_length_mismatch
PASS [ 0.016s] ( 693/2902) pdftract-core font::cmap::tests::test_parse_bfchar_ligature
PASS [ 0.011s] ( 694/2902) pdftract-core font::cmap::tests::test_parse_empty_cmap
PASS [ 0.014s] ( 695/2902) pdftract-core font::cmap::tests::test_parse_bfrange_explicit_array
PASS [ 0.008s] ( 696/2902) pdftract-core font::cmap::tests::test_usecmap_emits_diagnostic
PASS [ 0.009s] ( 697/2902) pdftract-core font::cmap::tests::test_parse_variable_width_source
PASS [ 0.010s] ( 698/2902) pdftract-core font::cmap::tests::test_parse_single_bfchar
PASS [ 0.008s] ( 699/2902) pdftract-core font::codespace::tests::test_convenience_function
PASS [ 0.010s] ( 700/2902) pdftract-core font::codespace::tests::test_convenience_function_with_diags
PASS [ 0.007s] ( 701/2902) pdftract-core font::codespace::tests::test_find_range
PASS [ 0.007s] ( 702/2902) pdftract-core font::codespace::tests::test_four_byte_range
PASS [ 0.014s] ( 703/2902) pdftract-core font::cmap::tests::test_parse_multiple_bfchar
PASS [ 0.013s] ( 704/2902) pdftract-core font::codespace::tests::test_comment_in_block
FAIL [ 0.008s] ( 705/2902) pdftract-core font::codespace::tests::test_hex_string_with_whitespace
stdout ───
running 1 test
test font::codespace::tests::test_hex_string_with_whitespace ... FAILED
failures:
failures:
font::codespace::tests::test_hex_string_with_whitespace
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'font::codespace::tests::test_hex_string_with_whitespace' (1391191) panicked at crates/pdftract-core/src/font/codespace.rs:662:9:
assertion `left == right` failed
left: 0
right: 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.015s] ( 706/2902) pdftract-core font::codespace::tests::test_case_insensitive_hex
PASS [ 0.008s] ( 707/2902) pdftract-core font::codespace::tests::test_identity_h_roundtrip
PASS [ 0.007s] ( 708/2902) pdftract-core font::codespace::tests::test_identity_v_roundtrip
PASS [ 0.007s] ( 709/2902) pdftract-core font::codespace::tests::test_malformed_range_width_mismatch
PASS [ 0.016s] ( 710/2902) pdftract-core font::codespace::tests::test_empty_cmap
PASS [ 0.013s] ( 711/2902) pdftract-core font::codespace::tests::test_invalid_width_too_large
PASS [ 0.011s] ( 712/2902) pdftract-core font::codespace::tests::test_jis_range
PASS [ 0.010s] ( 713/2902) pdftract-core font::codespace::tests::test_no_codespace_block
PASS [ 0.008s] ( 714/2902) pdftract-core font::codespace::tests::test_parse_single_range_one_byte
PASS [ 0.011s] ( 715/2902) pdftract-core font::codespace::tests::test_odd_length_hex_string
PASS [ 0.010s] ( 716/2902) pdftract-core font::codespace::tests::test_parse_two_ranges_mixed_width
PASS [ 0.010s] ( 717/2902) pdftract-core font::codespace::tests::test_three_byte_range
PASS [ 0.008s] ( 718/2902) pdftract-core font::embedded::tests::test_embedded_font_load_from_dict
PASS [ 0.011s] ( 719/2902) pdftract-core font::embedded::tests::test_corrupt_font_emits_diagnostic
PASS [ 0.009s] ( 720/2902) pdftract-core font::embedded::tests::test_embedded_font_returns_diagnostics
PASS [ 0.010s] ( 721/2902) pdftract-core font::embedded::tests::test_empty_font_metrics_graceful_handling
PASS [ 0.008s] ( 722/2902) pdftract-core font::embedded::tests::test_load_truetype_font_from_fixture
PASS [ 0.010s] ( 723/2902) pdftract-core font::embedded::tests::test_font_metrics_units_per_em_scaling
PASS [ 0.017s] ( 724/2902) pdftract-core font::codespace::tests::test_width_inference
PASS [ 0.007s] ( 725/2902) pdftract-core font::embedded::tests::test_load_truetype_font_missing_cmap
PASS [ 0.017s] ( 726/2902) pdftract-core font::codespace::tests::test_recovery_on_error
PASS [ 0.009s] ( 727/2902) pdftract-core font::embedded::tests::test_opentype_metrics_has_valid_cmap_detection
PASS [ 0.010s] ( 728/2902) pdftract-core font::embedded::tests::test_subset_font_behavior
PASS [ 0.016s] ( 729/2902) pdftract-core font::embedded::tests::test_empty_font_metrics
PASS [ 0.010s] ( 730/2902) pdftract-core font::embedded::tests::test_truetype_glyph_id_for_matches_cmap
PASS [ 0.011s] ( 731/2902) pdftract-core font::embedded::tests::test_type1_limited_capability_no_charstrings
PASS [ 0.010s] ( 732/2902) pdftract-core font::embedded::tests::test_type1_metrics_from_descriptor
PASS [ 0.011s] ( 733/2902) pdftract-core font::embedded::tests::test_type1_metrics_empty
PASS [ 0.008s] ( 734/2902) pdftract-core font::encoding::tests::test_differences_overlay_out_of_range_negative
PASS [ 0.010s] ( 735/2902) pdftract-core font::encoding::tests::test_differences_overlay_default
PASS [ 0.010s] ( 736/2902) pdftract-core font::encoding::tests::test_differences_overlay_empty
PASS [ 0.009s] ( 737/2902) pdftract-core font::encoding::tests::test_differences_overlay_out_of_range_positive
PASS [ 0.014s] ( 738/2902) pdftract-core font::encoding::tests::test_differences_overlay_custom_unmapped_glyph_names
PASS [ 0.010s] ( 739/2902) pdftract-core font::encoding::tests::test_differences_overlay_parse_consecutive
PASS [ 0.008s] ( 740/2902) pdftract-core font::encoding::tests::test_differences_overlay_parse_simple
PASS [ 0.008s] ( 741/2902) pdftract-core font::encoding::tests::test_differences_overlay_skips_notdef_with_slash
PASS [ 0.008s] ( 742/2902) pdftract-core font::encoding::tests::test_font_encoding_glyph_name_no_base
PASS [ 0.008s] ( 743/2902) pdftract-core font::encoding::tests::test_font_encoding_glyph_name_base_only
PASS [ 0.008s] ( 744/2902) pdftract-core font::encoding::tests::test_font_encoding_glyph_name_with_differences
PASS [ 0.021s] ( 745/2902) pdftract-core font::encoding::tests::test_differences_overlay_empty_unmapped_glyph_names
PASS [ 0.010s] ( 746/2902) pdftract-core font::encoding::tests::test_font_encoding_new
PASS [ 0.014s] ( 747/2902) pdftract-core font::encoding::tests::test_differences_overlay_skips_notdef
PASS [ 0.018s] ( 748/2902) pdftract-core font::encoding::tests::test_differences_overlay_parse_multiple_blocks
PASS [ 0.007s] ( 749/2902) pdftract-core font::encoding::tests::test_from_name
PASS [ 0.007s] ( 750/2902) pdftract-core font::encoding::tests::test_standard_0x20_space
PASS [ 0.012s] ( 751/2902) pdftract-core font::encoding::tests::test_font_encoding_lookup_order
PASS [ 0.009s] ( 752/2902) pdftract-core font::encoding::tests::test_table_length
PASS [ 0.013s] ( 753/2902) pdftract-core font::encoding::tests::test_font_encoding_unknown_glyph_name
PASS [ 0.010s] ( 754/2902) pdftract-core font::encoding::tests::test_macroman_0xd2_quotedblleft
PASS [ 0.011s] ( 755/2902) pdftract-core font::encoding::tests::test_symbol_encoding_alpha
PASS [ 0.008s] ( 756/2902) pdftract-core font::encoding::tests::test_unmapped_codes
PASS [ 0.008s] ( 757/2902) pdftract-core font::fingerprint::tests::test_cached_fingerprint_accessors
PASS [ 0.009s] ( 758/2902) pdftract-core font::encoding::tests::test_winansi_0x92_quoteright
PASS [ 0.009s] ( 759/2902) pdftract-core font::fingerprint::tests::test_cached_fingerprint_reuse
PASS [ 0.011s] ( 760/2902) pdftract-core font::fingerprint::tests::test_cached_fingerprint_deterministic
PASS [ 0.012s] ( 761/2902) pdftract-core font::encoding::tests::test_unmapped_glyph_skip_behavior
PASS [ 0.013s] ( 762/2902) pdftract-core font::encoding::tests::test_zapfdingbats_a1
PASS [ 0.009s] ( 763/2902) pdftract-core font::fingerprint::tests::test_font_fingerprint_as_bytes
PASS [ 0.011s] ( 764/2902) pdftract-core font::fingerprint::tests::test_cached_fingerprint_unknown_font
PASS [ 0.015s] ( 765/2902) pdftract-core font::encoding::tests::test_winansi_euro_at_0x80
PASS [ 0.011s] ( 766/2902) pdftract-core font::fingerprint::tests::test_empty_database_compiles
PASS [ 0.010s] ( 767/2902) pdftract-core font::fingerprint::tests::test_fingerprint_different_inputs
PASS [ 0.008s] ( 768/2902) pdftract-core font::fingerprint::tests::test_font_fingerprint_compute
PASS [ 0.011s] ( 769/2902) pdftract-core font::fingerprint::tests::test_font_fingerprint_empty_input
PASS [ 0.007s] ( 770/2902) pdftract-core font::predefined_cmap::tests::test_cid_to_unicode_without_cjk_feature
PASS [ 0.009s] ( 771/2902) pdftract-core font::fingerprint::tests::test_lookup_font_fingerprint_unknown_font
PASS [ 0.011s] ( 772/2902) pdftract-core font::fingerprint::tests::test_hash_stability_across_runs
PASS [ 0.007s] ( 773/2902) pdftract-core font::predefined_cmap::tests::test_from_name_unijis_utf16_h
PASS [ 0.010s] ( 774/2902) pdftract-core font::predefined_cmap::tests::test_from_name_unigb_utf16_h
PASS [ 0.012s] ( 775/2902) pdftract-core font::predefined_cmap::tests::test_all_predefined_names
PASS [ 0.011s] ( 776/2902) pdftract-core font::predefined_cmap::tests::test_from_name_identity_v
PASS [ 0.007s] ( 777/2902) pdftract-core font::predefined_cmap::tests::test_from_name_unknown
PASS [ 0.010s] ( 778/2902) pdftract-core font::predefined_cmap::tests::test_from_name_uniks_utf16_h
PASS [ 0.014s] ( 779/2902) pdftract-core font::predefined_cmap::tests::test_from_name_identity_h
PASS [ 0.008s] ( 780/2902) pdftract-core font::predefined_cmap::tests::test_identity_h_decode_bytes_invalid_length
PASS [ 0.019s] ( 781/2902) pdftract-core font::predefined_cmap::tests::test_from_name_unicns_utf16_h
PASS [ 0.010s] ( 782/2902) pdftract-core font::predefined_cmap::tests::test_identity_h_decode_bytes
PASS [ 0.015s] ( 783/2902) pdftract-core font::predefined_cmap::tests::test_from_name_unijis_utf16_v
PASS [ 0.013s] ( 784/2902) pdftract-core font::predefined_cmap::tests::test_from_name_with_leading_slash
PASS [ 0.024s] ( 785/2902) pdftract-core font::fingerprint::tests::test_lookup_font_fingerprint_different_gids
PASS [ 0.013s] ( 786/2902) pdftract-core font::predefined_cmap::tests::test_identity_h_cid_to_unicode_none
PASS [ 0.009s] ( 787/2902) pdftract-core font::resolver::tests::test_resolve_level1_fallback_on_empty
PASS [ 0.012s] ( 788/2902) pdftract-core font::resolver::tests::test_font_id_from_arc
PASS [ 0.008s] ( 789/2902) pdftract-core font::resolver::tests::test_resolve_level1_fallback_on_fffd
PASS [ 0.008s] ( 790/2902) pdftract-core font::resolver::tests::test_resolve_level1_no_cmap
PASS [ 0.010s] ( 791/2902) pdftract-core font::resolver::tests::test_resolve_level1_ligature
PASS [ 0.008s] ( 792/2902) pdftract-core font::resolver::tests::test_resolve_level2_no_encoding
PASS [ 0.008s] ( 793/2902) pdftract-core font::resolver::tests::test_resolve_level2_unmapped_code
PASS [ 0.012s] ( 794/2902) pdftract-core font::resolver::tests::test_resolve_level1_tounicode
PASS [ 0.008s] ( 795/2902) pdftract-core font::resolver::tests::test_resolve_type3_fallback_to_fffd
PASS [ 0.009s] ( 796/2902) pdftract-core font::resolver::tests::test_resolve_unicode_caching
PASS [ 0.016s] ( 797/2902) pdftract-core font::resolver::tests::test_resolve_level1_not_in_cmap
PASS [ 0.011s] ( 798/2902) pdftract-core font::resolver::tests::test_resolve_type3_with_tounicode
PASS [ 0.008s] ( 799/2902) pdftract-core font::resolver::tests::test_resolve_unicode_full_hit
PASS [ 0.019s] ( 800/2902) pdftract-core font::resolver::tests::test_resolve_level2_agl
PASS [ 0.016s] ( 801/2902) pdftract-core font::resolver::tests::test_resolve_type3_with_agl
PASS [ 0.011s] ( 802/2902) pdftract-core font::resolver::tests::test_resolve_unicode_fallback_chain
PASS [ 0.010s] ( 803/2902) pdftract-core font::resolver::tests::test_resolve_unicode_level3_with_glyph_id
PASS [ 0.022s] ( 804/2902) pdftract-core font::resolver::tests::test_resolve_level2_multi_byte_fails
PASS [ 0.008s] ( 805/2902) pdftract-core font::resolver::tests::test_resolver_cache_basic
PASS [ 0.017s] ( 806/2902) pdftract-core font::resolver::tests::test_resolve_unicode_different_fonts_separate_misses
PASS [ 0.011s] ( 807/2902) pdftract-core font::resolver::tests::test_resolve_unicode_miss_emits_once
PASS [ 0.010s] ( 808/2902) pdftract-core font::resolver::tests::test_resolved_glyph_new
PASS [ 0.012s] ( 809/2902) pdftract-core font::resolver::tests::test_resolved_glyph_failure
PASS [ 0.008s] ( 810/2902) pdftract-core font::resolver::tests::test_unicode_source_confidence
PASS [ 0.009s] ( 811/2902) pdftract-core font::shape::tests::test_frequency_table_parallel_to_shape_table
PASS [ 0.012s] ( 812/2902) pdftract-core font::resolver::tests::test_resolver_cache_miss_tracking
PASS [ 0.010s] ( 813/2902) pdftract-core font::shape::tests::test_hamming_distance_completely_different
PASS [ 0.008s] ( 814/2902) pdftract-core font::shape::tests::test_hamming_distance_multiple_bits
PASS [ 0.008s] ( 815/2902) pdftract-core font::shape::tests::test_hamming_max_constant
PASS [ 0.011s] ( 816/2902) pdftract-core font::shape::tests::test_hamming_distance_one_bit
PASS [ 0.012s] ( 817/2902) pdftract-core font::shape::tests::test_lookup_shape_deterministic
PASS [ 0.016s] ( 818/2902) pdftract-core font::shape::tests::test_hamming_distance_identical
PASS [ 0.009s] ( 819/2902) pdftract-core font::shape::tests::test_lookup_shape_nearest_neighbor
PASS [ 0.013s] ( 820/2902) pdftract-core font::shape::tests::test_lookup_shape_exact_match
PASS [ 0.009s] ( 821/2902) pdftract-core font::shape::tests::test_phash_black_bitmap
PASS [ 0.015s] ( 822/2902) pdftract-core font::shape::tests::test_lookup_shape_frequency_tiebreak
PASS [ 0.011s] ( 823/2902) pdftract-core font::shape::tests::test_phash_checkerboard
PASS [ 0.014s] ( 824/2902) pdftract-core font::shape::tests::test_lookup_shape_hamming_threshold
PASS [ 0.011s] ( 825/2902) pdftract-core font::shape::tests::test_phash_deterministic
PASS [ 0.019s] ( 826/2902) pdftract-core font::shape::tests::test_lookup_shape_empty_database
PASS [ 0.009s] ( 827/2902) pdftract-core font::shape::tests::test_phash_half_white_half_black
PASS [ 0.009s] ( 828/2902) pdftract-core font::shape::tests::test_phash_horizontal_gradient
PASS [ 0.007s] ( 829/2902) pdftract-core font::shape::tests::test_shape_match_new
PASS [ 0.008s] ( 830/2902) pdftract-core font::shape::tests::test_shape_entry_new
PASS [ 0.015s] ( 831/2902) pdftract-core font::shape::tests::test_phash_different_shapes_different_hashes
PASS [ 0.014s] ( 832/2902) pdftract-core font::shape::tests::test_phash_gray_bitmap
PASS [ 0.012s] ( 833/2902) pdftract-core font::shape::tests::test_shape_database_generated
PASS [ 0.011s] ( 834/2902) pdftract-core font::shape::tests::test_shape_match_is_acceptable
PASS [ 0.014s] ( 835/2902) pdftract-core font::shape::tests::test_phash_white_bitmap
PASS [ 0.010s] ( 836/2902) pdftract-core font::std14::tests::test_char_width_16
PASS [ 0.012s] ( 837/2902) pdftract-core font::std14::tests::test_courier_monospace
PASS [ 0.012s] ( 838/2902) pdftract-core font::std14::tests::test_font_bbox
PASS [ 0.018s] ( 839/2902) pdftract-core font::std14::tests::test_char_width
PASS [ 0.012s] ( 840/2902) pdftract-core font::std14::tests::test_helvetica_metrics
PASS [ 0.011s] ( 841/2902) pdftract-core font::std14::tests::test_invalid_font_returns_none
PASS [ 0.011s] ( 842/2902) pdftract-core font::std14::tests::test_lookup_all_14_fonts
PASS [ 0.010s] ( 843/2902) pdftract-core font::std14::tests::test_subset_prefix_resolution
PASS [ 0.008s] ( 844/2902) pdftract-core font::std14::tests::test_symbol_font_encoding
PASS [ 0.015s] ( 845/2902) pdftract-core font::std14::tests::test_italic_angles
PASS [ 0.011s] ( 846/2902) pdftract-core font::tests::test_classify_font_cidfonttype0
PASS [ 0.015s] ( 847/2902) pdftract-core font::std14::tests::test_zapfdingbats_font_encoding
PASS [ 0.008s] ( 848/2902) pdftract-core font::tests::test_classify_font_type0_with_cidfonttype0
PASS [ 0.008s] ( 849/2902) pdftract-core font::tests::test_classify_font_truetype_without_slash
PASS [ 0.009s] ( 850/2902) pdftract-core font::tests::test_classify_font_opentype_cff
PASS [ 0.010s] ( 851/2902) pdftract-core font::tests::test_classify_font_truetype
PASS [ 0.013s] ( 852/2902) pdftract-core font::tests::test_classify_font_cidfonttype2
PASS [ 0.011s] ( 853/2902) pdftract-core font::tests::test_classify_font_type0_with_cidfonttype2
PASS [ 0.014s] ( 854/2902) pdftract-core font::tests::test_classify_font_missing_subtype
PASS [ 0.014s] ( 855/2902) pdftract-core font::tests::test_classify_font_type0_no_descendants
PASS [ 0.008s] ( 856/2902) pdftract-core font::tests::test_fontkind_is_cid_font
PASS [ 0.010s] ( 857/2902) pdftract-core font::tests::test_classify_font_type1_standard_with_subset
PASS [ 0.009s] ( 858/2902) pdftract-core font::tests::test_fontkind_is_standard_14
PASS [ 0.008s] ( 859/2902) pdftract-core font::tests::test_is_standard_14_font
PASS [ 0.017s] ( 860/2902) pdftract-core font::tests::test_classify_font_type1_non_standard
PASS [ 0.012s] ( 861/2902) pdftract-core font::tests::test_classify_font_unknown_subtype
PASS [ 0.019s] ( 862/2902) pdftract-core font::tests::test_classify_font_type1_standard
PASS [ 0.015s] ( 863/2902) pdftract-core font::tests::test_classify_font_type3
PASS [ 0.011s] ( 864/2902) pdftract-core font::tests::test_strip_subset_prefix_empty
PASS [ 0.010s] ( 865/2902) pdftract-core font::tests::test_strip_subset_prefix_lowercase
PASS [ 0.007s] ( 866/2902) pdftract-core font::tests::test_strip_subset_prefix_no_prefix
PASS [ 0.008s] ( 867/2902) pdftract-core font::tests::test_strip_subset_prefix_valid
PASS [ 0.010s] ( 868/2902) pdftract-core font::tests::test_strip_subset_prefix_too_short
PASS [ 0.016s] ( 869/2902) pdftract-core font::tests::test_fontkind_is_type3
PASS [ 0.008s] ( 870/2902) pdftract-core font::type0::tests::test_cid_to_gid_map_array
PASS [ 0.013s] ( 871/2902) pdftract-core font::tests::test_strip_subset_prefix_unicode
PASS [ 0.008s] ( 872/2902) pdftract-core font::type0::tests::test_cid_to_gid_map_array_big_endian
PASS [ 0.012s] ( 873/2902) pdftract-core font::type0::tests::test_acceptance_range_form
PASS [ 0.014s] ( 874/2902) pdftract-core font::type0::tests::test_acceptance_missing_cid_fallback
PASS [ 0.013s] ( 875/2902) pdftract-core font::type0::tests::test_acceptance_type0_with_cidfonttype2
PASS [ 0.015s] ( 876/2902) pdftract-core font::type0::tests::test_cid_to_gid_map_identity
PASS [ 0.012s] ( 877/2902) pdftract-core font::type0::tests::test_cid_to_gid_map_out_of_range
PASS [ 0.012s] ( 878/2902) pdftract-core font::type0::tests::test_cid_to_gid_map_truncated
PASS [ 0.008s] ( 879/2902) pdftract-core font::type0::tests::test_descendant_get_width_from_w
PASS [ 0.010s] ( 880/2902) pdftract-core font::type0::tests::test_descendant_get_width_default
PASS [ 0.011s] ( 881/2902) pdftract-core font::type0::tests::test_descendant_get_gid_identity
PASS [ 0.009s] ( 882/2902) pdftract-core font::type0::tests::test_load_type0_font_cidfonttype0
PASS [ 0.019s] ( 883/2902) pdftract-core font::type0::tests::test_cid_to_gid_map_from_stream
PASS [ 0.010s] ( 884/2902) pdftract-core font::type0::tests::test_load_type0_font_empty_descendants
PASS [ 0.017s] ( 885/2902) pdftract-core font::type0::tests::test_descendant_get_gid_cidfonttype0
PASS [ 0.009s] ( 886/2902) pdftract-core font::type0::tests::test_load_type0_font_minimal
PASS [ 0.008s] ( 887/2902) pdftract-core font::type0::tests::test_load_type0_font_no_descendants
PASS [ 0.009s] ( 888/2902) pdftract-core font::type0::tests::test_load_type0_font_with_w
PASS [ 0.009s] ( 889/2902) pdftract-core font::type0::tests::test_parse_w_array_empty_subarray
PASS [ 0.012s] ( 890/2902) pdftract-core font::type0::tests::test_load_type0_font_with_dw
PASS [ 0.008s] ( 891/2902) pdftract-core font::type0::tests::test_parse_w_array_mixed
PASS [ 0.008s] ( 892/2902) pdftract-core font::type3::tests::test_advance_for_out_of_range
PASS [ 0.012s] ( 893/2902) pdftract-core font::type0::tests::test_parse_w_array_format1
PASS [ 0.009s] ( 894/2902) pdftract-core font::type0::tests::test_parse_w_array_no_w
PASS [ 0.008s] ( 895/2902) pdftract-core font::type3::tests::test_advance_for_with_identity_font_matrix
PASS [ 0.015s] ( 896/2902) pdftract-core font::type0::tests::test_parse_w_array_high_cid_values
PASS [ 0.018s] ( 897/2902) pdftract-core font::type0::tests::test_parse_w_array_format2
PASS [ 0.008s] ( 898/2902) pdftract-core font::type3::tests::test_type3_load_minimal
PASS [ 0.011s] ( 899/2902) pdftract-core font::type3::tests::test_missing_char_procs
PASS [ 0.013s] ( 900/2902) pdftract-core font::type3::tests::test_custom_font_matrix
PASS [ 0.013s] ( 901/2902) pdftract-core font::type3::tests::test_encoding_parse
PASS [ 0.015s] ( 902/2902) pdftract-core font::type3::tests::test_arbitrary_glyph_names
PASS [ 0.009s] ( 903/2902) pdftract-core font::type3::tests::test_widths_length_mismatch
PASS [ 0.012s] ( 904/2902) pdftract-core font::type3::tests::test_missing_widths
PASS [ 0.011s] ( 905/2902) pdftract-core font::type3::tests::test_type3_with_char_procs
PASS [ 0.008s] ( 906/2902) pdftract-core font::type3_rasterizer::tests::test_bitmap_fill_rect
PASS [ 0.009s] ( 907/2902) pdftract-core font::type3_rasterizer::tests::test_bitmap_set_get
PASS [ 0.007s] ( 908/2902) pdftract-core font::type3_rasterizer::tests::test_current_path_close
PASS [ 0.009s] ( 909/2902) pdftract-core font::type3_rasterizer::tests::test_bitmap_black
PASS [ 0.009s] ( 910/2902) pdftract-core font::type3_rasterizer::tests::test_current_path_rect
PASS [ 0.029s] ( 911/2902) pdftract-core font::type3::tests::test_advance_for_with_standard_font_matrix
PASS [ 0.012s] ( 912/2902) pdftract-core font::type3_rasterizer::tests::test_current_path_move_line
PASS [ 0.020s] ( 913/2902) pdftract-core font::type3::tests::test_widths_too_long
PASS [ 0.011s] ( 914/2902) pdftract-core font::type3_rasterizer::tests::test_execute_rect
PASS [ 0.018s] ( 915/2902) pdftract-core font::type3::tests::test_with_resources
PASS [ 0.009s] ( 916/2902) pdftract-core font::type3_rasterizer::tests::test_execute_simple_path
PASS [ 0.017s] ( 917/2902) pdftract-core font::type3_rasterizer::tests::test_bitmap_white
PASS [ 0.008s] ( 918/2902) pdftract-core font::type3_rasterizer::tests::test_rasterizer_context_new
PASS [ 0.012s] ( 919/2902) pdftract-core font::type3_rasterizer::tests::test_point_new
PASS [ 0.010s] ( 920/2902) pdftract-core font::unmapped::tests::test_normal_glyphs_not_unmapped
PASS [ 0.008s] ( 921/2902) pdftract-core forms::combiner::tests::test_choice_value_single
PASS [ 0.015s] ( 922/2902) pdftract-core font::type3_rasterizer::tests::test_rasterize_type3_glyph_placeholder
PASS [ 0.015s] ( 923/2902) pdftract-core font::type3_rasterizer::tests::test_gstate_stack
PASS [ 0.011s] ( 924/2902) pdftract-core font::unmapped::tests::test_notdef_is_unmapped
PASS [ 0.013s] ( 925/2902) pdftract-core font::unmapped::tests::test_unmapped_set_contains_expected_entries
PASS [ 0.009s] ( 926/2902) pdftract-core forms::combiner::tests::test_combine_no_overlap
PASS [ 0.012s] ( 927/2902) pdftract-core forms::combiner::tests::test_combine_both_overlapping
PASS [ 0.013s] ( 928/2902) pdftract-core forms::combiner::tests::test_choice_value_multi_select
PASS [ 0.009s] ( 929/2902) pdftract-core forms::combiner::tests::test_empty_xfa_wins_over_nonempty_acro
PASS [ 0.009s] ( 930/2902) pdftract-core forms::combiner::tests::test_sort_order_deterministic
PASS [ 0.008s] ( 931/2902) pdftract-core forms::tests::test_acro_form_field_btn_flag_accessors
PASS [ 0.008s] ( 932/2902) pdftract-core forms::tests::test_acro_form_field_flag_accessors
PASS [ 0.008s] ( 933/2902) pdftract-core forms::tests::test_extract_values_multi_select_list
PASS [ 0.009s] ( 934/2902) pdftract-core forms::tests::test_extract_values_combo_with_opt_tuples
PASS [ 0.017s] ( 935/2902) pdftract-core forms::combiner::tests::test_parse_xfa_boolean
PASS [ 0.015s] ( 936/2902) pdftract-core forms::tests::test_acro_field_type_from_name
PASS [ 0.016s] ( 937/2902) pdftract-core forms::combiner::tests::test_xfa_boolean_to_checkbox
PASS [ 0.008s] ( 938/2902) pdftract-core forms::tests::test_extract_values_selected_radio
PASS [ 0.016s] ( 939/2902) pdftract-core forms::tests::test_acro_field_type_as_str
PASS [ 0.011s] ( 940/2902) pdftract-core forms::tests::test_acro_form_field_is_checked
PASS [ 0.008s] ( 941/2902) pdftract-core forms::tests::test_extract_values_skips_sig_fields
PASS [ 0.014s] ( 942/2902) pdftract-core forms::tests::test_extract_values_multiline_text
PASS [ 0.008s] ( 943/2902) pdftract-core forms::tests::test_extract_values_unselected_checkbox
PASS [ 0.009s] ( 944/2902) pdftract-core forms::tests::test_walk_acroform_fields_all_field_types
PASS [ 0.012s] ( 945/2902) pdftract-core forms::tests::test_extract_values_tx_btn_ch_critical
PASS [ 0.009s] ( 946/2902) pdftract-core forms::tests::test_walk_acroform_fields_empty_t_segment_skipped
PASS [ 0.011s] ( 947/2902) pdftract-core forms::tests::test_walk_acroform_fields_flags_inheritance
PASS [ 0.013s] ( 948/2902) pdftract-core forms::tests::test_walk_acroform_fields_choice_field_options
PASS [ 0.014s] ( 949/2902) pdftract-core forms::tests::test_walk_acroform_fields_child_overrides_ft
PASS [ 0.010s] ( 950/2902) pdftract-core forms::value_button::tests::test_button_kind_display
PASS [ 0.017s] ( 951/2902) pdftract-core forms::tests::test_walk_acroform_fields_ft_inheritance
PASS [ 0.014s] ( 952/2902) pdftract-core forms::tests::test_walk_acroform_fields_no_acroform
PASS [ 0.014s] ( 953/2902) pdftract-core forms::tests::test_walk_acroform_fields_no_fields_array
PASS [ 0.009s] ( 954/2902) pdftract-core forms::value_button::tests::test_button_kind_equality
PASS [ 0.008s] ( 955/2902) pdftract-core forms::value_button::tests::test_extract_checkbox_custom_state
PASS [ 0.017s] ( 956/2902) pdftract-core forms::tests::test_walk_acroform_fields_nested_two_levels
PASS [ 0.017s] ( 957/2902) pdftract-core forms::tests::test_walk_acroform_fields_three_flat_fields
PASS [ 0.009s] ( 958/2902) pdftract-core forms::value_button::tests::test_extract_checkbox_no_value
PASS [ 0.013s] ( 959/2902) pdftract-core forms::value_button::tests::test_button_value_constructors
PASS [ 0.008s] ( 960/2902) pdftract-core forms::value_button::tests::test_extract_radio_no_value
PASS [ 0.010s] ( 961/2902) pdftract-core forms::value_button::tests::test_extract_checkbox_selected_yes
PASS [ 0.011s] ( 962/2902) pdftract-core forms::value_button::tests::test_extract_checkbox_unselected_off
PASS [ 0.017s] ( 963/2902) pdftract-core forms::value_button::tests::test_button_value_equality
PASS [ 0.009s] ( 964/2902) pdftract-core forms::value_button::tests::test_extract_radio_unselected
PASS [ 0.012s] ( 965/2902) pdftract-core forms::value_button::tests::test_extract_pushbutton
PASS [ 0.009s] ( 966/2902) pdftract-core forms::value_button::tests::test_pushbutton_takes_precedence
PASS [ 0.011s] ( 967/2902) pdftract-core forms::value_button::tests::test_extract_state_from_value_malformed
PASS [ 0.015s] ( 968/2902) pdftract-core forms::value_button::tests::test_extract_radio_selected
PASS [ 0.008s] ( 969/2902) pdftract-core forms::value_choice::tests::test_choice_kind_equality
PASS [ 0.011s] ( 970/2902) pdftract-core forms::value_choice::tests::test_choice_kind_display
PASS [ 0.009s] ( 971/2902) pdftract-core forms::value_choice::tests::test_extract_array_with_non_string_elements
PASS [ 0.018s] ( 972/2902) pdftract-core forms::value_button::tests::test_extract_with_other_flags_set
PASS [ 0.015s] ( 973/2902) pdftract-core forms::value_choice::tests::test_choice_value_as_display_string
PASS [ 0.008s] ( 974/2902) pdftract-core forms::value_choice::tests::test_extract_choice_no_value
PASS [ 0.010s] ( 975/2902) pdftract-core forms::value_choice::tests::test_extract_choice_from_name
PASS [ 0.013s] ( 976/2902) pdftract-core forms::value_choice::tests::test_choice_value_data_equality
PASS [ 0.012s] ( 977/2902) pdftract-core forms::value_choice::tests::test_choice_value_equality
PASS [ 0.014s] ( 978/2902) pdftract-core forms::value_choice::tests::test_choice_value_data_constructors
PASS [ 0.009s] ( 979/2902) pdftract-core forms::value_choice::tests::test_extract_combo_single_selection
PASS [ 0.010s] ( 980/2902) pdftract-core forms::value_choice::tests::test_extract_choice_with_default
PASS [ 0.013s] ( 981/2902) pdftract-core forms::value_choice::tests::test_choice_value_is_empty
PASS [ 0.008s] ( 982/2902) pdftract-core forms::value_choice::tests::test_extract_combo_with_multi_select_flag
PASS [ 0.009s] ( 983/2902) pdftract-core forms::value_choice::tests::test_extract_default_multi_select
PASS [ 0.008s] ( 984/2902) pdftract-core forms::value_choice::tests::test_extract_no_opt
PASS [ 0.009s] ( 985/2902) pdftract-core forms::value_choice::tests::test_extract_malformed_opt_entry
PASS [ 0.009s] ( 986/2902) pdftract-core forms::value_choice::tests::test_extract_list_single_selection
PASS [ 0.009s] ( 987/2902) pdftract-core forms::value_choice::tests::test_extract_options_simple_strings
PASS [ 0.011s] ( 988/2902) pdftract-core forms::value_choice::tests::test_extract_empty_opt_array
PASS [ 0.013s] ( 989/2902) pdftract-core forms::value_choice::tests::test_extract_list_multi_select
PASS [ 0.013s] ( 990/2902) pdftract-core forms::value_choice::tests::test_extract_options_with_export_values
PASS [ 0.008s] ( 991/2902) pdftract-core forms::value_choice::tests::test_extract_with_other_flags_set
PASS [ 0.008s] ( 992/2902) pdftract-core forms::value_text::tests::test_decode_pdf_string_empty
PASS [ 0.017s] ( 993/2902) pdftract-core forms::value_choice::tests::test_extract_default_none_becomes_none
PASS [ 0.008s] ( 994/2902) pdftract-core forms::value_text::tests::test_decode_pdf_string_never_panics
PASS [ 0.017s] ( 995/2902) pdftract-core forms::value_choice::tests::test_extract_options_mixed
PASS [ 0.009s] ( 996/2902) pdftract-core forms::value_text::tests::test_decode_pdf_string_pdfdocencoding_em_dash
PASS [ 0.015s] ( 997/2902) pdftract-core forms::value_choice::tests::test_extract_string_from_object_variants
PASS [ 0.013s] ( 998/2902) pdftract-core forms::value_text::tests::test_decode_pdf_string_ascii
PASS [ 0.008s] ( 999/2902) pdftract-core forms::value_text::tests::test_decode_pdf_string_pdfdocencoding_lower_latin1
PASS [ 0.008s] (1000/2902) pdftract-core forms::value_text::tests::test_decode_pdf_string_pdfdocencoding_quotes
PASS [ 0.012s] (1001/2902) pdftract-core forms::value_text::tests::test_decode_pdf_string_pdfdocencoding_latin1
PASS [ 0.008s] (1002/2902) pdftract-core forms::value_text::tests::test_decode_pdf_string_utf16be_bom
PASS [ 0.016s] (1003/2902) pdftract-core forms::value_text::tests::test_decode_pdf_string_pdfdocencoding_bullet
PASS [ 0.010s] (1004/2902) pdftract-core forms::value_text::tests::test_extract_text_value_basic
PASS [ 0.008s] (1005/2902) pdftract-core forms::value_text::tests::test_extract_text_value_empty_value
PASS [ 0.008s] (1006/2902) pdftract-core forms::value_text::tests::test_extract_text_value_multiline
PASS [ 0.014s] (1007/2902) pdftract-core forms::value_text::tests::test_extract_string_from_value_unrecognized_type
PASS [ 0.012s] (1008/2902) pdftract-core forms::value_text::tests::test_extract_text_value_combined_flags
PASS [ 0.015s] (1009/2902) pdftract-core forms::value_text::tests::test_decode_pdf_string_utf16be_bom_odd_length
PASS [ 0.008s] (1010/2902) pdftract-core forms::value_text::tests::test_extract_text_value_utf16be_bom
PASS [ 0.012s] (1011/2902) pdftract-core forms::value_text::tests::test_extract_text_value_name_as_value
PASS [ 0.009s] (1012/2902) pdftract-core forms::value_text::tests::test_extract_text_value_no_value
PASS [ 0.014s] (1013/2902) pdftract-core forms::value_text::tests::test_extract_text_value_negative_max_length_ignored
PASS [ 0.010s] (1014/2902) pdftract-core forms::value_text::tests::test_looks_like_utf16be
PASS [ 0.009s] (1015/2902) pdftract-core forms::xfa::tests::test_extract_xfa_fields_no_xfa
PASS [ 0.009s] (1016/2902) pdftract-core forms::value_text::tests::test_text_value_equality
PASS [ 0.016s] (1017/2902) pdftract-core forms::value_text::tests::test_extract_text_value_with_default
PASS [ 0.014s] (1018/2902) pdftract-core forms::value_text::tests::test_extract_text_value_with_max_length
PASS [ 0.010s] (1019/2902) pdftract-core glyph::tests::test_compute_device_bbox_returns_valid_bbox
PASS [ 0.010s] (1020/2902) pdftract-core glyph::tests::test_compute_glyph_advance_font_size_zero_no_panic
PASS [ 0.015s] (1021/2902) pdftract-core forms::value_text::tests::test_text_value_empty_constructor
PASS [ 0.013s] (1022/2902) pdftract-core glyph::tests::test_compute_glyph_advance_helvetica_h
PASS [ 0.011s] (1023/2902) pdftract-core glyph::tests::test_compute_glyph_advance_space_with_spacing
PASS [ 0.011s] (1024/2902) pdftract-core glyph::tests::test_compute_glyph_advance_non_space_no_tw
PASS [ 0.019s] (1025/2902) pdftract-core forms::xfa::tests::test_is_xfa_element
PASS [ 0.009s] (1026/2902) pdftract-core glyph::tests::test_emit_glyph_with_mcid
PASS [ 0.012s] (1027/2902) pdftract-core glyph::tests::test_compute_glyph_advance_tz_halves
PASS [ 0.010s] (1028/2902) pdftract-core glyph::tests::test_glyph_clone_is_cheap
PASS [ 0.014s] (1029/2902) pdftract-core glyph::tests::test_emit_glyph_for_a_helvetica_12pt_black
PASS [ 0.013s] (1030/2902) pdftract-core glyph::tests::test_glyph_clone_includes_is_hidden
PASS [ 0.016s] (1031/2902) pdftract-core glyph::tests::test_emit_glyph_with_word_boundary
PASS [ 0.027s] (1032/2902) pdftract-core glyph::tests::test_1000_emit_glyph_calls_perf_gate
PASS [ 0.010s] (1033/2902) pdftract-core glyph::tests::test_glyph_is_hidden_default_false
PASS [ 0.010s] (1034/2902) pdftract-core glyph::tests::test_glyph_equality_includes_is_hidden
PASS [ 0.010s] (1035/2902) pdftract-core glyph::tests::test_glyph_fill_color_css
PASS [ 0.012s] (1036/2902) pdftract-core glyph::tests::test_glyph_is_hidden_true
PASS [ 0.012s] (1037/2902) pdftract-core glyph::tests::test_glyph_replacement_char
PASS [ 0.012s] (1038/2902) pdftract-core glyph::tests::test_glyph_size_within_64_bytes
PASS [ 0.009s] (1039/2902) pdftract-core glyph::tests::test_is_simple_font_truetype
PASS [ 0.011s] (1040/2902) pdftract-core glyph::tests::test_is_simple_font_type0_false
PASS [ 0.008s] (1041/2902) pdftract-core glyph::tests::test_is_simple_font_type1
PASS [ 0.015s] (1042/2902) pdftract-core glyph::tests::test_glyph_with_rendering_mode_3
PASS [ 0.010s] (1043/2902) pdftract-core glyph::tests::test_raw_glyph_list_grows_by_one_per_call
PASS [ 0.009s] (1044/2902) pdftract-core graphics_state::tests::test_color_device_gray_to_css_hex
PASS [ 0.013s] (1045/2902) pdftract-core glyph::tests::test_new_raw_glyph_list_pre_reserved
PASS [ 0.009s] (1046/2902) pdftract-core graphics_state::tests::test_color_device_rgb_clamped
PASS [ 0.011s] (1047/2902) pdftract-core graphics_state::tests::test_color_device_cmyk_to_css_hex
PASS [ 0.008s] (1048/2902) pdftract-core graphics_state::tests::test_color_device_rgb_to_css_hex
PASS [ 0.014s] (1049/2902) pdftract-core graphics_state::tests::test_1000_paired_q_q_operations_succeed
PASS [ 0.016s] (1050/2902) pdftract-core graphics_state::tests::test_64_q_plus_64_q_restores_initial_state
PASS [ 0.017s] (1051/2902) pdftract-core graphics_state::tests::test_64_nested_q_calls_succeed
PASS [ 0.011s] (1052/2902) pdftract-core graphics_state::tests::test_color_space_component_count
PASS [ 0.009s] (1053/2902) pdftract-core graphics_state::tests::test_determinant_negative
PASS [ 0.008s] (1054/2902) pdftract-core graphics_state::tests::test_determinant_positive
PASS [ 0.010s] (1055/2902) pdftract-core graphics_state::tests::test_graphics_state_clone_preserves_colors
PASS [ 0.016s] (1056/2902) pdftract-core graphics_state::tests::test_color_other_to_css_hex_none
PASS [ 0.012s] (1057/2902) pdftract-core graphics_state::tests::test_color_spot_to_css_hex_none
PASS [ 0.011s] (1058/2902) pdftract-core graphics_state::tests::test_gstate_clone_deep_equal
PASS [ 0.010s] (1059/2902) pdftract-core graphics_state::tests::test_gstate_initial_ctm_is_identity
PASS [ 0.009s] (1060/2902) pdftract-core graphics_state::tests::test_gstate_initial_horiz_scaling_is_100
PASS [ 0.008s] (1061/2902) pdftract-core graphics_state::tests::test_gstate_stack_depth_limit
PASS [ 0.013s] (1062/2902) pdftract-core graphics_state::tests::test_gstate_initial_font_is_none
PASS [ 0.008s] (1063/2902) pdftract-core graphics_state::tests::test_gstate_stack_restore
PASS [ 0.013s] (1064/2902) pdftract-core graphics_state::tests::test_gstate_initial_font_size_is_zero
PASS [ 0.012s] (1065/2902) pdftract-core graphics_state::tests::test_gstate_initial_text_matrices_are_identity
PASS [ 0.017s] (1066/2902) pdftract-core graphics_state::tests::test_gstate_ctm_concat
PASS [ 0.011s] (1067/2902) pdftract-core graphics_state::tests::test_gstate_initial_text_rendering_mode_is_0
PASS [ 0.018s] (1068/2902) pdftract-core graphics_state::tests::test_gstate_initial_fill_color_is_black
PASS [ 0.010s] (1069/2902) pdftract-core graphics_state::tests::test_identity_matrix
PASS [ 0.007s] (1070/2902) pdftract-core graphics_state::tests::test_initial_fill_color_is_black
PASS [ 0.011s] (1071/2902) pdftract-core graphics_state::tests::test_identity_multiply_identity
PASS [ 0.016s] (1072/2902) pdftract-core graphics_state::tests::test_gstate_stack_push_pop
PASS [ 0.008s] (1073/2902) pdftract-core graphics_state::tests::test_matrix_invert_singular
PASS [ 0.010s] (1074/2902) pdftract-core graphics_state::tests::test_matrix_invert_identity
PASS [ 0.009s] (1075/2902) pdftract-core graphics_state::tests::test_matrix_multiply
PASS [ 0.011s] (1076/2902) pdftract-core graphics_state::tests::test_initial_stroke_color_is_black
PASS [ 0.011s] (1077/2902) pdftract-core graphics_state::tests::test_matrix_invert_translation
PASS [ 0.012s] (1078/2902) pdftract-core graphics_state::tests::test_matrix_scale
PASS [ 0.013s] (1079/2902) pdftract-core graphics_state::tests::test_matrix_rotate
PASS [ 0.008s] (1080/2902) pdftract-core graphics_state::tests::test_negative_leading_allowed
PASS [ 0.008s] (1081/2902) pdftract-core graphics_state::tests::test_multiply_within_tolerance
PASS [ 0.007s] (1082/2902) pdftract-core graphics_state::tests::test_q_at_depth_0_is_noop
PASS [ 0.010s] (1083/2902) pdftract-core graphics_state::tests::test_negative_text_rise_allowed
PASS [ 0.011s] (1084/2902) pdftract-core graphics_state::tests::test_negative_word_spacing_allowed
PASS [ 0.014s] (1085/2902) pdftract-core graphics_state::tests::test_negative_char_spacing_allowed
PASS [ 0.008s] (1086/2902) pdftract-core graphics_state::tests::test_set_char_spacing
PASS [ 0.008s] (1087/2902) pdftract-core graphics_state::tests::test_set_fill_cmyk
PASS [ 0.008s] (1088/2902) pdftract-core graphics_state::tests::test_set_fill_color_device_gray
PASS [ 0.019s] (1089/2902) pdftract-core graphics_state::tests::test_matrix_translate
PASS [ 0.018s] (1090/2902) pdftract-core graphics_state::tests::test_max_depth_is_64
PASS [ 0.015s] (1091/2902) pdftract-core graphics_state::tests::test_scale_matrix
PASS [ 0.009s] (1092/2902) pdftract-core graphics_state::tests::test_set_fill_color_device_rgb
PASS [ 0.009s] (1093/2902) pdftract-core graphics_state::tests::test_set_fill_color_named_fallback_to_numeric
PASS [ 0.009s] (1094/2902) pdftract-core graphics_state::tests::test_set_fill_color_named_pattern
PASS [ 0.011s] (1095/2902) pdftract-core graphics_state::tests::test_set_fill_color_insufficient_components
PASS [ 0.008s] (1096/2902) pdftract-core graphics_state::tests::test_set_fill_color_named_spot
PASS [ 0.016s] (1097/2902) pdftract-core graphics_state::tests::test_set_fill_color_device_cmyk
PASS [ 0.008s] (1098/2902) pdftract-core graphics_state::tests::test_set_fill_color_space
PASS [ 0.009s] (1099/2902) pdftract-core graphics_state::tests::test_set_horiz_scaling_negative_clamps_to_one
PASS [ 0.007s] (1100/2902) pdftract-core graphics_state::tests::test_set_horiz_scaling_positive
PASS [ 0.013s] (1101/2902) pdftract-core graphics_state::tests::test_set_fill_color_unknown_colorspace
PASS [ 0.013s] (1102/2902) pdftract-core graphics_state::tests::test_set_fill_rgb
PASS [ 0.018s] (1103/2902) pdftract-core graphics_state::tests::test_set_fill_gray
PASS [ 0.012s] (1104/2902) pdftract-core graphics_state::tests::test_set_horiz_scaling_zero_clamps_to_one
PASS [ 0.010s] (1105/2902) pdftract-core graphics_state::tests::test_set_stroke_color_space
PASS [ 0.019s] (1106/2902) pdftract-core graphics_state::tests::test_set_fill_color_named_spot_default_tint
PASS [ 0.011s] (1107/2902) pdftract-core graphics_state::tests::test_set_stroke_cmyk
PASS [ 0.010s] (1108/2902) pdftract-core graphics_state::tests::test_set_stroke_gray
PASS [ 0.015s] (1109/2902) pdftract-core graphics_state::tests::test_set_leading
PASS [ 0.009s] (1110/2902) pdftract-core graphics_state::tests::test_set_stroke_rgb
PASS [ 0.008s] (1111/2902) pdftract-core graphics_state::tests::test_set_text_rendering_mode_clamps_to_zero
PASS [ 0.008s] (1112/2902) pdftract-core graphics_state::tests::test_set_text_rendering_mode_clamps_to_seven
PASS [ 0.009s] (1113/2902) pdftract-core graphics_state::tests::test_set_text_rendering_mode_valid
PASS [ 0.010s] (1114/2902) pdftract-core graphics_state::tests::test_set_text_rise
PASS [ 0.007s] (1115/2902) pdftract-core layout::caption::tests::test_caption_font_not_smaller
PASS [ 0.010s] (1116/2902) pdftract-core layout::caption::tests::test_block_accessors
PASS [ 0.009s] (1117/2902) pdftract-core layout::caption::tests::test_caption_different_column
PASS [ 0.009s] (1118/2902) pdftract-core layout::caption::tests::test_caption_immediately_below_figure
PASS [ 0.012s] (1119/2902) pdftract-core layout::caption::tests::test_caption_above_figure
PASS [ 0.009s] (1120/2902) pdftract-core layout::caption::tests::test_caption_too_far_below_figure
PASS [ 0.008s] (1121/2902) pdftract-core layout::caption::tests::test_no_previous_figure
PASS [ 0.008s] (1122/2902) pdftract-core layout::code::tests::test_classify_code_fixed_pitch_flag
PASS [ 0.009s] (1123/2902) pdftract-core layout::caption::tests::test_page_classification
PASS [ 0.011s] (1124/2902) pdftract-core layout::code::tests::test_classify_code_all_courier_indented
PASS [ 0.009s] (1125/2902) pdftract-core layout::code::tests::test_classify_code_not_indented
PASS [ 0.009s] (1126/2902) pdftract-core layout::code::tests::test_classify_code_one_serif_at_end
PASS [ 0.023s] (1127/2902) pdftract-core javascript::tests::test_detect_javascript_empty
PASS [ 0.021s] (1128/2902) pdftract-core graphics_state::tests::test_translation_matrix
PASS [ 0.022s] (1129/2902) pdftract-core graphics_state::tests::test_set_word_spacing
PASS [ 0.010s] (1130/2902) pdftract-core layout::code::tests::test_classify_page_code_blocks
PASS [ 0.012s] (1131/2902) pdftract-core layout::code::tests::test_compute_column_baseline
PASS [ 0.010s] (1132/2902) pdftract-core layout::code::tests::test_compute_column_baseline_no_paragraphs
PASS [ 0.008s] (1133/2902) pdftract-core layout::code::tests::test_is_monospace_font_name_code
PASS [ 0.009s] (1134/2902) pdftract-core layout::code::tests::test_is_monospace_font_name_console
PASS [ 0.008s] (1135/2902) pdftract-core layout::code::tests::test_is_monospace_font_name_courier
PASS [ 0.021s] (1136/2902) pdftract-core layout::code::tests::test_classify_code_mixed_font
PASS [ 0.013s] (1137/2902) pdftract-core layout::code::tests::test_compute_column_baseline_empty
PASS [ 0.012s] (1138/2902) pdftract-core layout::code::tests::test_is_fixed_pitch_flag
PASS [ 0.014s] (1139/2902) pdftract-core layout::code::tests::test_is_monospace_span_flags_only
PASS [ 0.014s] (1140/2902) pdftract-core layout::code::tests::test_is_monospace_font_name_mono
PASS [ 0.009s] (1141/2902) pdftract-core layout::code::tests::test_is_not_monospace_font_name
PASS [ 0.008s] (1142/2902) pdftract-core layout::code::tests::test_is_not_monospace_span
PASS [ 0.011s] (1143/2902) pdftract-core layout::columns::tests::test_assign_columns_to_lines_dominant
PASS [ 0.009s] (1144/2902) pdftract-core layout::columns::tests::test_assign_columns_to_lines_full_width_heading
PASS [ 0.015s] (1145/2902) pdftract-core layout::code::tests::test_is_monospace_span_name_only
PASS [ 0.018s] (1146/2902) pdftract-core layout::code::tests::test_is_monospace_font_name_fixed
PASS [ 0.009s] (1147/2902) pdftract-core layout::columns::tests::test_assign_columns_to_lines_unanimous
PASS [ 0.011s] (1148/2902) pdftract-core layout::columns::tests::test_assign_columns_to_lines_empty
PASS [ 0.009s] (1149/2902) pdftract-core layout::columns::tests::test_build_x0_histogram_a4_page
PASS [ 0.013s] (1150/2902) pdftract-core layout::columns::tests::test_assign_columns_to_spans_empty
PASS [ 0.008s] (1151/2902) pdftract-core layout::columns::tests::test_build_x0_histogram_multiple_spans
PASS [ 0.009s] (1152/2902) pdftract-core layout::columns::tests::test_build_x0_histogram_rounding
PASS [ 0.015s] (1153/2902) pdftract-core layout::columns::tests::test_assign_columns_to_spans_single_column
PASS [ 0.019s] (1154/2902) pdftract-core layout::columns::tests::test_assign_columns_to_lines_mixed
PASS [ 0.015s] (1155/2902) pdftract-core layout::columns::tests::test_assign_columns_to_spans_two_column
PASS [ 0.011s] (1156/2902) pdftract-core layout::columns::tests::test_build_x0_histogram_single_span
PASS [ 0.013s] (1157/2902) pdftract-core layout::columns::tests::test_build_x0_histogram_clamp_overflow_x0
PASS [ 0.010s] (1158/2902) pdftract-core layout::columns::tests::test_column_contains_outside
PASS [ 0.009s] (1159/2902) pdftract-core layout::columns::tests::test_column_contains_within
PASS [ 0.017s] (1160/2902) pdftract-core layout::columns::tests::test_build_x0_histogram_clamp_negative_x0
PASS [ 0.008s] (1161/2902) pdftract-core layout::columns::tests::test_column_gap_width
PASS [ 0.018s] (1162/2902) pdftract-core layout::columns::tests::test_build_x0_histogram_empty_spans
PASS [ 0.008s] (1163/2902) pdftract-core layout::columns::tests::test_column_gap_single_bucket
PASS [ 0.008s] (1164/2902) pdftract-core layout::columns::tests::test_column_index_monotonic_left_to_right
PASS [ 0.010s] (1165/2902) pdftract-core layout::columns::tests::test_column_gap_new
PASS [ 0.010s] (1166/2902) pdftract-core layout::columns::tests::test_confirm_columns_empty_page
PASS [ 0.008s] (1167/2902) pdftract-core layout::columns::tests::test_confirm_columns_leading_gap
PASS [ 0.008s] (1168/2902) pdftract-core layout::columns::tests::test_confirm_columns_lines_in_gap_unassigned
PASS [ 0.017s] (1169/2902) pdftract-core layout::columns::tests::test_column_gap_midpoint
PASS [ 0.014s] (1170/2902) pdftract-core layout::columns::tests::test_column_new
PASS [ 0.008s] (1171/2902) pdftract-core layout::columns::tests::test_confirm_columns_single_column_confirmed
PASS [ 0.013s] (1172/2902) pdftract-core layout::columns::tests::test_confirm_columns_exactly_three_lines
PASS [ 0.010s] (1173/2902) pdftract-core layout::columns::tests::test_confirm_columns_three_column_all_confirmed
PASS [ 0.012s] (1174/2902) pdftract-core layout::columns::tests::test_confirm_columns_no_gaps_insufficient_lines
PASS [ 0.009s] (1175/2902) pdftract-core layout::columns::tests::test_confirm_columns_three_column_middle_insufficient
PASS [ 0.015s] (1176/2902) pdftract-core layout::columns::tests::test_confirm_columns_lines_with_no_spans
PASS [ 0.008s] (1177/2902) pdftract-core layout::columns::tests::test_confirm_columns_trailing_gap
PASS [ 0.016s] (1178/2902) pdftract-core layout::columns::tests::test_confirm_columns_single_column_insufficient_lines
PASS [ 0.008s] (1179/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_leading_and_trailing
PASS [ 0.010s] (1180/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_empty_histogram
PASS [ 0.009s] (1181/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_all_zeros_no_gaps
PASS [ 0.010s] (1182/2902) pdftract-core layout::columns::tests::test_confirm_columns_two_column_both_confirmed
PASS [ 0.016s] (1183/2902) pdftract-core layout::columns::tests::test_confirm_columns_two_column_one_confirmed
PASS [ 0.009s] (1184/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_short_zeros_no_gap
PASS [ 0.008s] (1185/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_small_page
PASS [ 0.012s] (1186/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_no_zeros
PASS [ 0.016s] (1187/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_leading_gap
PASS [ 0.009s] (1188/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_threshold_minus_one
PASS [ 0.009s] (1189/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_threshold_exact
PASS [ 0.016s] (1190/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_middle_gap
PASS [ 0.012s] (1191/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_multiple_gaps
PASS [ 0.012s] (1192/2902) pdftract-core layout::columns::tests::test_span_straddling_gap_assigned_by_x0
PASS [ 0.014s] (1193/2902) pdftract-core layout::columns::tests::test_detect_column_gaps_trailing_gap
PASS [ 0.008s] (1194/2902) pdftract-core layout::correction::tests::test_ascii_only_no_change
PASS [ 0.008s] (1195/2902) pdftract-core layout::correction::tests::test_detect_script_bengali
PASS [ 0.008s] (1196/2902) pdftract-core layout::correction::tests::test_detect_script_empty
PASS [ 0.012s] (1197/2902) pdftract-core layout::correction::tests::test_asian_text_unaffected
PASS [ 0.009s] (1198/2902) pdftract-core layout::correction::tests::test_detect_script_devanagari
PASS [ 0.011s] (1199/2902) pdftract-core layout::correction::tests::test_detect_script_latin
PASS [ 0.014s] (1200/2902) pdftract-core layout::correction::tests::test_clean_utf8_no_change
PASS [ 0.012s] (1201/2902) pdftract-core layout::correction::tests::test_detect_script_hebrew
PASS [ 0.009s] (1202/2902) pdftract-core layout::correction::tests::test_detect_script_thai
PASS [ 0.008s] (1203/2902) pdftract-core layout::correction::tests::test_hyphenation_capital_start_no_join
PASS [ 0.017s] (1204/2902) pdftract-core layout::correction::tests::test_detect_script_arabic
PASS [ 0.009s] (1205/2902) pdftract-core layout::correction::tests::test_empty_string_no_change
PASS [ 0.009s] (1206/2902) pdftract-core layout::correction::tests::test_exact_epsilon_boundary
PASS [ 0.010s] (1207/2902) pdftract-core layout::correction::tests::test_epsilon_threshold_prevents_noise
PASS [ 0.017s] (1208/2902) pdftract-core layout::correction::tests::test_detect_script_mixed_latin_arabic
PASS [ 0.016s] (1209/2902) pdftract-core layout::correction::tests::test_em_dash_mojibake
PASS [ 0.011s] (1210/2902) pdftract-core layout::correction::tests::test_hyphenation_empty_span_removed
PASS [ 0.011s] (1211/2902) pdftract-core layout::correction::tests::test_hyphenation_different_columns
PASS [ 0.011s] (1212/2902) pdftract-core layout::correction::tests::test_hyphenation_join_basic
PASS [ 0.008s] (1213/2902) pdftract-core layout::correction::tests::test_hyphenation_non_breaking_hyphen
PASS [ 0.008s] (1214/2902) pdftract-core layout::correction::tests::test_hyphenation_soft_hyphen
PASS [ 0.010s] (1215/2902) pdftract-core layout::correction::tests::test_hyphenation_not_at_right_edge
PASS [ 0.010s] (1216/2902) pdftract-core layout::correction::tests::test_hyphenation_multiple_repairs
PASS [ 0.009s] (1217/2902) pdftract-core layout::correction::tests::test_ligature_enum_decomposed
PASS [ 0.009s] (1218/2902) pdftract-core layout::correction::tests::test_ligature_repair_empty_span
PASS [ 0.016s] (1219/2902) pdftract-core layout::correction::tests::test_hyphenation_multi_word_continuation
PASS [ 0.011s] (1220/2902) pdftract-core layout::correction::tests::test_ligature_repair_ffi_ligature
PASS [ 0.016s] (1221/2902) pdftract-core layout::correction::tests::test_just_above_epsilon
PASS [ 0.009s] (1222/2902) pdftract-core layout::correction::tests::test_ligature_repair_fl_ligature
PASS [ 0.012s] (1223/2902) pdftract-core layout::correction::tests::test_ligature_repair_ffl_ligature
PASS [ 0.009s] (1224/2902) pdftract-core layout::correction::tests::test_ligature_repair_gap_too_large
PASS [ 0.011s] (1225/2902) pdftract-core layout::correction::tests::test_ligature_repair_fl_with_l_following
PASS [ 0.013s] (1226/2902) pdftract-core layout::correction::tests::test_ligature_repair_fi_adjacent
PASS [ 0.009s] (1227/2902) pdftract-core layout::correction::tests::test_ligature_repair_multiple_fffd
PASS [ 0.018s] (1228/2902) pdftract-core layout::correction::tests::test_ligature_repair_ff_ligature
PASS [ 0.018s] (1229/2902) pdftract-core layout::correction::tests::test_ligature_is_component
PASS [ 0.009s] (1230/2902) pdftract-core layout::correction::tests::test_ligature_repair_no_fffd
PASS [ 0.009s] (1231/2902) pdftract-core layout::correction::tests::test_mojibake_detected_and_repaired
PASS [ 0.008s] (1232/2902) pdftract-core layout::correction::tests::test_mojibake_multiple_indicators
PASS [ 0.008s] (1233/2902) pdftract-core layout::correction::tests::test_nbsp_indicator
PASS [ 0.009s] (1234/2902) pdftract-core layout::correction::tests::test_multiple_mojibake_patterns
PASS [ 0.012s] (1235/2902) pdftract-core layout::correction::tests::test_mojibake_single_indicator_threshold
PASS [ 0.011s] (1236/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_arabic_strips_bom
PASS [ 0.011s] (1237/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_arabic_preserves_zwnj_zwj
PASS [ 0.009s] (1238/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_auto_detect_arabic
PASS [ 0.021s] (1239/2902) pdftract-core layout::correction::tests::test_ligature_repair_no_adjacent_ligature
PASS [ 0.018s] (1240/2902) pdftract-core layout::correction::tests::test_mixed_ascii_and_mojibake
PASS [ 0.009s] (1241/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_auto_detect_devanagari
PASS [ 0.007s] (1242/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_bengali_preserves_joiners
PASS [ 0.015s] (1243/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_arabic_strips_zw_space
PASS [ 0.013s] (1244/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_auto_detect_latin
PASS [ 0.012s] (1245/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_devanagari_preserves_zwnj_zwj
PASS [ 0.009s] (1246/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_devanagari_strips_zw_space
PASS [ 0.009s] (1247/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_empty_span
PASS [ 0.009s] (1248/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_latin_bom
PASS [ 0.009s] (1249/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_hebrew_preserves_joiners
PASS [ 0.011s] (1250/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_latin_zero_width_space
PASS [ 0.007s] (1251/2902) pdftract-core layout::correction::tests::test_script_preserves_joiners_all_complex_scripts
PASS [ 0.007s] (1252/2902) pdftract-core layout::correction::tests::test_script_preserves_joiners_arabic
PASS [ 0.007s] (1253/2902) pdftract-core layout::correction::tests::test_script_preserves_joiners_latin
PASS [ 0.017s] (1254/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_indic_preserves_joiners
PASS [ 0.009s] (1255/2902) pdftract-core layout::correction::tests::test_script_preserves_joiners_simple_scripts
PASS [ 0.015s] (1256/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_thai_preserves_joiners
PASS [ 0.016s] (1257/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_multiple_zero_width_chars
PASS [ 0.012s] (1258/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_unknown_script_strips_all
PASS [ 0.011s] (1259/2902) pdftract-core layout::correction::tests::test_smart_quote_mojibake
PASS [ 0.020s] (1260/2902) pdftract-core layout::correction::tests::test_normalize_word_breaks_latin_zwnj_zwj
PASS [ 0.015s] (1261/2902) pdftract-core layout::correction::tests::test_replacement_rejected_if_score_doesnt_improve
PASS [ 0.008s] (1262/2902) pdftract-core layout::figure::tests::test_classify_figure_empty_context
PASS [ 0.010s] (1263/2902) pdftract-core layout::figure::tests::test_bbox_area
PASS [ 0.011s] (1264/2902) pdftract-core layout::correction::tests::test_windows1252_specific
PASS [ 0.011s] (1265/2902) pdftract-core layout::figure::tests::test_bboxes_intersect
PASS [ 0.011s] (1266/2902) pdftract-core layout::figure::tests::test_classify_figure_no_glyphs
PASS [ 0.012s] (1267/2902) pdftract-core layout::figure::tests::test_classify_figure_exactly_at_threshold
PASS [ 0.010s] (1268/2902) pdftract-core layout::figure::tests::test_classify_figure_sort_order
PASS [ 0.014s] (1269/2902) pdftract-core layout::figure::tests::test_classify_figure_partial_text_above_threshold
PASS [ 0.011s] (1270/2902) pdftract-core layout::figure::tests::test_classify_figure_partial_text_below_threshold
PASS [ 0.016s] (1271/2902) pdftract-core layout::figure::tests::test_classify_figure_no_images
PASS [ 0.009s] (1272/2902) pdftract-core layout::figure::tests::test_compute_text_overlap_area_union
PASS [ 0.011s] (1273/2902) pdftract-core layout::figure::tests::test_classify_figure_text_on_image
PASS [ 0.011s] (1274/2902) pdftract-core layout::figure::tests::test_compute_text_overlap_area_multiple_glyphs
PASS [ 0.015s] (1275/2902) pdftract-core layout::figure::tests::test_classify_figure_pure_visual_image
PASS [ 0.011s] (1276/2902) pdftract-core layout::figure::tests::test_figure_block_properties
PASS [ 0.013s] (1277/2902) pdftract-core layout::figure::tests::test_five_figures_no_text
PASS [ 0.009s] (1278/2902) pdftract-core layout::header_footer::tests::test_classify_zone_exactly_at_threshold
PASS [ 0.007s] (1279/2902) pdftract-core layout::header_footer::tests::test_classify_zone_header_top_7_percent
PASS [ 0.008s] (1280/2902) pdftract-core layout::header_footer::tests::test_classify_zone_footer_bottom_7_percent
PASS [ 0.014s] (1281/2902) pdftract-core layout::figure::tests::test_text_covered_image_not_figure
PASS [ 0.008s] (1282/2902) pdftract-core layout::header_footer::tests::test_detect_headers_and_footers_invalid_page_height
PASS [ 0.010s] (1283/2902) pdftract-core layout::header_footer::tests::test_detect_headers_and_footers_different_columns_not_matched
PASS [ 0.010s] (1284/2902) pdftract-core layout::header_footer::tests::test_detect_headers_and_footers_empty_pages
PASS [ 0.017s] (1285/2902) pdftract-core layout::header_footer::tests::test_classify_zone_body_middle
PASS [ 0.012s] (1286/2902) pdftract-core layout::header_footer::tests::test_detect_headers_and_footers_mixed_content
PASS [ 0.011s] (1287/2902) pdftract-core layout::header_footer::tests::test_detect_headers_and_footers_single_page
PASS [ 0.008s] (1288/2902) pdftract-core layout::header_footer::tests::test_detect_headers_and_footers_three_pages_identical_header
PASS [ 0.008s] (1289/2902) pdftract-core layout::header_footer::tests::test_is_same_position_both_full_width
PASS [ 0.012s] (1290/2902) pdftract-core layout::header_footer::tests::test_detect_headers_and_footers_three_pages_footer
PASS [ 0.014s] (1291/2902) pdftract-core layout::header_footer::tests::test_detect_headers_and_footers_sliding_window
PASS [ 0.012s] (1292/2902) pdftract-core layout::header_footer::tests::test_detect_headers_and_footers_three_pages_similar_footer
PASS [ 0.009s] (1293/2902) pdftract-core layout::header_footer::tests::test_is_same_position_different_y_range
PASS [ 0.017s] (1294/2902) pdftract-core layout::header_footer::tests::test_detect_headers_and_footers_ten_pages_footer_with_page_numbers
PASS [ 0.009s] (1295/2902) pdftract-core layout::header_footer::tests::test_is_similar_text_cjk_char_level
PASS [ 0.014s] (1296/2902) pdftract-core layout::header_footer::tests::test_is_same_position_different_column
PASS [ 0.010s] (1297/2902) pdftract-core layout::header_footer::tests::test_is_similar_text_empty_strings
PASS [ 0.015s] (1298/2902) pdftract-core layout::header_footer::tests::test_detect_headers_and_footers_two_pages_not_classified
PASS [ 0.008s] (1299/2902) pdftract-core layout::header_footer::tests::test_is_similar_text_exactly_5_percent
PASS [ 0.008s] (1300/2902) pdftract-core layout::line::tests::test_classify_heading_12pt_block_12pt_body_not_heading
PASS [ 0.017s] (1301/2902) pdftract-core layout::header_footer::tests::test_is_same_position_same_column
PASS [ 0.008s] (1302/2902) pdftract-core layout::line::tests::test_classify_heading_18pt_block_12pt_body_one_line_heading
PASS [ 0.008s] (1303/2902) pdftract-core layout::line::tests::test_classify_heading_18pt_block_three_lines_not_heading
PASS [ 0.013s] (1304/2902) pdftract-core layout::header_footer::tests::test_is_similar_text_within_threshold
PASS [ 0.017s] (1305/2902) pdftract-core layout::header_footer::tests::test_is_similar_text_identical
PASS [ 0.009s] (1306/2902) pdftract-core layout::line::tests::test_classify_heading_small_page_body_median
PASS [ 0.013s] (1307/2902) pdftract-core layout::line::tests::test_classify_heading_14pt_block_12pt_body_one_line_not_heading
PASS [ 0.016s] (1308/2902) pdftract-core layout::header_footer::tests::test_is_similar_text_within_5_percent
PASS [ 0.014s] (1309/2902) pdftract-core layout::line::tests::test_classify_heading_empty_lines_not_heading
PASS [ 0.007s] (1310/2902) pdftract-core layout::line::tests::test_classify_heading_two_lines_not_heading
PASS [ 0.009s] (1311/2902) pdftract-core layout::line::tests::test_classify_heading_threshold_exactly_1_2_not_heading
PASS [ 0.008s] (1312/2902) pdftract-core layout::line::tests::test_classify_heading_threshold_just_above_1_2_is_heading
PASS [ 0.017s] (1313/2902) pdftract-core layout::line::tests::test_classify_heading_large_page_body_median
PASS [ 0.010s] (1314/2902) pdftract-core layout::line::tests::test_cluster_spans_baselines_100_100_5_105_median_12_one_line
PASS [ 0.010s] (1315/2902) pdftract-core layout::line::tests::test_cluster_spans_baselines_100_110_median_12_two_lines
PASS [ 0.011s] (1316/2902) pdftract-core layout::line::tests::test_cluster_spans_empty_input_empty_output
PASS [ 0.015s] (1317/2902) pdftract-core layout::line::tests::test_classify_page_headings_multiple
PASS [ 0.011s] (1318/2902) pdftract-core layout::line::tests::test_cluster_spans_median_font_size_computed
PASS [ 0.013s] (1319/2902) pdftract-core layout::line::tests::test_cluster_spans_baseline_computed_as_average
PASS [ 0.009s] (1320/2902) pdftract-core layout::line::tests::test_cluster_spans_threshold_is_0_5_times_median_font_size
PASS [ 0.010s] (1321/2902) pdftract-core layout::line::tests::test_cluster_spans_sorted_by_x0_within_line
PASS [ 0.012s] (1322/2902) pdftract-core layout::line::tests::test_cluster_spans_single_span_single_line
PASS [ 0.009s] (1323/2902) pdftract-core layout::line::tests::test_cluster_spans_two_column_at_same_y_one_line
PASS [ 0.008s] (1324/2902) pdftract-core layout::line::tests::test_compute_baseline_large_height
PASS [ 0.008s] (1325/2902) pdftract-core layout::line::tests::test_compute_baseline_normal_span
PASS [ 0.009s] (1326/2902) pdftract-core layout::line::tests::test_detect_line_direction_arabic_more_than_latin
PASS [ 0.010s] (1327/2902) pdftract-core layout::line::tests::test_detect_line_direction_arabic_dominant
PASS [ 0.009s] (1328/2902) pdftract-core layout::line::tests::test_detect_line_direction_cyrillic_text
PASS [ 0.020s] (1329/2902) pdftract-core layout::line::tests::test_cluster_spans_superscript_stays_on_same_line
PASS [ 0.015s] (1330/2902) pdftract-core layout::line::tests::test_cluster_spans_union_bbox_computed_correctly
PASS [ 0.014s] (1331/2902) pdftract-core layout::line::tests::test_compute_baseline_zero_height
PASS [ 0.010s] (1332/2902) pdftract-core layout::line::tests::test_detect_line_direction_empty_string
PASS [ 0.015s] (1333/2902) pdftract-core layout::line::tests::test_detect_line_direction_arabic_text
PASS [ 0.013s] (1334/2902) pdftract-core layout::line::tests::test_detect_line_direction_digits_only
PASS [ 0.008s] (1335/2902) pdftract-core layout::line::tests::test_detect_line_direction_latin_more_than_arabic
PASS [ 0.011s] (1336/2902) pdftract-core layout::line::tests::test_detect_line_direction_hebrew_text
PASS [ 0.008s] (1337/2902) pdftract-core layout::line::tests::test_detect_line_direction_latin_text
PASS [ 0.009s] (1338/2902) pdftract-core layout::line::tests::test_detect_line_direction_punctuation_only
PASS [ 0.009s] (1339/2902) pdftract-core layout::line::tests::test_empty_lines_returns_empty_blocks
PASS [ 0.015s] (1340/2902) pdftract-core layout::line::tests::test_detect_line_direction_latin_dominant
PASS [ 0.013s] (1341/2902) pdftract-core layout::line::tests::test_detect_line_direction_mixed_latin_arabic
PASS [ 0.010s] (1342/2902) pdftract-core layout::line::tests::test_five_lines_equal_spacing_one_block
PASS [ 0.009s] (1343/2902) pdftract-core layout::line::tests::test_indented_first_line_new_block
PASS [ 0.008s] (1344/2902) pdftract-core layout::line::tests::test_indented_first_line_of_paragraph_not_split
PASS [ 0.011s] (1345/2902) pdftract-core layout::line::tests::test_heading_18pt_above_12pt_body_two_blocks
PASS [ 0.008s] (1346/2902) pdftract-core layout::line::tests::test_line_accessors
PASS [ 0.009s] (1347/2902) pdftract-core layout::line::tests::test_lines_sorted_by_column_then_baseline
PASS [ 0.009s] (1348/2902) pdftract-core layout::line::tests::test_rendering_mode_change_creates_new_block
PASS [ 0.011s] (1349/2902) pdftract-core layout::line::tests::test_line_direction_serdes_rtl
PASS [ 0.016s] (1350/2902) pdftract-core layout::line::tests::test_line_direction_serdes_mixed
PASS [ 0.010s] (1351/2902) pdftract-core layout::line::tests::test_two_column_separate_blocks
PASS [ 0.008s] (1352/2902) pdftract-core layout::line::tests::test_union_bboxes_multiple
PASS [ 0.017s] (1353/2902) pdftract-core layout::line::tests::test_line_direction_serdes_ltr
PASS [ 0.012s] (1354/2902) pdftract-core layout::line::tests::test_single_line_returns_single_block
PASS [ 0.012s] (1355/2902) pdftract-core layout::line::tests::test_union_bboxes_empty
PASS [ 0.014s] (1356/2902) pdftract-core layout::line::tests::test_thirty_pt_gap_creates_two_blocks
PASS [ 0.015s] (1357/2902) pdftract-core layout::line::tests::test_union_bboxes_disjoint
PASS [ 0.008s] (1358/2902) pdftract-core layout::line::tests::test_union_bboxes_nested
PASS [ 0.009s] (1359/2902) pdftract-core layout::line::tests::test_union_bboxes_single
PASS [ 0.012s] (1360/2902) pdftract-core layout::list::tests::test_classify_list_empty_block
PASS [ 0.014s] (1361/2902) pdftract-core layout::list::tests::test_classify_list_three_numbered_items
PASS [ 0.018s] (1362/2902) pdftract-core layout::list::tests::test_classify_list_exactly_80_percent
PASS [ 0.019s] (1363/2902) pdftract-core layout::list::tests::test_classify_list_four_of_five_bullet_items
PASS [ 0.019s] (1364/2902) pdftract-core layout::list::tests::test_classify_list_just_below_80_percent
PASS [ 0.019s] (1365/2902) pdftract-core layout::list::tests::test_classify_list_mixed_bullet_and_numbered
PASS [ 0.020s] (1366/2902) pdftract-core layout::list::tests::test_classify_list_single_bullet_item
PASS [ 0.018s] (1367/2902) pdftract-core layout::list::tests::test_classify_list_two_of_five_bullet_items
PASS [ 0.021s] (1368/2902) pdftract-core layout::list::tests::test_classify_list_unicode_bullets
PASS [ 0.014s] (1369/2902) pdftract-core layout::list::tests::test_starts_not_with_number
PASS [ 0.015s] (1370/2902) pdftract-core layout::list::tests::test_starts_with_bullet_asterisk
PASS [ 0.015s] (1371/2902) pdftract-core layout::list::tests::test_starts_with_bullet_dash
PASS [ 0.033s] (1372/2902) pdftract-core layout::list::tests::test_classify_list_three_bullet_items
PASS [ 0.030s] (1373/2902) pdftract-core layout::list::tests::test_classify_list_zero_matching
PASS [ 0.029s] (1374/2902) pdftract-core layout::list::tests::test_starts_not_with_bullet
PASS [ 0.017s] (1375/2902) pdftract-core layout::list::tests::test_starts_with_number_paren
PASS [ 0.008s] (1376/2902) pdftract-core layout::readability::tests::test_all_printable_english_high_coverage
PASS [ 0.023s] (1377/2902) pdftract-core layout::list::tests::test_starts_with_bullet_unicode
PASS [ 0.021s] (1378/2902) pdftract-core layout::list::tests::test_starts_with_number_dot
PASS [ 0.012s] (1379/2902) pdftract-core layout::readability::tests::test_all_perfect_scores
PASS [ 0.008s] (1380/2902) pdftract-core layout::readability::tests::test_all_unscored_spans
PASS [ 0.014s] (1381/2902) pdftract-core layout::readability::tests::test_all_replacement_chars
PASS [ 0.028s] (1382/2902) pdftract-core layout::list::tests::test_starts_with_bullet_with_whitespace
PASS [ 0.021s] (1383/2902) pdftract-core layout::list::tests::test_starts_with_number_with_whitespace
PASS [ 0.008s] (1384/2902) pdftract-core layout::readability::tests::test_char_weighted_median_example
PASS [ 0.011s] (1385/2902) pdftract-core layout::readability::tests::test_all_whitespace
PASS [ 0.009s] (1386/2902) pdftract-core layout::readability::tests::test_confidence_threshold
PASS [ 0.009s] (1387/2902) pdftract-core layout::readability::tests::test_dict_coverage_disabled_non_english
PASS [ 0.012s] (1388/2902) pdftract-core layout::readability::tests::test_all_zero_scores
PASS [ 0.017s] (1389/2902) pdftract-core layout::readability::tests::test_all_same_score
PASS [ 0.015s] (1390/2902) pdftract-core layout::readability::tests::test_char_weighted_median_even_split
PASS [ 0.011s] (1391/2902) pdftract-core layout::readability::tests::test_empty_page
PASS [ 0.008s] (1392/2902) pdftract-core layout::readability::tests::test_empty_span_returns_zero
PASS [ 0.009s] (1393/2902) pdftract-core layout::readability::tests::test_longer_span_dominates
PASS [ 0.009s] (1394/2902) pdftract-core layout::readability::tests::test_mixed_scored_unscored
PASS [ 0.009s] (1395/2902) pdftract-core layout::readability::tests::test_low_confidence_scaling
PASS [ 0.013s] (1396/2902) pdftract-core layout::readability::tests::test_empty_strings
PASS [ 0.008s] (1397/2902) pdftract-core layout::readability::tests::test_printable_fraction_perfect
PASS [ 0.010s] (1398/2902) pdftract-core layout::readability::tests::test_non_english_enables_dict_only_for_en
PASS [ 0.017s] (1399/2902) pdftract-core layout::readability::tests::test_ligature_split_penalty
PASS [ 0.010s] (1400/2902) pdftract-core layout::readability::tests::test_single_span
PASS [ 0.014s] (1401/2902) pdftract-core layout::readability::tests::test_nan_score_handling
PASS [ 0.008s] (1402/2902) pdftract-core layout::readability::tests::test_zero_width_joiner
PASS [ 0.008s] (1403/2902) pdftract-core layout::reading_order::tests::test_block_with_bbox_bbox
PASS [ 0.015s] (1404/2902) pdftract-core layout::readability::tests::test_non_english_dict_disabled
PASS [ 0.013s] (1405/2902) pdftract-core layout::readability::tests::test_order_preservation
PASS [ 0.010s] (1406/2902) pdftract-core layout::readability::tests::test_unicode_char_count
PASS [ 0.008s] (1407/2902) pdftract-core layout::reading_order::tests::test_docstrum_all_one_column_vertical
PASS [ 0.008s] (1408/2902) pdftract-core layout::reading_order::tests::test_docstrum_all_one_line_horizontal
PASS [ 0.015s] (1409/2902) pdftract-core layout::readability::tests::test_whitespace_bounds
PASS [ 0.008s] (1410/2902) pdftract-core layout::reading_order::tests::test_find_horizontal_split_top_bottom
PASS [ 0.008s] (1411/2902) pdftract-core layout::reading_order::tests::test_docstrum_k_nearest_neighbors
PASS [ 0.008s] (1412/2902) pdftract-core layout::reading_order::tests::test_docstrum_scattered_pathological
PASS [ 0.010s] (1413/2902) pdftract-core layout::reading_order::tests::test_docstrum_empty
PASS [ 0.008s] (1414/2902) pdftract-core layout::reading_order::tests::test_find_vertical_split_no_gap
PASS [ 0.014s] (1415/2902) pdftract-core layout::reading_order::tests::test_docstrum_angle_constraint_within_line
PASS [ 0.013s] (1416/2902) pdftract-core layout::reading_order::tests::test_docstrum_magazine_main_and_sidebar
PASS [ 0.010s] (1417/2902) pdftract-core layout::reading_order::tests::test_find_vertical_split_two_columns
PASS [ 0.009s] (1418/2902) pdftract-core layout::reading_order::tests::test_union_bboxes
PASS [ 0.016s] (1419/2902) pdftract-core layout::reading_order::tests::test_docstrum_single_block
PASS [ 0.020s] (1420/2902) pdftract-core layout::reading_order::tests::test_docstrum_angle_constraint_between_line
PASS [ 0.008s] (1421/2902) pdftract-core layout::reading_order::tests::test_xy_cut_result_docstrum_trigger
PASS [ 0.010s] (1422/2902) pdftract-core layout::reading_order::tests::test_xy_cut_single_block
PASS [ 0.011s] (1423/2902) pdftract-core layout::reading_order::tests::test_xy_cut_full_width_heading_then_two_columns
PASS [ 0.012s] (1424/2902) pdftract-core layout::reading_order::tests::test_xy_cut_empty
PASS [ 0.009s] (1425/2902) pdftract-core layout::reading_order::tests::test_xy_cut_small_region_count
PASS [ 0.008s] (1426/2902) pdftract-core layout::reading_order::tests::test_xy_cut_three_columns
PASS [ 0.008s] (1427/2902) pdftract-core layout::watermark_formula::tests::test_classify_watermark_always_false
PASS [ 0.013s] (1428/2902) pdftract-core layout::reading_order::tests::test_xy_cut_two_columns_left_then_right
PASS [ 0.016s] (1429/2902) pdftract-core layout::reading_order::tests::test_xy_cut_single_column_top_to_bottom
PASS [ 0.011s] (1430/2902) pdftract-core layout::watermark_formula::tests::test_watermark_stub_documentation
PASS [ 0.012s] (1431/2902) pdftract-core layout::watermark_formula::tests::test_formula_stub_documentation
PASS [ 0.008s] (1432/2902) pdftract-core layout::wordlist::tests::test_empty_string
PASS [ 0.008s] (1433/2902) pdftract-core layout::wordlist::tests::test_inflected_forms
PASS [ 0.008s] (1434/2902) pdftract-core layout::wordlist::tests::test_common_words
PASS [ 0.010s] (1435/2902) pdftract-core layout::wordlist::tests::test_case_insensitive
PASS [ 0.018s] (1436/2902) pdftract-core layout::watermark_formula::tests::test_classify_formula_always_false
PASS [ 0.008s] (1437/2902) pdftract-core layout::wordlist::tests::test_single_letter_words
PASS [ 0.011s] (1438/2902) pdftract-core layout::wordlist::tests::test_non_ascii_returns_false
PASS [ 0.017s] (1439/2902) pdftract-core layout::wordlist::tests::test_lookup_timing
PASS [ 0.014s] (1440/2902) pdftract-core layout::wordlist::tests::test_not_in_wordlist
PASS [ 0.008s] (1441/2902) pdftract-core log_policy::tests::test_redact_header_value
PASS [ 0.018s] (1442/2902) pdftract-core layout::wordlist::tests::test_medium_frequency_words
PASS [ 0.017s] (1443/2902) pdftract-core log_policy::tests::test_is_sensitive_header
PASS [ 0.008s] (1444/2902) pdftract-core markdown::span_tests::test_block_to_markdown_with_links_and_footnotes_empty_footnotes
PASS [ 0.025s] (1445/2902) pdftract-core log_policy::tests::test_redact_cookie
PASS [ 0.026s] (1446/2902) pdftract-core log_policy::tests::test_redact_bearer_token
PASS [ 0.029s] (1447/2902) pdftract-core log_policy::tests::test_redact_base64_like_patterns
PASS [ 0.015s] (1448/2902) pdftract-core markdown::span_tests::test_collapse_page_ranges_contiguous
PASS [ 0.008s] (1449/2902) pdftract-core markdown::span_tests::test_collapse_page_ranges_mixed
PASS [ 0.014s] (1450/2902) pdftract-core markdown::span_tests::test_collapse_page_ranges_gaps
PASS [ 0.026s] (1451/2902) pdftract-core log_policy::tests::test_redact_multiple_patterns
PASS [ 0.008s] (1452/2902) pdftract-core markdown::span_tests::test_emit_html_table_row_and_colspan
PASS [ 0.008s] (1453/2902) pdftract-core markdown::span_tests::test_emit_html_table_header_cells
PASS [ 0.025s] (1454/2902) pdftract-core log_policy::tests::test_redact_truncates_long_strings
PASS [ 0.008s] (1455/2902) pdftract-core markdown::span_tests::test_emit_table_merged_cells_html_fallback
PASS [ 0.009s] (1456/2902) pdftract-core markdown::span_tests::test_emit_table_empty
PASS [ 0.040s] (1457/2902) pdftract-core log_policy::tests::test_log_policy_filter_contains_secrets
PASS [ 0.015s] (1458/2902) pdftract-core markdown::span_tests::test_collapse_page_ranges_single_page
PASS [ 0.008s] (1459/2902) pdftract-core markdown::span_tests::test_emit_table_single_row
PASS [ 0.019s] (1460/2902) pdftract-core markdown::span_tests::test_emit_gfm_table_variable_width
PASS [ 0.009s] (1461/2902) pdftract-core markdown::span_tests::test_emit_table_rowspan_html_fallback
PASS [ 0.012s] (1462/2902) pdftract-core markdown::span_tests::test_emit_table_simple_3x3
PASS [ 0.010s] (1463/2902) pdftract-core markdown::span_tests::test_emit_table_with_newline_in_cell
PASS [ 0.015s] (1464/2902) pdftract-core markdown::span_tests::test_emit_table_no_header
PASS [ 0.009s] (1465/2902) pdftract-core markdown::span_tests::test_escape_markdown_inline_asterisk
PASS [ 0.041s] (1466/2902) pdftract-core log_policy::tests::test_redact_password
PASS [ 0.012s] (1467/2902) pdftract-core markdown::span_tests::test_emit_table_with_pipe_in_cell
PASS [ 0.042s] (1468/2902) pdftract-core log_policy::tests::test_redact_preserves_urls
PASS [ 0.008s] (1469/2902) pdftract-core markdown::span_tests::test_escape_markdown_inline_brackets
PASS [ 0.013s] (1470/2902) pdftract-core markdown::span_tests::test_escape_markdown_inline_backslash
PASS [ 0.008s] (1471/2902) pdftract-core markdown::span_tests::test_escape_markdown_inline_less_greater
PASS [ 0.008s] (1472/2902) pdftract-core markdown::span_tests::test_escape_markdown_inline_plus_minus
PASS [ 0.011s] (1473/2902) pdftract-core markdown::span_tests::test_escape_markdown_inline_backtick
PASS [ 0.008s] (1474/2902) pdftract-core markdown::span_tests::test_escape_pipe_newline_to_br
PASS [ 0.012s] (1475/2902) pdftract-core markdown::span_tests::test_escape_markdown_inline_underscore
PASS [ 0.012s] (1476/2902) pdftract-core markdown::span_tests::test_escape_pipe
PASS [ 0.013s] (1477/2902) pdftract-core markdown::span_tests::test_escape_markdown_inline_multiple_special
PASS [ 0.012s] (1478/2902) pdftract-core markdown::span_tests::test_escape_pipe_html_entities
PASS [ 0.017s] (1479/2902) pdftract-core markdown::span_tests::test_escape_markdown_inline_hash
PASS [ 0.008s] (1480/2902) pdftract-core markdown::span_tests::test_markdown_with_page_breaks_emits_horizontal_rule
PASS [ 0.010s] (1481/2902) pdftract-core markdown::span_tests::test_page_to_markdown_with_links_and_footnotes_emits_footnote_ref_and_def
PASS [ 0.009s] (1482/2902) pdftract-core markdown::span_tests::test_page_to_markdown_with_links_emits_internal_page_link
PASS [ 0.012s] (1483/2902) pdftract-core markdown::span_tests::test_page_to_markdown_with_links_and_footnotes_no_footnotes_emits_no_markers
PASS [ 0.010s] (1484/2902) pdftract-core markdown::span_tests::test_span_to_markdown_bold
PASS [ 0.010s] (1485/2902) pdftract-core markdown::span_tests::test_span_to_markdown_bold_italic
PASS [ 0.012s] (1486/2902) pdftract-core markdown::span_tests::test_span_to_markdown_all_flags
PASS [ 0.011s] (1487/2902) pdftract-core markdown::span_tests::test_span_to_markdown_bold_superscript_combination
PASS [ 0.020s] (1488/2902) pdftract-core markdown::span_tests::test_markdown_no_page_breaks_omits_horizontal_rule
PASS [ 0.008s] (1489/2902) pdftract-core markdown::span_tests::test_span_to_markdown_empty_string
PASS [ 0.018s] (1490/2902) pdftract-core markdown::span_tests::test_page_to_markdown_with_links_and_footnotes_emits_inline_link
PASS [ 0.016s] (1491/2902) pdftract-core markdown::span_tests::test_span_to_markdown_bold_subscript_combination
PASS [ 0.008s] (1492/2902) pdftract-core markdown::span_tests::test_span_to_markdown_smallcaps_with_special_chars
PASS [ 0.012s] (1493/2902) pdftract-core markdown::span_tests::test_span_to_markdown_italic
PASS [ 0.010s] (1494/2902) pdftract-core markdown::span_tests::test_span_to_markdown_no_flags
PASS [ 0.015s] (1495/2902) pdftract-core markdown::span_tests::test_span_to_markdown_bold_with_asterisk_in_text
PASS [ 0.010s] (1496/2902) pdftract-core markdown::span_tests::test_span_to_markdown_special_chars_escaped
PASS [ 0.008s] (1497/2902) pdftract-core markdown::span_tests::test_span_to_markdown_superscript
PASS [ 0.008s] (1498/2902) pdftract-core markdown::span_tests::test_span_to_markdown_subscript_with_special_chars
PASS [ 0.014s] (1499/2902) pdftract-core markdown::span_tests::test_span_to_markdown_smallcaps
PASS [ 0.019s] (1500/2902) pdftract-core markdown::span_tests::test_span_to_markdown_italic_subscript_combination
PASS [ 0.013s] (1501/2902) pdftract-core markdown::span_tests::test_span_to_markdown_subscript
PASS [ 0.008s] (1502/2902) pdftract-core markdown::span_tests::test_threads_to_markdown_multiple_threads
PASS [ 0.007s] (1503/2902) pdftract-core markdown::tests::test_anchor_to_comment
PASS [ 0.012s] (1504/2902) pdftract-core markdown::span_tests::test_threads_to_markdown_empty
PASS [ 0.009s] (1505/2902) pdftract-core markdown::span_tests::test_threads_to_markdown_untitled_thread
PASS [ 0.013s] (1506/2902) pdftract-core markdown::span_tests::test_span_to_markdown_whitespace_only
PASS [ 0.010s] (1507/2902) pdftract-core markdown::tests::test_anchor_to_comment_round_bbox
PASS [ 0.013s] (1508/2902) pdftract-core markdown::span_tests::test_threads_to_markdown_single_thread
FAIL [ 0.009s] (1509/2902) pdftract-core markdown::tests::test_block_to_markdown_formula_display
stdout ───
running 1 test
test markdown::tests::test_block_to_markdown_formula_display ... FAILED
failures:
failures:
markdown::tests::test_block_to_markdown_formula_display
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'markdown::tests::test_block_to_markdown_formula_display' (1392798) panicked at crates/pdftract-core/src/markdown.rs:1620:9:
assertion failed: md.contains("$$\n")
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.020s] (1510/2902) pdftract-core markdown::span_tests::test_span_to_markdown_superscript_with_special_chars
PASS [ 0.008s] (1511/2902) pdftract-core markdown::tests::test_block_to_markdown_heading_with_anchor
FAIL [ 0.019s] (1512/2902) pdftract-core markdown::span_tests::test_spans_to_markdown_with_links_and_footnotes_footnote_takes_precedence
stdout ───
running 1 test
test markdown::span_tests::test_spans_to_markdown_with_links_and_footnotes_footnote_takes_precedence ... FAILED
failures:
failures:
markdown::span_tests::test_spans_to_markdown_with_links_and_footnotes_footnote_takes_precedence
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'markdown::span_tests::test_spans_to_markdown_with_links_and_footnotes_footnote_takes_precedence' (1392802) panicked at crates/pdftract-core/src/markdown.rs:3647:9:
Footnote ref should be emitted
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.008s] (1513/2902) pdftract-core markdown::tests::test_block_to_markdown_list_bulleted
PASS [ 0.014s] (1514/2902) pdftract-core markdown::tests::test_block_to_markdown_formula_inline
PASS [ 0.009s] (1515/2902) pdftract-core markdown::tests::test_block_to_markdown_list_numbered_preserves_numbering
PASS [ 0.011s] (1516/2902) pdftract-core markdown::tests::test_block_to_markdown_list
PASS [ 0.009s] (1517/2902) pdftract-core markdown::tests::test_block_to_markdown_paragraph_no_soft_break
PASS [ 0.020s] (1518/2902) pdftract-core markdown::tests::test_block_to_markdown_figure
PASS [ 0.008s] (1519/2902) pdftract-core markdown::tests::test_emit_list_blocks_empty
PASS [ 0.012s] (1520/2902) pdftract-core markdown::tests::test_block_to_markdown_paragraph_soft_line_break
PASS [ 0.010s] (1521/2902) pdftract-core markdown::tests::test_emit_list_blocks_nested_sublist
PASS [ 0.013s] (1522/2902) pdftract-core markdown::tests::test_block_to_markdown_paragraph_without_anchor
PASS [ 0.008s] (1523/2902) pdftract-core markdown::tests::test_page_to_markdown_with_page_break
PASS [ 0.008s] (1524/2902) pdftract-core markdown::tests::test_page_to_markdown_with_nested_list
PASS [ 0.011s] (1525/2902) pdftract-core markdown::tests::test_emit_list_blocks_single_item
PASS [ 0.015s] (1526/2902) pdftract-core markdown::tests::test_block_to_markdown_table
PASS [ 0.011s] (1527/2902) pdftract-core markdown::tests::test_page_to_markdown_without_page_break
PASS [ 0.014s] (1528/2902) pdftract-core markdown::tests::test_page_to_markdown_with_anchors
PASS [ 0.008s] (1529/2902) pdftract-core markdown::tests::test_parse_bbox
PASS [ 0.008s] (1530/2902) pdftract-core options::tests::test_extraction_options_default
PASS [ 0.013s] (1531/2902) pdftract-core options::tests::test_extraction_options_default_ocr_language
PASS [ 0.011s] (1532/2902) pdftract-core options::tests::test_extraction_options_default_output
PASS [ 0.008s] (1533/2902) pdftract-core options::tests::test_extraction_options_deserialize_ocr_language_default
PASS [ 0.009s] (1534/2902) pdftract-core options::tests::test_extraction_options_deserialize
PASS [ 0.019s] (1535/2902) pdftract-core markdown::tests::test_parse_anchors_whitespace_tolerant
PASS [ 0.018s] (1536/2902) pdftract-core markdown::tests::test_roundtrip_extract_and_parse
PASS [ 0.016s] (1537/2902) pdftract-core options::tests::test_extraction_options_default_parallelism
PASS [ 0.025s] (1538/2902) pdftract-core markdown::tests::test_parse_anchors_invalid_format_skipped
PASS [ 0.009s] (1539/2902) pdftract-core options::tests::test_extraction_options_with_output
PASS [ 0.028s] (1540/2902) pdftract-core markdown::tests::test_parse_anchors_single
PASS [ 0.008s] (1541/2902) pdftract-core options::tests::test_output_options_default
PASS [ 0.017s] (1542/2902) pdftract-core options::tests::test_extraction_options_serialize
PASS [ 0.030s] (1543/2902) pdftract-core markdown::tests::test_parse_anchors_multiple
PASS [ 0.008s] (1544/2902) pdftract-core options::tests::test_output_options_include_block_kind
PASS [ 0.014s] (1545/2902) pdftract-core options::tests::test_extraction_options_serialize_ocr_language
PASS [ 0.010s] (1546/2902) pdftract-core options::tests::test_output_options_include_block_kind_with_flags
PASS [ 0.015s] (1547/2902) pdftract-core options::tests::test_extraction_options_with_receipts_str
PASS [ 0.008s] (1548/2902) pdftract-core options::tests::test_output_options_include_span
PASS [ 0.017s] (1549/2902) pdftract-core options::tests::test_extraction_options_with_receipts
PASS [ 0.008s] (1550/2902) pdftract-core options::tests::test_output_options_include_span_with_flags
PASS [ 0.011s] (1551/2902) pdftract-core options::tests::test_output_options_include_headers_and_footers
PASS [ 0.010s] (1552/2902) pdftract-core options::tests::test_output_options_serialize
PASS [ 0.008s] (1553/2902) pdftract-core options::tests::test_receipts_mode_as_str
PASS [ 0.019s] (1554/2902) pdftract-core options::tests::test_output_options_deserialize
PASS [ 0.009s] (1555/2902) pdftract-core options::tests::test_per_page_budget_calculation
PASS [ 0.009s] (1556/2902) pdftract-core options::tests::test_receipts_mode_default
PASS [ 0.008s] (1557/2902) pdftract-core options::tests::test_receipts_mode_from_str
PASS [ 0.008s] (1558/2902) pdftract-core options::tests::test_with_parallelism_clamps_minimums
PASS [ 0.010s] (1559/2902) pdftract-core options::tests::test_receipts_mode_from_str_invalid
PASS [ 0.008s] (1560/2902) pdftract-core output::inspector::colors::tests::test_confidence_to_color_high
PASS [ 0.008s] (1561/2902) pdftract-core output::inspector::colors::tests::test_kind_to_color
PASS [ 0.011s] (1562/2902) pdftract-core output::inspector::colors::tests::test_color_constants_are_hex
PASS [ 0.011s] (1563/2902) pdftract-core output::inspector::colors::tests::test_confidence_to_color_low
PASS [ 0.011s] (1564/2902) pdftract-core output::inspector::colors::tests::test_confidence_to_color_medium
PASS [ 0.015s] (1565/2902) pdftract-core options::tests::test_receipts_mode_serialize
PASS [ 0.010s] (1566/2902) pdftract-core output::inspector::colors::tests::test_ocr_pattern_definition_is_valid_svg
PASS [ 0.009s] (1567/2902) pdftract-core output::inspector::layers::tests::test_block_kind_color_coverage
PASS [ 0.014s] (1568/2902) pdftract-core output::inspector::colors::tests::test_kind_to_stroke_color
PASS [ 0.008s] (1569/2902) pdftract-core output::inspector::layers::tests::test_layer_group_render
PASS [ 0.023s] (1570/2902) pdftract-core options::tests::test_receipts_mode_deserialize
PASS [ 0.010s] (1571/2902) pdftract-core output::inspector::layers::tests::test_escape_xml
PASS [ 0.009s] (1572/2902) pdftract-core output::inspector::layers::tests::test_render_blocks_layer
PASS [ 0.009s] (1573/2902) pdftract-core output::inspector::layers::tests::test_render_all_returns_eight_layers
PASS [ 0.013s] (1574/2902) pdftract-core output::inspector::layers::tests::test_page_data_builder
PASS [ 0.008s] (1575/2902) pdftract-core output::inspector::layers::tests::test_render_confidence_heatmap_layer
PASS [ 0.010s] (1576/2902) pdftract-core output::inspector::layers::tests::test_render_columns_layer
PASS [ 0.015s] (1577/2902) pdftract-core output::inspector::layers::tests::test_reading_order_max_arrows_limit
PASS [ 0.008s] (1578/2902) pdftract-core output::inspector::layers::tests::test_render_reading_order_layer
PASS [ 0.016s] (1579/2902) pdftract-core output::inspector::layers::tests::test_render_anchor_labels_layer
PASS [ 0.008s] (1580/2902) pdftract-core output::markdown::footnotes::tests::test_emit_footnote_def_with_text
PASS [ 0.009s] (1581/2902) pdftract-core output::markdown::footnotes::tests::test_emit_footnote_def_empty_text
PASS [ 0.014s] (1582/2902) pdftract-core output::inspector::layers::tests::test_render_ocr_regions_layer
PASS [ 0.008s] (1583/2902) pdftract-core output::markdown::footnotes::tests::test_emit_footnote_defs_multiple_sorted
PASS [ 0.015s] (1584/2902) pdftract-core output::inspector::layers::tests::test_render_spans_layer
PASS [ 0.013s] (1585/2902) pdftract-core output::markdown::footnotes::tests::test_emit_footnote_defs_single
PASS [ 0.008s] (1586/2902) pdftract-core output::markdown::footnotes::tests::test_page_footnotes_add_ref
PASS [ 0.008s] (1587/2902) pdftract-core output::markdown::footnotes::tests::test_page_footnotes_is_empty
PASS [ 0.020s] (1588/2902) pdftract-core output::inspector::layers::tests::test_svg_well_formedness
PASS [ 0.008s] (1589/2902) pdftract-core output::markdown::footnotes::tests::test_page_footnotes_new
PASS [ 0.017s] (1590/2902) pdftract-core output::markdown::footnotes::tests::test_emit_footnote_defs_empty
PASS [ 0.015s] (1591/2902) pdftract-core output::markdown::footnotes::tests::test_emit_footnote_defs_with_empty_text
PASS [ 0.016s] (1592/2902) pdftract-core output::markdown::footnotes::tests::test_emit_footnote_ref
PASS [ 0.010s] (1593/2902) pdftract-core output::markdown::links::tests::test_bbox_center
PASS [ 0.015s] (1594/2902) pdftract-core output::markdown::footnotes::tests::test_page_footnotes_add_definition
PASS [ 0.008s] (1595/2902) pdftract-core output::markdown::links::tests::test_concatenate_anchor_text
PASS [ 0.009s] (1596/2902) pdftract-core output::markdown::links::tests::test_emit_inline_link_none
PASS [ 0.010s] (1597/2902) pdftract-core output::markdown::links::tests::test_emit_inline_link_internal_page
PASS [ 0.010s] (1598/2902) pdftract-core output::markdown::links::tests::test_emit_inline_link_with_brackets
PASS [ 0.008s] (1599/2902) pdftract-core output::markdown::links::tests::test_emit_page_links_no_anchor_text
PASS [ 0.008s] (1600/2902) pdftract-core output::markdown::links::tests::test_emit_page_links_single_link
PASS [ 0.012s] (1601/2902) pdftract-core output::markdown::links::tests::test_emit_page_links_internal_destination
PASS [ 0.016s] (1602/2902) pdftract-core output::markdown::links::tests::test_emit_inline_link_external
PASS [ 0.011s] (1603/2902) pdftract-core output::markdown::links::tests::test_emit_page_links_no_valid_target
PASS [ 0.016s] (1604/2902) pdftract-core output::markdown::links::tests::test_emit_inline_link_internal_named
PASS [ 0.015s] (1605/2902) pdftract-core output::markdown::links::tests::test_emit_page_links_first_link_wins_for_overlap
PASS [ 0.013s] (1606/2902) pdftract-core output::markdown::links::tests::test_escape_link_text
PASS [ 0.010s] (1607/2902) pdftract-core output::markdown::links::tests::test_find_spans_in_link_multiple_spans
PASS [ 0.008s] (1608/2902) pdftract-core output::markdown::links::tests::test_find_spans_in_link_single_span
PASS [ 0.011s] (1609/2902) pdftract-core output::markdown::links::tests::test_find_spans_in_link_empty_rect
PASS [ 0.008s] (1610/2902) pdftract-core output::markdown::links::tests::test_resolve_link_target_external_mailto
PASS [ 0.015s] (1611/2902) pdftract-core output::markdown::links::tests::test_percent_encode_url
PASS [ 0.010s] (1612/2902) pdftract-core output::markdown::links::tests::test_resolve_link_target_internal_page
PASS [ 0.014s] (1613/2902) pdftract-core output::markdown::links::tests::test_point_in_rect
PASS [ 0.014s] (1614/2902) pdftract-core output::markdown::links::tests::test_resolve_link_target_external_http
PASS [ 0.013s] (1615/2902) pdftract-core output::markdown::links::tests::test_resolve_link_target_internal_named
PASS [ 0.012s] (1616/2902) pdftract-core output::markdown::links::tests::test_resolve_link_target_javascript_rejected
PASS [ 0.011s] (1617/2902) pdftract-core output::ndjson::buffer::tests::test_bead_sequence
PASS [ 0.011s] (1618/2902) pdftract-core output::ndjson::buffer::tests::test_buffer_size_tracking
PASS [ 0.008s] (1619/2902) pdftract-core output::ndjson::buffer::tests::test_completion_detection
PASS [ 0.014s] (1620/2902) pdftract-core output::markdown::links::tests::test_resolve_link_target_none
PASS [ 0.008s] (1621/2902) pdftract-core output::ndjson::buffer::tests::test_in_order_push_pop
PASS [ 0.009s] (1622/2902) pdftract-core output::ndjson::buffer::tests::test_gap_in_sequence
PASS [ 0.008s] (1623/2902) pdftract-core output::ndjson::frames::tests::test_ndjson_frame_footer_discriminator
PASS [ 0.008s] (1624/2902) pdftract-core output::ndjson::frames::tests::test_page_frame_with_empty_collections
PASS [ 0.010s] (1625/2902) pdftract-core output::ndjson::buffer::tests::test_out_of_order_push_pop
PASS [ 0.012s] (1626/2902) pdftract-core output::ndjson::buffer::tests::test_duplicate_detection
PASS [ 0.011s] (1627/2902) pdftract-core output::ndjson::frames::tests::test_roundtrip_footer_frame
PASS [ 0.013s] (1628/2902) pdftract-core output::ndjson::frames::tests::test_ndjson_frame_page_discriminator
PASS [ 0.017s] (1629/2902) pdftract-core output::ndjson::buffer::tests::test_concurrency_stress
PASS [ 0.009s] (1630/2902) pdftract-core output::ndjson::frames::tests::test_write_frame_includes_newline_and_flush
PASS [ 0.010s] (1631/2902) pdftract-core output::ndjson::frames::tests::test_roundtrip_header_frame
PASS [ 0.015s] (1632/2902) pdftract-core output::ndjson::frames::tests::test_ndjson_frame_header_discriminator
PASS [ 0.008s] (1633/2902) pdftract-core output::ndjson::pipeline::tests::test_extract_streaming_smoke
PASS [ 0.007s] (1634/2902) pdftract-core page_class::page_classification_tests::test_page_classification_debug_assert_fires_on_invalid_confidence
PASS [ 0.015s] (1635/2902) pdftract-core output::ndjson::frames::tests::test_roundtrip_page_frame
PASS [ 0.012s] (1636/2902) pdftract-core page_class::page_classification_tests::test_page_classification_btree_set_deterministic_order
PASS [ 0.009s] (1637/2902) pdftract-core page_class::page_classification_tests::test_page_classification_invariant_hybrid_cells_only_for_hybrid
PASS [ 0.009s] (1638/2902) pdftract-core page_class::page_classification_tests::test_page_classification_new_vector
PASS [ 0.008s] (1639/2902) pdftract-core page_class::page_type_string_tests::test_page_class_as_type_str
PASS [ 0.009s] (1640/2902) pdftract-core page_class::page_type_string_tests::test_page_type_enum_schema_set
PASS [ 0.009s] (1641/2902) pdftract-core page_class::page_classification_tests::test_page_classification_serialize_hybrid_with_cells
PASS [ 0.011s] (1642/2902) pdftract-core page_class::page_type_string_tests::test_page_class_can_escalate_to_broken_vector
PASS [ 0.013s] (1643/2902) pdftract-core page_class::page_classification_tests::test_page_classification_hybrid_cells_none_omitted_from_json
PASS [ 0.008s] (1644/2902) pdftract-core page_class::page_type_string_tests::test_page_type_string_blank_override
PASS [ 0.014s] (1645/2902) pdftract-core page_class::page_classification_tests::test_page_classification_roundtrip_all_variants
PASS [ 0.009s] (1646/2902) pdftract-core page_class::page_type_string_tests::test_page_type_string_figure_only_override
PASS [ 0.010s] (1647/2902) pdftract-core page_class::page_type_string_tests::test_page_type_string_exhaustive_combinations
PASS [ 0.009s] (1648/2902) pdftract-core page_class::page_type_string_tests::test_page_type_string_hybrid
PASS [ 0.014s] (1649/2902) pdftract-core page_class::page_type_string_tests::test_page_type_string_broken_vector_ocr_failed
PASS [ 0.008s] (1650/2902) pdftract-core page_class::page_type_string_tests::test_page_type_string_vector
PASS [ 0.011s] (1651/2902) pdftract-core page_class::page_type_string_tests::test_page_type_string_scanned
PASS [ 0.010s] (1652/2902) pdftract-core page_class::tests::test_pageclass_hashable
PASS [ 0.014s] (1653/2902) pdftract-core page_class::page_type_string_tests::test_page_type_string_broken_vector_ocr_succeeded
PASS [ 0.012s] (1654/2902) pdftract-core page_class::tests::test_serialize_deserialize_roundtrip
PASS [ 0.008s] (1655/2902) pdftract-core pages::tests::test_parse_empty_range
PASS [ 0.009s] (1656/2902) pdftract-core pages::tests::test_parse_deduplication
PASS [ 0.013s] (1657/2902) pdftract-core pages::tests::test_parse_closed_range
PASS [ 0.009s] (1658/2902) pdftract-core pages::tests::test_parse_invalid_integer
PASS [ 0.008s] (1659/2902) pdftract-core pages::tests::test_parse_malformed_range_double_dash
PASS [ 0.009s] (1660/2902) pdftract-core pages::tests::test_parse_mixed_ranges
PASS [ 0.009s] (1661/2902) pdftract-core pages::tests::test_parse_open_end_range
PASS [ 0.008s] (1662/2902) pdftract-core pages::tests::test_parse_out_of_range_open_end
PASS [ 0.017s] (1663/2902) pdftract-core pages::tests::test_parse_complex_example
PASS [ 0.008s] (1664/2902) pdftract-core pages::tests::test_parse_open_start_range
PASS [ 0.008s] (1665/2902) pdftract-core pages::tests::test_parse_out_of_range_single
PASS [ 0.015s] (1666/2902) pdftract-core pages::tests::test_parse_multiple_single_pages
PASS [ 0.017s] (1667/2902) pdftract-core pages::tests::test_parse_malformed_range_only_dash
PASS [ 0.010s] (1668/2902) pdftract-core pages::tests::test_parse_single_page
PASS [ 0.008s] (1669/2902) pdftract-core pages::tests::test_parse_sorted_output
PASS [ 0.014s] (1670/2902) pdftract-core pages::tests::test_parse_out_of_range_in_closed_range
PASS [ 0.008s] (1671/2902) pdftract-core pages::tests::test_parse_zero_page
PASS [ 0.009s] (1672/2902) pdftract-core pages::tests::test_parse_whitespace_tolerance
PASS [ 0.008s] (1673/2902) pdftract-core parser::catalog::tests::test_catalog_new
PASS [ 0.010s] (1674/2902) pdftract-core parser::catalog::tests::test_letters_edge_cases
PASS [ 0.009s] (1675/2902) pdftract-core parser::catalog::tests::test_mark_info_default
PASS [ 0.009s] (1676/2902) pdftract-core parser::catalog::tests::test_mark_info_parse
PASS [ 0.019s] (1677/2902) pdftract-core parser::catalog::proptests::fuzz_letters_no_panics
PASS [ 0.012s] (1678/2902) pdftract-core parser::catalog::tests::test_mark_info_parse_with_suspects
PASS [ 0.008s] (1679/2902) pdftract-core parser::catalog::tests::test_page_label_format
PASS [ 0.008s] (1680/2902) pdftract-core parser::catalog::tests::test_page_label_parse
PASS [ 0.010s] (1681/2902) pdftract-core parser::catalog::tests::test_page_label_format_with_prefix
PASS [ 0.027s] (1682/2902) pdftract-core parser::catalog::proptests::fuzz_roman_numerals_no_panics
PASS [ 0.014s] (1683/2902) pdftract-core parser::catalog::tests::test_mark_info_requires_coverage_check
PASS [ 0.008s] (1684/2902) pdftract-core parser::catalog::tests::test_page_label_style_from_name
PASS [ 0.009s] (1685/2902) pdftract-core parser::catalog::tests::test_page_labels_tree_empty
PASS [ 0.009s] (1686/2902) pdftract-core parser::catalog::tests::test_page_labels_tree_get_label
PASS [ 0.038s] (1687/2902) pdftract-core parser::catalog::proptests::fuzz_page_label_parse_no_panics
PASS [ 0.017s] (1688/2902) pdftract-core parser::catalog::tests::test_page_label_style_format
PASS [ 0.042s] (1689/2902) pdftract-core parser::catalog::proptests::fuzz_mark_info_parse_no_panics
PASS [ 0.013s] (1690/2902) pdftract-core parser::catalog::tests::test_page_labels_tree_with_prefix
PASS [ 0.008s] (1691/2902) pdftract-core parser::catalog::tests::test_parse_catalog_optional_fields_missing
PASS [ 0.015s] (1692/2902) pdftract-core parser::catalog::tests::test_page_labels_tree_parse_nums
PASS [ 0.010s] (1693/2902) pdftract-core parser::catalog::tests::test_parse_catalog_not_a_dict
PASS [ 0.008s] (1694/2902) pdftract-core parser::catalog::tests::test_parse_catalog_resolve_error
PASS [ 0.110s] (1695/2902) pdftract-core output::ndjson::buffer::tests::test_backpressure_blocks_when_full
PASS [ 0.015s] (1696/2902) pdftract-core parser::catalog::tests::test_parse_catalog_missing_pages
PASS [ 0.009s] (1697/2902) pdftract-core parser::catalog::tests::test_parse_catalog_success
PASS [ 0.049s] (1698/2902) pdftract-core parser::catalog::proptests::fuzz_page_labels_tree_parse_no_panics
PASS [ 0.009s] (1699/2902) pdftract-core parser::catalog::tests::test_parse_catalog_with_version
PASS [ 0.010s] (1700/2902) pdftract-core parser::catalog::tests::test_reading_order_algorithm_as_str
PASS [ 0.010s] (1701/2902) pdftract-core parser::catalog::tests::test_reading_order_algorithm_from_str
PASS [ 0.010s] (1702/2902) pdftract-core parser::catalog::tests::test_reading_order_algorithm_roundtrip
PASS [ 0.009s] (1703/2902) pdftract-core parser::diagnostic::tests::test_diagnostic_error
PASS [ 0.008s] (1704/2902) pdftract-core parser::diagnostic::tests::test_diagnostic_new
PASS [ 0.015s] (1705/2902) pdftract-core parser::catalog::tests::test_roman_numerals_edge_cases
PASS [ 0.023s] (1706/2902) pdftract-core parser::catalog::tests::test_parse_catalog_tagged_pdf
PASS [ 0.012s] (1707/2902) pdftract-core parser::diagnostic::tests::test_diagnostic_warning
PASS [ 0.008s] (1708/2902) pdftract-core parser::hint_stream::tests::test_hint_table_page_count
PASS [ 0.011s] (1709/2902) pdftract-core parser::hint_stream::tests::test_bit_reader_read_bits
PASS [ 0.009s] (1710/2902) pdftract-core parser::hint_stream::tests::test_hint_table_predict_page_range
PASS [ 0.013s] (1711/2902) pdftract-core parser::hint_stream::tests::test_bit_reader_read_u32
PASS [ 0.018s] (1712/2902) pdftract-core parser::hint_stream::tests::test_bit_reader_has_bits
PASS [ 0.015s] (1713/2902) pdftract-core parser::hint_stream::tests::test_bit_reader_single_bit
PASS [ 0.008s] (1714/2902) pdftract-core parser::hint_stream::tests::test_parse_hint_header_too_many_pages
PASS [ 0.008s] (1715/2902) pdftract-core parser::hint_stream::tests::test_parse_hint_header_zero_pages
PASS [ 0.009s] (1716/2902) pdftract-core parser::hint_stream::tests::test_parse_hint_stream_empty
PASS [ 0.014s] (1717/2902) pdftract-core parser::hint_stream::tests::test_parse_hint_header_invalid_version
PASS [ 0.026s] (1718/2902) pdftract-core parser::hint_stream::tests::prop_parse_hint_stream_no_panic
PASS [ 0.014s] (1719/2902) pdftract-core parser::hint_stream::tests::test_parse_hint_header_minimal
PASS [ 0.011s] (1720/2902) pdftract-core parser::inline_image::tests::test_id_whitespace_validation
PASS [ 0.008s] (1721/2902) pdftract-core parser::inline_image::tests::test_parse_basic_header
PASS [ 0.008s] (1722/2902) pdftract-core parser::inline_image::tests::test_parse_header_with_array_filter
PASS [ 0.008s] (1723/2902) pdftract-core parser::inline_image::tests::test_parse_header_with_missing_value
PASS [ 0.008s] (1724/2902) pdftract-core parser::inline_image::tests::test_scan_inline_image_data_empty
FAIL [ 0.020s] (1725/2902) pdftract-core parser::hint_stream::tests::test_parse_hint_stream_full_minimal
stdout ───
running 1 test
test parser::hint_stream::tests::test_parse_hint_stream_full_minimal ... FAILED
failures:
failures:
parser::hint_stream::tests::test_parse_hint_stream_full_minimal
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::hint_stream::tests::test_parse_hint_stream_full_minimal' (1393240) panicked at crates/pdftract-core/src/parser/hint_stream.rs:840:9:
assertion failed: result.is_some()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.007s] (1726/2902) pdftract-core parser::inline_image::tests::test_scan_inline_image_data_no_ei
PASS [ 0.009s] (1727/2902) pdftract-core parser::inline_image::tests::test_scan_inline_image_data_lexer_position
PASS [ 0.011s] (1728/2902) pdftract-core parser::inline_image::tests::test_scan_inline_image_data_binary_content
PASS [ 0.008s] (1729/2902) pdftract-core parser::inline_image::tests::test_scan_inline_image_data_various_whitespace
PASS [ 0.015s] (1730/2902) pdftract-core parser::inline_image::tests::test_scan_inline_image_data_basic
PASS [ 0.021s] (1731/2902) pdftract-core parser::inline_image::tests::test_inline_image_header_has_required_fields
PASS [ 0.023s] (1732/2902) pdftract-core parser::inline_image::tests::test_inline_image_header_new
PASS [ 0.011s] (1733/2902) pdftract-core parser::inline_image::tests::test_scan_inline_image_data_with_embedded_ei
PASS [ 0.008s] (1734/2902) pdftract-core parser::lexer::tests::bool_and_null_sequence
PASS [ 0.009s] (1735/2902) pdftract-core parser::inline_image::tests::test_shorthand_expansion
PASS [ 0.009s] (1736/2902) pdftract-core parser::lexer::tests::array_with_integers
PASS [ 0.008s] (1737/2902) pdftract-core parser::lexer::tests::bool_literals
PASS [ 0.012s] (1738/2902) pdftract-core parser::lexer::tests::array_delimiters
PASS [ 0.008s] (1739/2902) pdftract-core parser::lexer::tests::empty_input_returns_eof_then_none
PASS [ 0.014s] (1740/2902) pdftract-core parser::lexer::tests::bool_case_sensitive
PASS [ 0.013s] (1741/2902) pdftract-core parser::lexer::tests::dict_delimiters
PASS [ 0.011s] (1742/2902) pdftract-core parser::lexer::tests::dict_with_name_and_integer
PASS [ 0.010s] (1743/2902) pdftract-core parser::lexer::tests::hex_string_dict_not_confused
PASS [ 0.010s] (1744/2902) pdftract-core parser::lexer::tests::hex_string_dict_start_hex_string_dict_end
PASS [ 0.009s] (1745/2902) pdftract-core parser::lexer::tests::hex_string_hello_world
PASS [ 0.014s] (1746/2902) pdftract-core parser::lexer::tests::hex_string_all_zero_bytes
PASS [ 0.014s] (1747/2902) pdftract-core parser::lexer::tests::hex_string_empty
PASS [ 0.011s] (1748/2902) pdftract-core parser::lexer::tests::hex_string_invalid_char_emits_diagnostic
PASS [ 0.010s] (1749/2902) pdftract-core parser::lexer::tests::hex_string_mixed_case
PASS [ 0.008s] (1750/2902) pdftract-core parser::lexer::tests::hex_string_odd_length_multiple_nibbles
PASS [ 0.008s] (1751/2902) pdftract-core parser::lexer::tests::hex_string_odd_length_single_nibble
PASS [ 0.008s] (1752/2902) pdftract-core parser::lexer::tests::hex_string_unterminated_with_dangling_nibble
PASS [ 0.014s] (1753/2902) pdftract-core parser::lexer::tests::hex_string_multiple_invalid_chars
PASS [ 0.011s] (1754/2902) pdftract-core parser::lexer::tests::hex_string_vs_dict_start
PASS [ 0.010s] (1755/2902) pdftract-core parser::lexer::tests::hex_string_with_tab_whitespace
PASS [ 0.020s] (1756/2902) pdftract-core parser::lexer::tests::hex_string_lower_case_max_byte
PASS [ 0.018s] (1757/2902) pdftract-core parser::lexer::tests::hex_string_max_byte_value
PASS [ 0.016s] (1758/2902) pdftract-core parser::lexer::tests::hex_string_unterminated_emits_diagnostic
PASS [ 0.010s] (1759/2902) pdftract-core parser::lexer::tests::indirect_ref_keyword
PASS [ 0.011s] (1760/2902) pdftract-core parser::lexer::tests::indirect_object_header_and_null
PASS [ 0.014s] (1761/2902) pdftract-core parser::lexer::tests::hex_string_with_whitespace
PASS [ 0.009s] (1762/2902) pdftract-core parser::lexer::tests::name_hex_escape_decodes_to_hash
PASS [ 0.012s] (1763/2902) pdftract-core parser::lexer::tests::name_case_sensitive
PASS [ 0.010s] (1764/2902) pdftract-core parser::lexer::tests::name_empty
PASS [ 0.014s] (1765/2902) pdftract-core parser::lexer::tests::indirect_reference_pattern
PASS [ 0.012s] (1766/2902) pdftract-core parser::lexer::tests::name_hex_escape_zero_zero_is_nul
PASS [ 0.015s] (1767/2902) pdftract-core parser::lexer::tests::name_hex_escape_mixed_case
PASS [ 0.010s] (1768/2902) pdftract-core parser::lexer::tests::name_length_limit_127_bytes
PASS [ 0.016s] (1769/2902) pdftract-core parser::lexer::tests::name_empty_followed_by_delimiter
PASS [ 0.014s] (1770/2902) pdftract-core parser::lexer::tests::name_invalid_hex_escape_keeps_hash_literal
PASS [ 0.008s] (1771/2902) pdftract-core parser::lexer::tests::name_length_limit_counts_raw_bytes_before_expansion
PASS [ 0.008s] (1772/2902) pdftract-core parser::lexer::tests::name_literal_nul_byte_rejected
PASS [ 0.010s] (1773/2902) pdftract-core parser::lexer::tests::name_length_limit_exact_127_bytes_valid
PASS [ 0.140s] (1774/2902) pdftract-core parser::catalog::proptests::fuzz_parse_catalog_no_panics
PASS [ 0.020s] (1775/2902) pdftract-core parser::lexer::tests::name_invalid_hex_escape_single_digit
PASS [ 0.016s] (1776/2902) pdftract-core parser::lexer::tests::name_multiple_invalid_hex_escapes
PASS [ 0.008s] (1777/2902) pdftract-core parser::lexer::tests::name_with_bytes_preserved
PASS [ 0.009s] (1778/2902) pdftract-core parser::lexer::tests::name_simple
PASS [ 0.008s] (1779/2902) pdftract-core parser::lexer::tests::name_with_hex_escape_space
PASS [ 0.010s] (1780/2902) pdftract-core parser::lexer::tests::name_truncation_before_incomplete_escape
PASS [ 0.012s] (1781/2902) pdftract-core parser::lexer::tests::name_with_all_delimiters
PASS [ 0.019s] (1782/2902) pdftract-core parser::lexer::tests::name_nul_byte_rejected
PASS [ 0.010s] (1783/2902) pdftract-core parser::lexer::tests::name_zero_byte_not_confused_with_nul
PASS [ 0.012s] (1784/2902) pdftract-core parser::lexer::tests::name_with_slash_delimiter
PASS [ 0.012s] (1785/2902) pdftract-core parser::lexer::tests::null_keyword
PASS [ 0.010s] (1786/2902) pdftract-core parser::lexer::tests::numeric_hex_notation_not_supported
PASS [ 0.010s] (1787/2902) pdftract-core parser::lexer::tests::numeric_integer_negative
PASS [ 0.012s] (1788/2902) pdftract-core parser::lexer::tests::numeric_double_sign_emits_diagnostic
PASS [ 0.013s] (1789/2902) pdftract-core parser::lexer::tests::numeric_bare_sign_emits_diagnostic
PASS [ 0.010s] (1790/2902) pdftract-core parser::lexer::tests::numeric_overflow_clamps_to_max
PASS [ 0.017s] (1791/2902) pdftract-core parser::lexer::tests::numeric_integer_positive
PASS [ 0.008s] (1792/2902) pdftract-core parser::lexer::tests::numeric_real_dot_then_digits
PASS [ 0.010s] (1793/2902) pdftract-core parser::lexer::tests::numeric_real_negative_dot_then_digits
PASS [ 0.009s] (1794/2902) pdftract-core parser::lexer::tests::numeric_real_negative_dot_then_digits_with_boundary
PASS [ 0.010s] (1795/2902) pdftract-core parser::lexer::tests::numeric_real_digits_then_dot
PASS [ 0.011s] (1796/2902) pdftract-core parser::lexer::tests::numeric_real_simple
PASS [ 0.021s] (1797/2902) pdftract-core parser::lexer::tests::numeric_integer_positive_zero
PASS [ 0.010s] (1798/2902) pdftract-core parser::lexer::tests::numeric_scientific_notation_rejected
PASS [ 0.009s] (1799/2902) pdftract-core parser::lexer::tests::obj_keywords
PASS [ 0.012s] (1800/2902) pdftract-core parser::lexer::tests::position_advances_through_whitespace
PASS [ 0.010s] (1801/2902) pdftract-core parser::lexer::tests::position_tracks_bytes
PASS [ 0.025s] (1802/2902) pdftract-core parser::lexer::tests::numeric_multiple_dots_emits_diagnostic
PASS [ 0.008s] (1803/2902) pdftract-core parser::lexer::tests::stream_header_valid_line_endings
PASS [ 0.013s] (1804/2902) pdftract-core parser::lexer::tests::stream_header_lone_cr_emits_diagnostic
PASS [ 0.012s] (1805/2902) pdftract-core parser::lexer::tests::string_literal_balanced_parens
PASS [ 0.028s] (1806/2902) pdftract-core parser::lexer::tests::proptest_valid_string_roundtrips
PASS [ 0.025s] (1807/2902) pdftract-core parser::lexer::tests::stream_header_no_line_ending_emits_diagnostic
PASS [ 0.017s] (1808/2902) pdftract-core parser::lexer::tests::stream_keywords
PASS [ 0.041s] (1809/2902) pdftract-core parser::lexer::tests::proptest_hex_string_roundtrip_via_reencode
PASS [ 0.008s] (1810/2902) pdftract-core parser::lexer::tests::string_literal_deeply_nested_parens
PASS [ 0.010s] (1811/2902) pdftract-core parser::lexer::tests::string_literal_empty
PASS [ 0.010s] (1812/2902) pdftract-core parser::lexer::tests::string_literal_escape_backspace
PASS [ 0.009s] (1813/2902) pdftract-core parser::lexer::tests::string_literal_escape_carriage_return
PASS [ 0.008s] (1814/2902) pdftract-core parser::lexer::tests::string_literal_escape_newline
PASS [ 0.017s] (1815/2902) pdftract-core parser::lexer::tests::string_literal_escape_backslash
PASS [ 0.008s] (1816/2902) pdftract-core parser::lexer::tests::string_literal_escape_right_paren
PASS [ 0.093s] (1817/2902) pdftract-core parser::lexer::tests::name_proptest_always_produces_valid_token
PASS [ 0.020s] (1818/2902) pdftract-core parser::lexer::tests::string_literal_escape_form_feed
PASS [ 0.017s] (1819/2902) pdftract-core parser::lexer::tests::string_literal_escape_left_paren
PASS [ 0.095s] (1820/2902) pdftract-core parser::lexer::tests::name_proptest_never_panics_on_random_bytes
PASS [ 0.010s] (1821/2902) pdftract-core parser::lexer::tests::string_literal_escape_tab
PASS [ 0.009s] (1822/2902) pdftract-core parser::lexer::tests::string_literal_line_continuation_crlf
PASS [ 0.013s] (1823/2902) pdftract-core parser::lexer::tests::string_literal_line_continuation_cr
PASS [ 0.009s] (1824/2902) pdftract-core parser::lexer::tests::string_literal_octal_escape_out_of_range_emits_diagnostic
PASS [ 0.009s] (1825/2902) pdftract-core parser::lexer::tests::string_literal_octal_escape_non_octal_following
PASS [ 0.014s] (1826/2902) pdftract-core parser::lexer::tests::string_literal_line_continuation_lf
PASS [ 0.015s] (1827/2902) pdftract-core parser::lexer::tests::string_literal_octal_escape_single_digit
PASS [ 0.008s] (1828/2902) pdftract-core parser::lexer::tests::string_literal_unterminated_emits_diagnostic
PASS [ 0.009s] (1829/2902) pdftract-core parser::lexer::tests::string_literal_unknown_escape_emits_literal
PASS [ 0.016s] (1830/2902) pdftract-core parser::lexer::tests::string_literal_octal_escape_two_digits
PASS [ 0.020s] (1831/2902) pdftract-core parser::lexer::tests::string_literal_octal_escape_three_digits
PASS [ 0.019s] (1832/2902) pdftract-core parser::lexer::tests::string_literal_simple_text
PASS [ 0.008s] (1833/2902) pdftract-core parser::lexer::tests::whitespace_only_returns_eof
PASS [ 0.011s] (1834/2902) pdftract-core parser::lexer::tests::take_diagnostics_clears_buffer
PASS [ 0.015s] (1835/2902) pdftract-core parser::lexer::tests::string_literal_unterminated_with_escape
PASS [ 0.008s] (1836/2902) pdftract-core parser::marked_content::tests::test_compute_coverage
PASS [ 0.013s] (1837/2902) pdftract-core parser::lexer::tests::take_diagnostics_returns_empty_for_valid_input
PASS [ 1.807s] (1838/2902) pdftract-core cache::multi_process::tests::test_stress_concurrent_access
PASS [ 0.008s] (1839/2902) pdftract-core parser::marked_content::tests::test_coverage_result_above_threshold
PASS [ 0.009s] (1840/2902) pdftract-core parser::marked_content::tests::test_coverage_result_below_threshold
PASS [ 0.008s] (1841/2902) pdftract-core parser::marked_content::tests::test_coverage_result_threshold_edge_case
PASS [ 0.102s] (1842/2902) pdftract-core parser::lexer::tests::proptest_hex_string_never_panics_on_random_bytes
PASS [ 0.008s] (1843/2902) pdftract-core parser::marked_content::tests::test_mcid_tracker_new
PASS [ 0.018s] (1844/2902) pdftract-core parser::marked_content::tests::test_compute_coverage_from_sets
PASS [ 0.015s] (1845/2902) pdftract-core parser::marked_content::tests::test_coverage_result_no_mcids
PASS [ 0.008s] (1846/2902) pdftract-core parser::marked_content::tests::test_mcid_tracker_record_mcid
PASS [ 0.013s] (1847/2902) pdftract-core parser::marked_content::tests::test_fallback_diagnostic_no_mcids
PASS [ 0.017s] (1848/2902) pdftract-core parser::marked_content::tests::test_coverage_result_full_coverage
PASS [ 0.009s] (1849/2902) pdftract-core parser::marked_content_operators::tests::test_bdc_tag_leading_slash
PASS [ 0.103s] (1850/2902) pdftract-core parser::lexer::tests::proptest_random_bytes_never_panics
PASS [ 0.014s] (1851/2902) pdftract-core parser::marked_content::tests::test_fallback_diagnostic_message
PASS [ 0.008s] (1852/2902) pdftract-core parser::marked_content_operators::tests::test_extract_mcid_from_dict_missing
PASS [ 0.008s] (1853/2902) pdftract-core parser::marked_content_operators::tests::test_extract_mcid_from_dict_real_fractional
PASS [ 0.008s] (1854/2902) pdftract-core parser::marked_content_operators::tests::test_extract_mcid_from_dict_valid
PASS [ 0.015s] (1855/2902) pdftract-core parser::marked_content_operators::tests::test_bmc_tag_leading_slash
PASS [ 0.008s] (1856/2902) pdftract-core parser::marked_content_operators::tests::test_nested_marked_content
PASS [ 0.013s] (1857/2902) pdftract-core parser::marked_content_operators::tests::test_emit_unknown_property_name
PASS [ 0.119s] (1858/2902) pdftract-core parser::lexer::tests::proptest_numeric_never_panics
PASS [ 0.015s] (1859/2902) pdftract-core parser::marked_content_operators::tests::test_extract_mcid_from_dict_negative
PASS [ 0.015s] (1860/2902) pdftract-core parser::marked_content_operators::tests::test_extract_mcid_from_dict_real_whole
PASS [ 0.116s] (1861/2902) pdftract-core parser::lexer::tests::proptest_string_never_panics_on_random_bytes
PASS [ 0.014s] (1862/2902) pdftract-core parser::marked_content_operators::tests::test_extract_mcid_from_dict_zero
PASS [ 0.016s] (1863/2902) pdftract-core parser::marked_content_operators::tests::test_emit_invalid_bdc_operand
PASS [ 0.009s] (1864/2902) pdftract-core parser::marked_content_operators::tests::test_parse_bdc_non_oc_tag_ignores_ocg_property
PASS [ 0.008s] (1865/2902) pdftract-core parser::marked_content_operators::tests::test_parse_bdc_oc_tag_not_ocg
PASS [ 0.009s] (1866/2902) pdftract-core parser::marked_content_operators::tests::test_parse_bdc_slash_oc_tag
PASS [ 0.011s] (1867/2902) pdftract-core parser::marked_content_operators::tests::test_parse_bdc_oc_tag_with_ocg_not_in_off_set
PASS [ 0.008s] (1868/2902) pdftract-core parser::marked_content_operators::tests::test_parse_bdc_with_inline_dict_no_mcid
PASS [ 0.013s] (1869/2902) pdftract-core parser::marked_content_operators::tests::test_parse_bdc_oc_tag_with_ocg_in_off_set
PASS [ 0.008s] (1870/2902) pdftract-core parser::marked_content_operators::tests::test_parse_emc_underflow
PASS [ 0.011s] (1871/2902) pdftract-core parser::marked_content_operators::tests::test_parse_bdc_with_real_mcid_large
PASS [ 0.011s] (1872/2902) pdftract-core parser::marked_content_operators::tests::test_parse_emc_success
PASS [ 0.013s] (1873/2902) pdftract-core parser::marked_content_operators::tests::test_parse_bdc_with_inline_dict_mcid
PASS [ 0.008s] (1874/2902) pdftract-core parser::marked_content_stack::tests::test_empty_stack
PASS [ 0.015s] (1875/2902) pdftract-core parser::marked_content_operators::tests::test_parse_bmc
PASS [ 0.008s] (1876/2902) pdftract-core parser::marked_content_stack::tests::test_frame_bdc
PASS [ 0.009s] (1877/2902) pdftract-core parser::marked_content_stack::tests::test_frame_bdc_hidden
PASS [ 0.010s] (1878/2902) pdftract-core parser::marked_content_stack::tests::test_depth_limit
PASS [ 0.016s] (1879/2902) pdftract-core parser::marked_content_operators::tests::test_parse_bdc_with_property_name_not_found
PASS [ 0.014s] (1880/2902) pdftract-core parser::marked_content_operators::tests::test_stack_depth_limit
PASS [ 0.016s] (1881/2902) pdftract-core parser::marked_content_operators::tests::test_parse_bdc_with_property_name_found
PASS [ 0.009s] (1882/2902) pdftract-core parser::marked_content_stack::tests::test_frame_new
PASS [ 0.008s] (1883/2902) pdftract-core parser::marked_content_stack::tests::test_innermost_mcid_with_nested
PASS [ 0.014s] (1884/2902) pdftract-core parser::marked_content_stack::tests::test_frame_bmc
PASS [ 0.008s] (1885/2902) pdftract-core parser::marked_content_stack::tests::test_pop_emc_underflow
PASS [ 0.008s] (1886/2902) pdftract-core parser::marked_content_stack::tests::test_push_bdc_with_mcid
PASS [ 0.013s] (1887/2902) pdftract-core parser::marked_content_stack::tests::test_nested_frames
PASS [ 0.009s] (1888/2902) pdftract-core parser::marked_content_stack::tests::test_push_bmc
PASS [ 0.010s] (1889/2902) pdftract-core parser::marked_content_stack::tests::test_stack_is_hidden_empty
PASS [ 0.010s] (1890/2902) pdftract-core parser::marked_content_stack::tests::test_reset
PASS [ 0.016s] (1891/2902) pdftract-core parser::marked_content_stack::tests::test_pop_emc
PASS [ 0.010s] (1892/2902) pdftract-core parser::marked_content_stack::tests::test_stack_is_hidden_nested_outer_hidden
PASS [ 0.010s] (1893/2902) pdftract-core parser::marked_content_stack::tests::test_stack_is_hidden_no_hidden_frames
PASS [ 0.014s] (1894/2902) pdftract-core parser::marked_content_stack::tests::test_push_bdc_without_mcid
PASS [ 0.008s] (1895/2902) pdftract-core parser::marked_content_stack::tests::test_take_diagnostics
PASS [ 0.014s] (1896/2902) pdftract-core parser::marked_content_stack::tests::test_stack_is_hidden_nested_inner_hidden
PASS [ 0.007s] (1897/2902) pdftract-core parser::object::cache::tests::test_cache_hit_miss
PASS [ 0.011s] (1898/2902) pdftract-core parser::marked_content_stack::tests::test_stack_is_hidden_with_hidden_frame
PASS [ 0.010s] (1899/2902) pdftract-core parser::object::cache::tests::test_cache_clear
FAIL [ 0.008s] (1900/2902) pdftract-core parser::object::cache::tests::test_end_resolution_manually
stdout ───
running 1 test
test parser::object::cache::tests::test_end_resolution_manually ... FAILED
failures:
failures:
parser::object::cache::tests::test_end_resolution_manually
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::object::cache::tests::test_end_resolution_manually' (1393591) panicked at crates/pdftract-core/src/parser/object/cache.rs:735:9:
assertion `left == right` failed
left: 0
right: 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAIL [ 0.008s] (1901/2902) pdftract-core parser::object::cache::tests::test_depth_tracking_across_resolutions
stdout ───
running 1 test
test parser::object::cache::tests::test_depth_tracking_across_resolutions ... FAILED
failures:
failures:
parser::object::cache::tests::test_depth_tracking_across_resolutions
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::object::cache::tests::test_depth_tracking_across_resolutions' (1393592) panicked at crates/pdftract-core/src/parser/object/cache.rs:621:13:
assertion `left == right` failed
left: 0
right: 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.009s] (1902/2902) pdftract-core parser::object::cache::tests::test_depth_limit
PASS [ 0.009s] (1903/2902) pdftract-core parser::object::cache::tests::test_null_not_cached
PASS [ 0.008s] (1904/2902) pdftract-core parser::object::cache::tests::test_peek_lru
PASS [ 0.015s] (1905/2902) pdftract-core parser::object::cache::tests::test_cycle_detection_fails_on_cycle
PASS [ 0.015s] (1906/2902) pdftract-core parser::object::cache::tests::test_cycle_detection
PASS [ 0.008s] (1907/2902) pdftract-core parser::object::cache::tests::test_reset_stats
PASS [ 0.013s] (1908/2902) pdftract-core parser::object::cache::tests::test_is_lru
PASS [ 0.012s] (1909/2902) pdftract-core parser::object::cache::tests::test_lru_eviction
PASS [ 0.013s] (1910/2902) pdftract-core parser::object::cache::tests::test_hit_ratio
PASS [ 0.009s] (1911/2902) pdftract-core parser::object::cache::tests::test_thread_local_cycle_detection
PASS [ 0.009s] (1912/2902) pdftract-core parser::object::cycle::tests::test_cross_thread_independence
PASS [ 0.010s] (1913/2902) pdftract-core parser::object::cycle::tests::test_capacity_sufficient_for_typical_depth
PASS [ 0.015s] (1914/2902) pdftract-core parser::object::cache::tests::test_resolution_guard_cleanup_on_panic
PASS [ 0.010s] (1915/2902) pdftract-core parser::object::cycle::tests::test_three_cycle_abc
PASS [ 0.012s] (1916/2902) pdftract-core parser::object::cycle::tests::test_guard_drop_on_panic
PASS [ 0.013s] (1917/2902) pdftract-core parser::object::cycle::tests::test_cycle_detection_self
PASS [ 0.015s] (1918/2902) pdftract-core parser::object::cycle::tests::test_linear_chain_resolves_correctly
PASS [ 0.016s] (1919/2902) pdftract-core parser::object::cycle::tests::test_cycle_detection_ab
PASS [ 0.010s] (1920/2902) pdftract-core parser::object::parser::tests::test_depth_exceeded_at_256
PASS [ 0.008s] (1921/2902) pdftract-core parser::object::parser::tests::test_parse_4_level_nested_dict
PASS [ 0.010s] (1922/2902) pdftract-core parser::object::parser::tests::test_parse_array_of_integers
PASS [ 0.009s] (1923/2902) pdftract-core parser::object::parser::tests::test_parse_dict_with_invalid_key
PASS [ 0.021s] (1924/2902) pdftract-core parser::object::parser::tests::proptest_tests::proptest_random_bytes_no_panic
PASS [ 0.012s] (1925/2902) pdftract-core parser::object::parser::tests::test_parse_bool
PASS [ 0.022s] (1926/2902) pdftract-core parser::object::parser::tests::proptest_indirect_tests::proptest_random_bytes_no_panic_indirect
PASS [ 0.008s] (1927/2902) pdftract-core parser::object::parser::tests::test_parse_dict_with_missing_value
PASS [ 0.018s] (1928/2902) pdftract-core parser::object::parser::tests::test_negative_indirect_ref
PASS [ 0.020s] (1929/2902) pdftract-core parser::object::parser::tests::test_eof_returns_none
PASS [ 0.012s] (1930/2902) pdftract-core parser::object::parser::tests::test_parse_dict
PASS [ 0.017s] (1931/2902) pdftract-core parser::object::parser::tests::test_parse_array_5_elements_mixed_types
PASS [ 0.011s] (1932/2902) pdftract-core parser::object::parser::tests::test_parse_empty_array
PASS [ 0.008s] (1933/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_object_eof_returns_none
PASS [ 0.011s] (1934/2902) pdftract-core parser::object::parser::tests::test_parse_empty_dict
PASS [ 0.008s] (1935/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_object_negative_object_number
PASS [ 0.008s] (1936/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_object_with_array
PASS [ 0.015s] (1937/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_object_integer_overflow
PASS [ 0.017s] (1938/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_object_generation_overflow
PASS [ 0.007s] (1939/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_ref
PASS [ 0.008s] (1940/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_object_with_stream
PASS [ 0.015s] (1941/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_object_invalid_header
PASS [ 0.010s] (1942/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_object_with_integer
PASS [ 0.015s] (1943/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_object_missing_endobj
PASS [ 0.014s] (1944/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_object_simple
PASS [ 0.014s] (1945/2902) pdftract-core parser::object::parser::tests::test_parse_indirect_object_with_dict
PASS [ 0.009s] (1946/2902) pdftract-core parser::object::parser::tests::test_parse_integer
PASS [ 0.041s] (1947/2902) pdftract-core parser::object::parser::tests::proptest_tests::proptest_random_tokens_no_panic
PASS [ 0.008s] (1948/2902) pdftract-core parser::object::parser::tests::test_parse_mixed_array
PASS [ 0.008s] (1949/2902) pdftract-core parser::object::parser::tests::test_parse_nested_array
PASS [ 0.009s] (1950/2902) pdftract-core parser::object::parser::tests::test_parse_string
PASS [ 0.009s] (1951/2902) pdftract-core parser::object::parser::tests::test_parse_nested_dict
PASS [ 0.009s] (1952/2902) pdftract-core parser::object::parser::tests::test_parse_name
PASS [ 0.010s] (1953/2902) pdftract-core parser::object::parser::tests::test_position_tracking
PASS [ 0.012s] (1954/2902) pdftract-core parser::object::types::tests::test_as_array
PASS [ 0.014s] (1955/2902) pdftract-core parser::object::parser::tests::test_parse_real
PASS [ 0.012s] (1956/2902) pdftract-core parser::object::types::tests::test_as_dict
PASS [ 0.014s] (1957/2902) pdftract-core parser::object::parser::tests::test_truncated_dict_at_eof
PASS [ 0.017s] (1958/2902) pdftract-core parser::object::parser::tests::test_parse_null
PASS [ 0.008s] (1959/2902) pdftract-core parser::object::types::tests::test_as_string
PASS [ 0.008s] (1960/2902) pdftract-core parser::object::types::tests::test_as_ref
PASS [ 0.009s] (1961/2902) pdftract-core parser::object::types::tests::test_as_real
PASS [ 0.015s] (1962/2902) pdftract-core parser::object::types::tests::test_as_int
PASS [ 0.014s] (1963/2902) pdftract-core parser::object::types::tests::test_as_name
PASS [ 0.007s] (1964/2902) pdftract-core parser::object::types::tests::test_is_null
PASS [ 0.009s] (1965/2902) pdftract-core parser::object::types::tests::test_as_stream
PASS [ 0.009s] (1966/2902) pdftract-core parser::object::types::tests::test_name_interner_dedup
PASS [ 0.011s] (1967/2902) pdftract-core parser::object::types::tests::test_name_interner_common_names
PASS [ 0.007s] (1968/2902) pdftract-core parser::object::types::tests::test_obj_ref_ordering
PASS [ 0.010s] (1969/2902) pdftract-core parser::object::types::tests::test_obj_ref_display
PASS [ 0.008s] (1970/2902) pdftract-core parser::object::types::tests::test_obj_ref_partial_ord
PASS [ 0.010s] (1971/2902) pdftract-core parser::object::types::tests::test_obj_ref_hash
PASS [ 0.011s] (1972/2902) pdftract-core parser::object::types::tests::test_pdf_object_partial_eq_real_nan
PASS [ 0.012s] (1973/2902) pdftract-core parser::object::types::tests::test_pdf_object_indirect_variant
PASS [ 0.008s] (1974/2902) pdftract-core parser::object::types::tests::test_pdf_stream_no_len_hint
PASS [ 0.009s] (1975/2902) pdftract-core parser::object::types::tests::test_pdf_stream_len_hint
PASS [ 0.016s] (1976/2902) pdftract-core parser::object::types::tests::test_pdf_indirect
PASS [ 0.016s] (1977/2902) pdftract-core parser::object::types::tests::test_pdf_dict_insertion_order
PASS [ 0.009s] (1978/2902) pdftract-core parser::objstm::tests::test_cache_hit
PASS [ 0.016s] (1979/2902) pdftract-core parser::object::types::tests::test_pdf_object_partial_eq_real_normal
PASS [ 0.018s] (1980/2902) pdftract-core parser::object::types::tests::test_pdf_dict_roundtrip_order
PASS [ 0.011s] (1981/2902) pdftract-core parser::object::types::tests::test_pdf_object_size
PASS [ 0.011s] (1982/2902) pdftract-core parser::objstm::tests::test_embedded_stream_rejected
PASS [ 0.016s] (1983/2902) pdftract-core parser::objstm::tests::test_circular_ref_detection
PASS [ 0.008s] (1984/2902) pdftract-core parser::objstm::tests::test_obj_stm_error_display
PASS [ 0.008s] (1985/2902) pdftract-core parser::objstm::tests::test_missing_key_first
PASS [ 0.008s] (1986/2902) pdftract-core parser::objstm::tests::test_max_extends_depth
PASS [ 0.017s] (1987/2902) pdftract-core parser::objstm::tests::test_decompression_bomb_objstm
PASS [ 0.010s] (1988/2902) pdftract-core parser::objstm::tests::test_get_object_api
PASS [ 0.012s] (1989/2902) pdftract-core parser::objstm::tests::test_missing_key_n
PASS [ 0.012s] (1990/2902) pdftract-core parser::objstm::tests::test_obj_stm_parser_default
PASS [ 0.010s] (1991/2902) pdftract-core parser::objstm::tests::test_objstm_extends_chain
PASS [ 0.009s] (1992/2902) pdftract-core parser::objstm::tests::test_parse_simple_objstm
PASS [ 0.010s] (1993/2902) pdftract-core parser::objstm::tests::test_parse_objstm_10_objects
PASS [ 0.009s] (1994/2902) pdftract-core parser::objstm::tests::test_truncated_objstm_body
PASS [ 0.017s] (1995/2902) pdftract-core parser::objstm::tests::test_obj_stm_parser_new
PASS [ 0.023s] (1996/2902) pdftract-core parser::objstm::tests::test_extends_depth_exceeded
PASS [ 0.008s] (1997/2902) pdftract-core parser::ocg::tests::test_base_state_from_name
PASS [ 0.008s] (1998/2902) pdftract-core parser::ocg::tests::test_oc_properties_not_present
PASS [ 0.009s] (1999/2902) pdftract-core parser::ocg::tests::test_ocg_group_parse
PASS [ 0.013s] (2000/2902) pdftract-core parser::ocg::tests::test_base_state_as_bool
PASS [ 0.008s] (2001/2902) pdftract-core parser::ocg::tests::test_ocmd_evaluation_any_on
PASS [ 0.009s] (2002/2902) pdftract-core parser::ocg::tests::test_ocmd_parse_single_ref
PASS [ 0.011s] (2003/2902) pdftract-core parser::ocg::tests::test_ocmd_parse
PASS [ 0.009s] (2004/2902) pdftract-core parser::ocg::tests::test_parse_oc_properties_base_state_off
PASS [ 0.009s] (2005/2902) pdftract-core parser::ocg::tests::test_parse_oc_properties_off_overrides_on
PASS [ 0.015s] (2006/2902) pdftract-core parser::ocg::tests::test_ocg_name_retrieval
PASS [ 0.012s] (2007/2902) pdftract-core parser::ocg::tests::test_ocmd_policy_from_name
PASS [ 0.015s] (2008/2902) pdftract-core parser::ocg::tests::test_ocmd_evaluation_all_on
PASS [ 0.018s] (2009/2902) pdftract-core parser::ocg::tests::test_ocg_name_none
PASS [ 0.008s] (2010/2902) pdftract-core parser::ocg::tests::test_unknown_ocg_treated_as_visible
PASS [ 0.009s] (2011/2902) pdftract-core parser::ocg::tests::test_parse_oc_properties_with_on_array
PASS [ 0.016s] (2012/2902) pdftract-core parser::ocg::tests::test_parse_oc_properties_simple
PASS [ 0.008s] (2013/2902) pdftract-core parser::outline::tests::test_decode_pdf_string_utf16be_bom
PASS [ 0.019s] (2014/2902) pdftract-core parser::ocg::tests::test_parse_oc_properties_with_off_array
PASS [ 0.009s] (2015/2902) pdftract-core parser::outline::tests::test_decode_pdf_string_utf16be_no_bom
PASS [ 0.010s] (2016/2902) pdftract-core parser::outline::tests::test_decode_pdf_string_utf16be_bom_odd_length
PASS [ 0.014s] (2017/2902) pdftract-core parser::outline::tests::test_decode_pdf_string_ascii
PASS [ 0.009s] (2018/2902) pdftract-core parser::outline::tests::test_decode_pdfdocencoding_bullet
PASS [ 0.046s] (2019/2902) pdftract-core parser::ocg::tests::proptests::fuzz_ocmd_parse_no_panics
PASS [ 0.015s] (2020/2902) pdftract-core parser::outline::tests::test_decode_pdfdocencoding_em_dash
PASS [ 0.011s] (2021/2902) pdftract-core parser::outline::tests::test_dest_anchor_fit
PASS [ 0.012s] (2022/2902) pdftract-core parser::outline::tests::test_dest_anchor_fith
PASS [ 0.029s] (2023/2902) pdftract-core parser::outline::proptests::fuzz_dest_anchor_from_array_no_panics
PASS [ 0.015s] (2024/2902) pdftract-core parser::outline::tests::test_dest_anchor_fitr
PASS [ 0.016s] (2025/2902) pdftract-core parser::outline::tests::test_decode_pdfdocencoding_fi_ligature
PASS [ 0.012s] (2026/2902) pdftract-core parser::outline::tests::test_dest_anchor_unknown_type
PASS [ 0.015s] (2027/2902) pdftract-core parser::outline::tests::test_dest_anchor_xyz
PASS [ 0.009s] (2028/2902) pdftract-core parser::outline::tests::test_outline_with_xyz_null_values
PASS [ 0.008s] (2029/2902) pdftract-core parser::outline::tests::test_parse_outlines_cycle_detection
PASS [ 0.041s] (2030/2902) pdftract-core parser::outline::proptests::fuzz_decode_pdfdocencoding_no_panics
PASS [ 0.010s] (2031/2902) pdftract-core parser::outline::tests::test_looks_like_utf16be
PASS [ 0.015s] (2032/2902) pdftract-core parser::outline::tests::test_invalid_outlines_root
PASS [ 0.010s] (2033/2902) pdftract-core parser::outline::tests::test_parse_outlines_goto_action
PASS [ 0.067s] (2034/2902) pdftract-core parser::ocg::tests::proptests::fuzz_parse_oc_properties_no_panics
PASS [ 0.012s] (2035/2902) pdftract-core parser::outline::tests::test_parse_outlines_missing_title
PASS [ 0.019s] (2036/2902) pdftract-core parser::outline::tests::test_empty_outlines
PASS [ 0.009s] (2037/2902) pdftract-core parser::outline::tests::test_parse_outlines_none
PASS [ 0.011s] (2038/2902) pdftract-core parser::outline::tests::test_parse_outlines_named_destination
PASS [ 0.009s] (2039/2902) pdftract-core parser::outline::tests::test_parse_outlines_siblings
PASS [ 0.009s] (2040/2902) pdftract-core parser::outline::tests::test_parse_outlines_uri_action
PASS [ 0.078s] (2041/2902) pdftract-core parser::ocg::tests::proptests::fuzz_ocg_group_parse_no_panics
PASS [ 0.015s] (2042/2902) pdftract-core parser::outline::tests::test_parse_outlines_nested
PASS [ 0.014s] (2043/2902) pdftract-core parser::outline::tests::test_parse_outlines_simple
PASS [ 0.008s] (2044/2902) pdftract-core parser::pages::tests::test_cycle_detection_in_page_tree
PASS [ 0.008s] (2045/2902) pdftract-core parser::pages::tests::test_flatten_single_page
PASS [ 0.008s] (2046/2902) pdftract-core parser::pages::tests::test_ec09_missing_mediabox_defaults_to_us_letter
PASS [ 0.008s] (2047/2902) pdftract-core parser::pages::tests::test_flatten_three_level_inheritance
PASS [ 0.022s] (2048/2902) pdftract-core parser::outline::tests::test_parse_outlines_with_count
PASS [ 0.024s] (2049/2902) pdftract-core parser::outline::tests::test_parse_outlines_three_level_hierarchy
PASS [ 0.016s] (2050/2902) pdftract-core parser::pages::tests::test_default_mediabox
PASS [ 0.016s] (2051/2902) pdftract-core parser::pages::tests::test_empty_pages_tree
PASS [ 0.009s] (2052/2902) pdftract-core parser::pages::tests::test_invalid_rotate_clamped
PASS [ 0.007s] (2053/2902) pdftract-core parser::pages::tests::test_parse_contents_none
PASS [ 0.033s] (2054/2902) pdftract-core parser::pages::proptests::fuzz_build_page_dict_no_panics
PASS [ 0.008s] (2055/2902) pdftract-core parser::pages::tests::test_parse_contents_single_ref
PASS [ 0.013s] (2056/2902) pdftract-core parser::pages::tests::test_parse_contents_array
PASS [ 0.034s] (2057/2902) pdftract-core parser::pages::proptests::fuzz_parse_rect_no_panics
PASS [ 0.011s] (2058/2902) pdftract-core parser::pages::tests::test_parse_rect_non_array
PASS [ 0.034s] (2059/2902) pdftract-core parser::pages::proptests::fuzz_rotate_clamping_no_panics
PASS [ 0.020s] (2060/2902) pdftract-core parser::pages::tests::test_invalid_rotate_135_clamped
PASS [ 0.009s] (2061/2902) pdftract-core parser::pages::tests::test_parse_rect_real
PASS [ 0.015s] (2062/2902) pdftract-core parser::pages::tests::test_parse_rect_invalid_length
PASS [ 0.008s] (2063/2902) pdftract-core parser::pages::tests::test_parse_rect_valid
PASS [ 0.008s] (2064/2902) pdftract-core parser::pages::tests::test_resource_inheritance_empty_root
PASS [ 0.020s] (2065/2902) pdftract-core parser::pages::tests::test_page_count_mismatch
PASS [ 0.010s] (2066/2902) pdftract-core parser::pages::tests::test_resource_inheritance_page_without_resources
PASS [ 0.009s] (2067/2902) pdftract-core parser::resources::tests::test_merge_all_namespaces
PASS [ 0.010s] (2068/2902) pdftract-core parser::pages::tests::test_valid_rotate_values
PASS [ 0.011s] (2069/2902) pdftract-core parser::resources::tests::test_merge_fonts_last_write_wins
PASS [ 0.008s] (2070/2902) pdftract-core parser::resources::tests::test_resource_dict_not_empty
PASS [ 0.014s] (2071/2902) pdftract-core parser::pages::tests::test_resource_inheritance_three_level
PASS [ 0.015s] (2072/2902) pdftract-core parser::resources::tests::test_empty_resource_dict
PASS [ 0.100s] (2073/2902) pdftract-core parser::outline::proptests::fuzz_decode_pdf_string_no_panics
PASS [ 0.017s] (2074/2902) pdftract-core parser::resources::tests::test_merge_colorspace_inline_array
PASS [ 0.008s] (2075/2902) pdftract-core parser::secrets::tests::test_fingerprint_consistency
PASS [ 0.015s] (2076/2902) pdftract-core parser::resources::tests::test_merge_procset_dedup
PASS [ 0.014s] (2077/2902) pdftract-core parser::resources::tests::test_merge_xobjects
PASS [ 0.010s] (2078/2902) pdftract-core parser::resources::tests::test_three_level_inheritance
PASS [ 0.019s] (2079/2902) pdftract-core parser::resources::tests::test_merge_null_child_returns_ancestor
PASS [ 0.011s] (2080/2902) pdftract-core parser::secrets::tests::test_fingerprint_display
PASS [ 0.009s] (2081/2902) pdftract-core parser::stream::crypt_tests::test_crypt_decode_bomb_limit
PASS [ 0.009s] (2082/2902) pdftract-core parser::stream::crypt_tests::test_crypt_custom_names_rejected
PASS [ 0.064s] (2083/2902) pdftract-core parser::pages::proptests::fuzz_flatten_page_tree_no_panics
PASS [ 0.009s] (2084/2902) pdftract-core parser::stream::crypt_tests::test_crypt_decode_missing_name
PASS [ 0.010s] (2085/2902) pdftract-core parser::stream::crypt_tests::test_crypt_decode_identity
PASS [ 0.009s] (2086/2902) pdftract-core parser::stream::crypt_tests::test_crypt_decoder_invalid_params
PASS [ 0.012s] (2087/2902) pdftract-core parser::stream::crypt_tests::test_crypt_decode_custom_rejected
PASS [ 0.011s] (2088/2902) pdftract-core parser::stream::crypt_tests::test_crypt_decoder_name
PASS [ 0.016s] (2089/2902) pdftract-core parser::secrets::tests::test_fingerprint_from_str
PASS [ 0.011s] (2090/2902) pdftract-core parser::stream::crypt_tests::test_crypt_identity_then_flate
PASS [ 0.015s] (2091/2902) pdftract-core parser::stream::crypt_tests::test_crypt_decode_no_params
PASS [ 0.009s] (2092/2902) pdftract-core parser::stream::integration_tests::test_decode_stream_ascii85_then_flate
PASS [ 0.008s] (2093/2902) pdftract-core parser::stream::integration_tests::test_decode_stream_abbreviation_array
PASS [ 0.011s] (2094/2902) pdftract-core parser::stream::integration_tests::test_bomb_limit_enforcement
PASS [ 0.008s] (2095/2902) pdftract-core parser::stream::integration_tests::test_decode_stream_no_filter
PASS [ 0.009s] (2096/2902) pdftract-core parser::stream::integration_tests::test_decode_stream_filter_params_mismatch
PASS [ 0.009s] (2097/2902) pdftract-core parser::stream::integration_tests::test_decode_stream_single_filter
PASS [ 0.009s] (2098/2902) pdftract-core parser::stream::integration_tests::test_decode_stream_with_abbreviation
PASS [ 0.010s] (2099/2902) pdftract-core parser::stream::integration_tests::test_document_level_bomb_limit
PASS [ 0.014s] (2100/2902) pdftract-core parser::stream::integration_tests::test_decode_stream_filter_array
PASS [ 0.011s] (2101/2902) pdftract-core parser::stream::integration_tests::test_decode_stream_unknown_filter
PASS [ 0.008s] (2102/2902) pdftract-core parser::stream::predictor_tests::test_bytes_per_pixel
PASS [ 0.011s] (2103/2902) pdftract-core parser::stream::integration_tests::test_flate_decode_bomb_limit
PASS [ 0.012s] (2104/2902) pdftract-core parser::stream::integration_tests::test_extraction_options_default
PASS [ 0.008s] (2105/2902) pdftract-core parser::stream::predictor_tests::test_apply_predictor_empty_data
PASS [ 0.010s] (2106/2902) pdftract-core parser::stream::predictor_tests::test_bytes_per_row
PASS [ 0.009s] (2107/2902) pdftract-core parser::stream::predictor_tests::test_extraction_options_deserialize_password
PASS [ 0.010s] (2108/2902) pdftract-core parser::stream::predictor_tests::test_extraction_options_serialize_password_redacted
PASS [ 0.018s] (2109/2902) pdftract-core parser::stream::integration_tests::test_pdf_stream_filter_parsing
PASS [ 0.015s] (2110/2902) pdftract-core parser::stream::predictor_tests::test_apply_predictor_no_predictor
PASS [ 0.018s] (2111/2902) pdftract-core parser::stream::integration_tests::test_th01_decompression_bomb_abort
PASS [ 0.021s] (2112/2902) pdftract-core parser::stream::integration_tests::test_memory_source
PASS [ 0.010s] (2113/2902) pdftract-core parser::stream::predictor_tests::test_paeth_function
PASS [ 0.010s] (2114/2902) pdftract-core parser::stream::predictor_tests::test_flate_decode_with_predictor
PASS [ 0.007s] (2115/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_12_up
PASS [ 0.009s] (2116/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_11_sub
PASS [ 0.011s] (2117/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_10_none
PASS [ 0.008s] (2118/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_14_rgba_paeth
PASS [ 0.009s] (2119/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_13_average
PASS [ 0.019s] (2120/2902) pdftract-core parser::stream::predictor_tests::test_flate_decode_bomb_limit_with_predictor
PASS [ 0.016s] (2121/2902) pdftract-core parser::stream::predictor_tests::test_flate_decode_truncated_stream
PASS [ 0.009s] (2122/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_15_optimum_all_selectors
PASS [ 0.013s] (2123/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_14_paeth
PASS [ 0.012s] (2124/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_budget_enforcement_small_fixture
PASS [ 0.009s] (2125/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_multiple_selectors_budget_per_row
PASS [ 0.008s] (2126/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_rgba_up
PASS [ 0.014s] (2127/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_invalid_selector
PASS [ 0.008s] (2128/2902) pdftract-core parser::stream::predictor_tests::test_predictor_multiple_rows_tiff
PASS [ 0.011s] (2129/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_rgb_sub
PASS [ 0.012s] (2130/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_selector_1
PASS [ 0.012s] (2131/2902) pdftract-core parser::stream::predictor_tests::test_png_predictor_selector_0
PASS [ 0.013s] (2132/2902) pdftract-core parser::stream::predictor_tests::test_predictor_params_default
PASS [ 0.011s] (2133/2902) pdftract-core parser::stream::predictor_tests::test_predictor_params_defaults_for_predictor_1
PASS [ 0.008s] (2134/2902) pdftract-core parser::stream::predictor_tests::test_predictor_params_from_none
PASS [ 0.009s] (2135/2902) pdftract-core parser::stream::predictor_tests::test_predictor_params_invalid_columns
PASS [ 0.016s] (2136/2902) pdftract-core parser::stream::predictor_tests::test_predictor_params_from_dict
PASS [ 0.011s] (2137/2902) pdftract-core parser::stream::predictor_tests::test_predictor_with_odd_bits_per_component
PASS [ 0.011s] (2138/2902) pdftract-core parser::stream::predictor_tests::test_tiff_predictor_2_grayscale
PASS [ 0.012s] (2139/2902) pdftract-core parser::stream::predictor_tests::test_tiff_predictor_2_rgb_budget_enforcement
PASS [ 0.013s] (2140/2902) pdftract-core parser::stream::predictor_tests::test_tiff_predictor_2_budget_enforcement_small_fixture
PASS [ 0.020s] (2141/2902) pdftract-core parser::stream::predictor_tests::test_predictor_params_invalid_predictor
PASS [ 0.022s] (2142/2902) pdftract-core parser::stream::predictor_tests::test_tiff_predictor_2_rgb
PASS [ 0.023s] (2143/2902) pdftract-core parser::stream::proptest_tests::proptest_crypt_decode_no_panic
PASS [ 0.023s] (2144/2902) pdftract-core parser::stream::proptest_tests::proptest_crypt_decode_with_params_no_panic
PASS [ 0.027s] (2145/2902) pdftract-core parser::stream::proptest_tests::proptest_crypt_decode_bomb_limit_no_panic
PASS [ 0.008s] (2146/2902) pdftract-core parser::stream::source_tests::test_filesource_open
PASS [ 0.022s] (2147/2902) pdftract-core parser::stream::proptest_tests::proptest_lzw_decode_bomb_limit_no_panic
PASS [ 0.013s] (2148/2902) pdftract-core parser::stream::source_tests::test_filesource_not_found
PASS [ 0.024s] (2149/2902) pdftract-core parser::stream::proptest_tests::proptest_lzw_decode_no_panic
PASS [ 0.024s] (2150/2902) pdftract-core parser::stream::proptest_tests::proptest_lzw_decode_with_predictor_no_panic
PASS [ 0.008s] (2151/2902) pdftract-core parser::stream::source_tests::test_jbig2_bomb_limit
PASS [ 0.008s] (2152/2902) pdftract-core parser::stream::source_tests::test_jbig2_extract_globals_ref
PASS [ 0.035s] (2153/2902) pdftract-core parser::stream::proptest_tests::proptest_flate_decode_no_panic
PASS [ 0.016s] (2154/2902) pdftract-core parser::stream::source_tests::test_filesource_zero_copy
PASS [ 0.023s] (2155/2902) pdftract-core parser::stream::source_tests::test_filesource_read_at
PASS [ 0.044s] (2156/2902) pdftract-core parser::stream::proptest_tests::proptest_flate_decode_bomb_limit_no_panic
PASS [ 0.009s] (2157/2902) pdftract-core parser::stream::source_tests::test_memorysource
PASS [ 0.008s] (2158/2902) pdftract-core parser::stream::tests::test_ascii85_decode
PASS [ 0.012s] (2159/2902) pdftract-core parser::stream::source_tests::test_jbig2_passthrough
PASS [ 0.016s] (2160/2902) pdftract-core parser::stream::source_tests::test_jbig2_extract_globals_ref_missing
PASS [ 0.041s] (2161/2902) pdftract-core parser::stream::proptest_tests::proptest_lzw_decode_with_early_change_no_panic
PASS [ 0.012s] (2162/2902) pdftract-core parser::stream::tests::test_ascii85_bomb_limit
PASS [ 0.011s] (2163/2902) pdftract-core parser::stream::tests::test_ascii85_empty_stream
PASS [ 0.046s] (2164/2902) pdftract-core parser::stream::proptest_tests::proptest_flate_decode_with_predictor_no_panic
PASS [ 0.008s] (2165/2902) pdftract-core parser::stream::tests::test_ascii85_partial_final_group
PASS [ 0.025s] (2166/2902) pdftract-core parser::stream::source_tests::test_jbig2_extract_globals_ref_invalid_type
PASS [ 0.011s] (2167/2902) pdftract-core parser::stream::tests::test_ascii85_no_delimiters
PASS [ 0.012s] (2168/2902) pdftract-core parser::stream::tests::test_ascii85_invalid_bytes_skipped
PASS [ 0.013s] (2169/2902) pdftract-core parser::stream::tests::test_ascii85_full_range
PASS [ 0.013s] (2170/2902) pdftract-core parser::stream::tests::test_ascii85_pdf_whitespace
PASS [ 0.013s] (2171/2902) pdftract-core parser::stream::tests::test_ascii85_z_mid_group_skipped
PASS [ 0.013s] (2172/2902) pdftract-core parser::stream::tests::test_ascii85_roundtrip_known_vectors
PASS [ 0.012s] (2173/2902) pdftract-core parser::stream::tests::test_ascii85_zz_double_shortcut
PASS [ 0.009s] (2174/2902) pdftract-core parser::stream::tests::test_asciihex_empty_stream
PASS [ 0.010s] (2175/2902) pdftract-core parser::stream::tests::test_asciihex_decode
PASS [ 0.015s] (2176/2902) pdftract-core parser::stream::tests::test_asciihex_all_nibbles
PASS [ 0.017s] (2177/2902) pdftract-core parser::stream::tests::test_ascii85_z_shortcut
PASS [ 0.008s] (2178/2902) pdftract-core parser::stream::tests::test_asciihex_no_terminator
PASS [ 0.017s] (2179/2902) pdftract-core parser::stream::tests::test_asciihex_bomb_limit
PASS [ 0.009s] (2180/2902) pdftract-core parser::stream::tests::test_asciihex_odd_length_triple
PASS [ 0.012s] (2181/2902) pdftract-core parser::stream::tests::test_asciihex_pdf_whitespace_types
PASS [ 0.010s] (2182/2902) pdftract-core parser::stream::tests::test_asciihex_roundtrip_random
PASS [ 0.019s] (2183/2902) pdftract-core parser::stream::tests::test_asciihex_mixed_case
PASS [ 0.011s] (2184/2902) pdftract-core parser::stream::tests::test_asciihex_whitespace_ignored
PASS [ 0.015s] (2185/2902) pdftract-core parser::stream::tests::test_asciihex_odd_length_single
PASS [ 0.021s] (2186/2902) pdftract-core parser::stream::tests::test_asciihex_invalid_bytes_continue
PASS [ 0.009s] (2187/2902) pdftract-core parser::stream::tests::test_ccitt_decode_passthrough
PASS [ 0.012s] (2188/2902) pdftract-core parser::stream::tests::test_ccitt_decode_with_invalid_columns
PASS [ 0.019s] (2189/2902) pdftract-core parser::stream::tests::test_bomb_limit_flate
PASS [ 0.014s] (2190/2902) pdftract-core parser::stream::tests::test_ccitt_parse_params_defaults
PASS [ 0.010s] (2191/2902) pdftract-core parser::stream::tests::test_ccitt_parse_params_group4
PASS [ 0.010s] (2192/2902) pdftract-core parser::stream::tests::test_ccittfax_bomb_limit
PASS [ 0.013s] (2193/2902) pdftract-core parser::stream::tests::test_ccitt_parse_params_group3_2d
PASS [ 0.014s] (2194/2902) pdftract-core parser::stream::tests::test_ccitt_parse_params_missing_columns
PASS [ 0.016s] (2195/2902) pdftract-core parser::stream::tests::test_ccittfax_parse_params_defaults
PASS [ 0.015s] (2196/2902) pdftract-core parser::stream::tests::test_ccittfax_parse_params_invalid_columns
PASS [ 0.022s] (2197/2902) pdftract-core parser::stream::tests::test_ccitt_decode_bomb_limit
PASS [ 0.011s] (2198/2902) pdftract-core parser::stream::tests::test_ccittfax_passthrough_missing_columns
PASS [ 0.017s] (2199/2902) pdftract-core parser::stream::tests::test_ccittfax_parse_params_with_all_fields
PASS [ 0.011s] (2200/2902) pdftract-core parser::stream::tests::test_dctdecode_bomb_limit
PASS [ 0.010s] (2201/2902) pdftract-core parser::stream::tests::test_dctdecode_color_transform_parsing
PASS [ 0.015s] (2202/2902) pdftract-core parser::stream::tests::test_ccittfax_roundtrip_empty
PASS [ 0.011s] (2203/2902) pdftract-core parser::stream::tests::test_dctdecode_passthrough_empty
PASS [ 0.015s] (2204/2902) pdftract-core parser::stream::tests::test_ccittfax_passthrough_no_params
PASS [ 0.018s] (2205/2902) pdftract-core parser::stream::tests::test_ccittfax_passthrough_with_columns
PASS [ 0.012s] (2206/2902) pdftract-core parser::stream::tests::test_dctdecode_passthrough_valid_jpeg
PASS [ 0.013s] (2207/2902) pdftract-core parser::stream::tests::test_dctdecode_passthrough_missing_soi
PASS [ 0.007s] (2208/2902) pdftract-core parser::stream::tests::test_jpxstream_name
PASS [ 0.014s] (2209/2902) pdftract-core parser::stream::tests::test_flate_decode_simple
PASS [ 0.015s] (2210/2902) pdftract-core parser::stream::tests::test_dctdecode_passthrough_missing_eoi
PASS [ 0.017s] (2211/2902) pdftract-core parser::stream::tests::test_jpxstream_is_send_sync
PASS [ 0.010s] (2212/2902) pdftract-core parser::stream::tests::test_lzw_decode_empty
PASS [ 0.012s] (2213/2902) pdftract-core parser::stream::tests::test_lzw_bomb_limit
PASS [ 0.010s] (2214/2902) pdftract-core parser::stream::tests::test_lzw_decode_incremental
PASS [ 0.012s] (2215/2902) pdftract-core parser::stream::tests::test_lzw_decode_repeated_pattern
PASS [ 0.007s] (2216/2902) pdftract-core parser::stream::tests::test_lzw_decode_with_params_late_change
PASS [ 0.010s] (2217/2902) pdftract-core parser::stream::tests::test_lzw_decode_simple_early_change
PASS [ 0.017s] (2218/2902) pdftract-core parser::stream::tests::test_lzw_decode_predictor
PASS [ 0.011s] (2219/2902) pdftract-core parser::stream::tests::test_lzw_decode_with_params_early_change
PASS [ 0.013s] (2220/2902) pdftract-core parser::stream::tests::test_lzw_decode_truncated_stream
PASS [ 0.008s] (2221/2902) pdftract-core parser::stream::tests::test_lzw_fixture_incremental_late_change
PASS [ 0.008s] (2222/2902) pdftract-core parser::stream::tests::test_lzw_fixture_mixed_early_change
PASS [ 0.012s] (2223/2902) pdftract-core parser::stream::tests::test_lzw_fixture_incremental_early_change
PASS [ 0.008s] (2224/2902) pdftract-core parser::stream::tests::test_lzw_fixture_repeated_late_change
PASS [ 0.009s] (2225/2902) pdftract-core parser::stream::tests::test_lzw_fixture_repeated_early_change
PASS [ 0.038s] (2226/2902) pdftract-core parser::stream::tests::test_jpxstream_passthrough_truncated
PASS [ 0.012s] (2227/2902) pdftract-core parser::stream::tests::test_lzw_fixture_mixed_late_change
PASS [ 0.038s] (2228/2902) pdftract-core parser::stream::tests::test_jpxstream_passthrough_valid_jp2
PASS [ 0.009s] (2229/2902) pdftract-core parser::stream::tests::test_lzw_fixture_simple_early_change
PASS [ 0.008s] (2230/2902) pdftract-core parser::stream::tests::test_lzw_fixture_truncated
PASS [ 0.010s] (2231/2902) pdftract-core parser::stream::tests::test_lzw_fixture_simple_late_change
PASS [ 0.008s] (2232/2902) pdftract-core parser::stream::tests::test_normalize_filter_names
PASS [ 0.045s] (2233/2902) pdftract-core parser::stream::tests::test_jpxstream_passthrough_empty
PASS [ 0.051s] (2234/2902) pdftract-core parser::stream::tests::test_jpxstream_bomb_limit
PASS [ 0.008s] (2235/2902) pdftract-core parser::stream::tests::test_runlength_decode_bomb_limit
PASS [ 0.009s] (2236/2902) pdftract-core parser::stream::tests::test_runlength_decode_empty_input
PASS [ 0.011s] (2237/2902) pdftract-core parser::stream::tests::test_passthrough_decoder
PASS [ 0.014s] (2238/2902) pdftract-core parser::stream::tests::test_lzw_fixture_with_predictor
PASS [ 0.009s] (2239/2902) pdftract-core parser::stream::tests::test_runlength_decode_min_repeat
PASS [ 0.054s] (2240/2902) pdftract-core parser::stream::tests::test_jpxstream_passthrough_raw_j2k
PASS [ 0.010s] (2241/2902) pdftract-core parser::stream::tests::test_runlength_decode_max_repeat
PASS [ 0.012s] (2242/2902) pdftract-core parser::stream::tests::test_runlength_decode_eod
PASS [ 0.010s] (2243/2902) pdftract-core parser::stream::tests::test_runlength_decode_mixed_literal_and_repeat
PASS [ 0.014s] (2244/2902) pdftract-core parser::stream::tests::test_runlength_decode_max_literal
PASS [ 0.014s] (2245/2902) pdftract-core parser::stream::tests::test_runlength_decode_literal_copy
PASS [ 0.007s] (2246/2902) pdftract-core parser::stream::tests::test_runlength_decode_repeat
PASS [ 0.012s] (2247/2902) pdftract-core parser::stream::tests::test_runlength_decode_name
PASS [ 0.011s] (2248/2902) pdftract-core parser::stream::tests::test_runlength_decode_truncated_input
PASS [ 0.008s] (2249/2902) pdftract-core parser::stream::tests::test_runlength_decode_truncated_repeat
PASS [ 0.008s] (2250/2902) pdftract-core parser::stream::tests::test_runlength_decode_zero_literal
PASS [ 0.008s] (2251/2902) pdftract-core parser::struct_tree::tests::test_block_kind_block_quote
PASS [ 0.009s] (2252/2902) pdftract-core parser::struct_tree::tests::test_block_kind_caption
PASS [ 0.016s] (2253/2902) pdftract-core parser::stream::tests::test_runlength_decode_normalize_filter_name
PASS [ 0.011s] (2254/2902) pdftract-core parser::struct_tree::tests::test_block_kind_form
PASS [ 0.012s] (2255/2902) pdftract-core parser::struct_tree::tests::test_block_kind_formula
PASS [ 0.009s] (2256/2902) pdftract-core parser::struct_tree::tests::test_block_kind_heading_h
PASS [ 0.008s] (2257/2902) pdftract-core parser::struct_tree::tests::test_block_kind_inline_quote
PASS [ 0.016s] (2258/2902) pdftract-core parser::struct_tree::tests::test_block_kind_code
PASS [ 0.015s] (2259/2902) pdftract-core parser::struct_tree::tests::test_block_kind_figure
PASS [ 0.012s] (2260/2902) pdftract-core parser::struct_tree::tests::test_block_kind_heading_h2
PASS [ 0.016s] (2261/2902) pdftract-core parser::struct_tree::tests::test_block_kind_heading_all_levels
PASS [ 0.012s] (2262/2902) pdftract-core parser::struct_tree::tests::test_block_kind_heading_h1
PASS [ 0.008s] (2263/2902) pdftract-core parser::struct_tree::tests::test_block_kind_list_body
PASS [ 0.011s] (2264/2902) pdftract-core parser::struct_tree::tests::test_block_kind_list
PASS [ 0.009s] (2265/2902) pdftract-core parser::struct_tree::tests::test_block_kind_list_item
PASS [ 0.009s] (2266/2902) pdftract-core parser::struct_tree::tests::test_block_kind_paragraph
PASS [ 0.008s] (2267/2902) pdftract-core parser::struct_tree::tests::test_block_kind_list_label
PASS [ 0.007s] (2268/2902) pdftract-core parser::struct_tree::tests::test_block_kind_toc
PASS [ 0.008s] (2269/2902) pdftract-core parser::struct_tree::tests::test_block_kind_structural_container
PASS [ 0.009s] (2270/2902) pdftract-core parser::struct_tree::tests::test_check_coverage_multi_page_one_fallback
PASS [ 0.021s] (2271/2902) pdftract-core parser::struct_tree::tests::test_block_kind_inline_span
PASS [ 0.011s] (2272/2902) pdftract-core parser::struct_tree::tests::test_block_kind_table
PASS [ 0.015s] (2273/2902) pdftract-core parser::struct_tree::tests::test_block_kind_note
PASS [ 0.009s] (2274/2902) pdftract-core parser::struct_tree::tests::test_check_coverage_no_marked_content
PASS [ 0.015s] (2275/2902) pdftract-core parser::struct_tree::tests::test_block_kind_reference
PASS [ 0.013s] (2276/2902) pdftract-core parser::struct_tree::tests::test_block_kind_unknown
PASS [ 0.011s] (2277/2902) pdftract-core parser::struct_tree::tests::test_check_coverage_suspects_false_low_coverage
PASS [ 0.012s] (2278/2902) pdftract-core parser::struct_tree::tests::test_check_coverage_suspects_true_high_coverage
PASS [ 0.009s] (2279/2902) pdftract-core parser::struct_tree::tests::test_compute_coverage_no_mcids
PASS [ 0.013s] (2280/2902) pdftract-core parser::struct_tree::tests::test_check_coverage_suspects_true_low_coverage
PASS [ 0.010s] (2281/2902) pdftract-core parser::struct_tree::tests::test_compute_coverage_threshold_edge_case
PASS [ 0.012s] (2282/2902) pdftract-core parser::struct_tree::tests::test_compute_coverage_full_coverage
PASS [ 0.008s] (2283/2902) pdftract-core parser::struct_tree::tests::test_mapping_result_for_heading_with_level
PASS [ 0.017s] (2284/2902) pdftract-core parser::struct_tree::tests::test_compute_coverage_above_threshold
PASS [ 0.008s] (2285/2902) pdftract-core parser::struct_tree::tests::test_mapping_result_for_inline_element
PASS [ 0.018s] (2286/2902) pdftract-core parser::struct_tree::tests::test_compute_coverage_with_orphan_mcids
PASS [ 0.010s] (2287/2902) pdftract-core parser::struct_tree::tests::test_mapping_result_for_unknown_type
PASS [ 0.011s] (2288/2902) pdftract-core parser::struct_tree::tests::test_mapping_result_for_paragraph
PASS [ 0.011s] (2289/2902) pdftract-core parser::struct_tree::tests::test_mapping_result_for_structural_container
PASS [ 0.008s] (2290/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_annotation_from_array
PASS [ 0.019s] (2291/2902) pdftract-core parser::struct_tree::tests::test_compute_coverage_below_threshold
PASS [ 0.008s] (2292/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_annotation_resolution
PASS [ 0.020s] (2293/2902) pdftract-core parser::struct_tree::tests::test_heading_level_not_auto_incremented
PASS [ 0.018s] (2294/2902) pdftract-core parser::struct_tree::tests::test_list_nesting_mapping
PASS [ 0.010s] (2295/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_intermediate_kids
PASS [ 0.008s] (2296/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_no_struct_parents
PASS [ 0.012s] (2297/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_annotation_with_struct_parent
PASS [ 0.008s] (2298/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_no_parent_tree_entry
PASS [ 0.009s] (2299/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_invalid_node_type
PASS [ 0.009s] (2300/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_leaf_nums
PASS [ 0.009s] (2301/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_missing_key
PASS [ 0.016s] (2302/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_empty_struct_tree_root
PASS [ 0.013s] (2303/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_malformed_nums_odd_length
PASS [ 0.014s] (2304/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_malformed_unsupported_value_type
PASS [ 0.019s] (2305/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_malformed_nums_non_integer_key
PASS [ 0.010s] (2306/2902) pdftract-core parser::struct_tree::tests::test_role_map_chaining
PASS [ 0.010s] (2307/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_null_entry
PASS [ 0.009s] (2308/2902) pdftract-core parser::struct_tree::tests::test_role_map_parse
PASS [ 0.012s] (2309/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_off_by_one_missing_entries
PASS [ 0.013s] (2310/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_single_ref
PASS [ 0.013s] (2311/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_resolver_new
PASS [ 0.009s] (2312/2902) pdftract-core parser::struct_tree::tests::test_role_map_resolve
PASS [ 0.013s] (2313/2902) pdftract-core parser::struct_tree::tests::test_role_map_cycle_detection
PASS [ 0.008s] (2314/2902) pdftract-core parser::struct_tree::tests::test_struct_elem_node_new
PASS [ 0.018s] (2315/2902) pdftract-core parser::struct_tree::tests::test_parent_tree_resolver_default
PASS [ 0.013s] (2316/2902) pdftract-core parser::struct_tree::tests::test_role_map_self_mapping
PASS [ 0.010s] (2317/2902) pdftract-core parser::struct_tree::tests::test_span_passthrough
PASS [ 0.010s] (2318/2902) pdftract-core parser::struct_tree::tests::test_struct_tree_actual_text_scope
PASS [ 0.011s] (2319/2902) pdftract-core parser::struct_tree::tests::test_struct_tree_lang_inheritance
PASS [ 0.010s] (2320/2902) pdftract-core parser::struct_tree::tests::test_struct_tree_root_default
PASS [ 0.012s] (2321/2902) pdftract-core parser::struct_tree::tests::test_struct_tree_mcid_kid
PASS [ 0.010s] (2322/2902) pdftract-core parser::struct_tree::tests::test_structure_type_from_name
PASS [ 0.011s] (2323/2902) pdftract-core parser::struct_tree::tests::test_struct_tree_root_new
PASS [ 0.011s] (2324/2902) pdftract-core parser::struct_tree::tests::test_struct_tree_word_rolemap_integration
PASS [ 0.016s] (2325/2902) pdftract-core parser::struct_tree::tests::test_struct_tree_mcr_kid
PASS [ 0.008s] (2326/2902) pdftract-core parser::struct_tree::tests::test_table_grouping_mapping
PASS [ 0.012s] (2327/2902) pdftract-core parser::struct_tree::tests::test_structure_type_is_heading
PASS [ 0.022s] (2328/2902) pdftract-core parser::struct_tree::tests::test_struct_tree_objr_kid
PASS [ 0.019s] (2329/2902) pdftract-core parser::struct_tree::tests::test_structure_type_heading_level
PASS [ 0.008s] (2330/2902) pdftract-core parser::xref::tests::test_cache_object
PASS [ 0.014s] (2331/2902) pdftract-core parser::xref::tests::test_add_entry
PASS [ 0.025s] (2332/2902) pdftract-core parser::xref::tests::proptest_tests::proptest_forward_scan_linearized_no_panic
PASS [ 0.022s] (2333/2902) pdftract-core parser::xref::tests::proptest_tests::proptest_parse_xref_stream_random_offset_no_panic
PASS [ 0.022s] (2334/2902) pdftract-core parser::xref::tests::proptest_tests::proptest_random_bytes_no_panic
PASS [ 0.011s] (2335/2902) pdftract-core parser::xref::tests::test_circular_ref_detection
PASS [ 0.030s] (2336/2902) pdftract-core parser::xref::tests::proptest_tests::proptest_forward_scan_no_panic
PASS [ 0.030s] (2337/2902) pdftract-core parser::xref::tests::proptest_tests::proptest_parse_xref_stream_no_panic
PASS [ 0.008s] (2338/2902) pdftract-core parser::xref::tests::test_detect_linearization_non_linearized_pdf
PASS [ 0.011s] (2339/2902) pdftract-core parser::xref::tests::test_detect_linearization_no_hint_stream
PASS [ 0.013s] (2340/2902) pdftract-core parser::xref::tests::test_debug_xref_stream_parsing
PASS [ 0.013s] (2341/2902) pdftract-core parser::xref::tests::test_detect_linearization_file_size_mismatch
PASS [ 0.008s] (2342/2902) pdftract-core parser::xref::tests::test_detect_linearization_with_incremental_update
PASS [ 0.012s] (2343/2902) pdftract-core parser::xref::tests::test_detect_linearization_proptest_random_bytes
FAIL [ 0.008s] (2344/2902) pdftract-core parser::xref::tests::test_forward_scan_carriage_return
stdout ───
running 1 test
test parser::xref::tests::test_forward_scan_carriage_return ... FAILED
failures:
failures:
parser::xref::tests::test_forward_scan_carriage_return
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_forward_scan_carriage_return' (1394529) panicked at crates/pdftract-core/src/parser/xref.rs:3228:9:
assertion `left == right` failed
left: 0
right: 2
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.038s] (2345/2902) pdftract-core parser::xref::tests::proptest_tests::proptest_random_offset_no_panic
PASS [ 0.011s] (2346/2902) pdftract-core parser::xref::tests::test_detect_linearization_with_valid_dict
PASS [ 0.008s] (2347/2902) pdftract-core parser::xref::tests::test_forward_scan_empty_file
PASS [ 0.045s] (2348/2902) pdftract-core parser::xref::tests::proptest_tests::proptest_merge_hybrid_no_panic
FAIL [ 0.010s] (2349/2902) pdftract-core parser::xref::tests::test_forward_scan_multi_revision
stdout ───
running 1 test
test parser::xref::tests::test_forward_scan_multi_revision ... FAILED
failures:
failures:
parser::xref::tests::test_forward_scan_multi_revision
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_forward_scan_multi_revision' (1394536) panicked at crates/pdftract-core/src/parser/xref.rs:3131:9:
assertion `left == right` failed
left: 0
right: 2
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAIL [ 0.008s] (2350/2902) pdftract-core parser::xref::tests::test_forward_scan_truncated_file
stdout ───
running 1 test
test parser::xref::tests::test_forward_scan_truncated_file ... FAILED
failures:
failures:
parser::xref::tests::test_forward_scan_truncated_file
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_forward_scan_truncated_file' (1394541) panicked at crates/pdftract-core/src/parser/xref.rs:3091:9:
assertion `left == right` failed
left: 0
right: 4
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAIL [ 0.008s] (2351/2902) pdftract-core parser::xref::tests::test_forward_scan_simple
stdout ───
running 1 test
test parser::xref::tests::test_forward_scan_simple ... FAILED
failures:
failures:
parser::xref::tests::test_forward_scan_simple
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_forward_scan_simple' (1394540) panicked at crates/pdftract-core/src/parser/xref.rs:2999:9:
assertion `left == right` failed
left: 0
right: 3
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAIL [ 0.015s] (2352/2902) pdftract-core parser::xref::tests::test_forward_scan_false_positive_handling
stdout ───
running 1 test
test parser::xref::tests::test_forward_scan_false_positive_handling ... FAILED
failures:
failures:
parser::xref::tests::test_forward_scan_false_positive_handling
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_forward_scan_false_positive_handling' (1394538) panicked at crates/pdftract-core/src/parser/xref.rs:3157:9:
assertion failed: result.len() >= 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.010s] (2353/2902) pdftract-core parser::xref::tests::test_forward_scan_no_objects
FAIL [ 0.010s] (2354/2902) pdftract-core parser::xref::tests::test_forward_scan_trailer_no_space
stdout ───
running 1 test
test parser::xref::tests::test_forward_scan_trailer_no_space ... FAILED
failures:
failures:
parser::xref::tests::test_forward_scan_trailer_no_space
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_forward_scan_trailer_no_space' (1394546) panicked at crates/pdftract-core/src/parser/xref.rs:3241:9:
assertion `left == right` failed
left: 0
right: 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAIL [ 0.009s] (2355/2902) pdftract-core parser::xref::tests::test_forward_scan_with_generations
stdout ───
running 1 test
test parser::xref::tests::test_forward_scan_with_generations ... FAILED
failures:
failures:
parser::xref::tests::test_forward_scan_with_generations
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_forward_scan_with_generations' (1394548) panicked at crates/pdftract-core/src/parser/xref.rs:3021:9:
assertion `left == right` failed
left: 0
right: 3
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.059s] (2356/2902) pdftract-core parser::xref::tests::proptest_prev_chain_tests::prop_prev_chain_random_no_panic
PASS [ 0.019s] (2357/2902) pdftract-core parser::xref::tests::test_forward_scan_linearized_disabled
FAIL [ 0.011s] (2358/2902) pdftract-core parser::xref::tests::test_forward_scan_with_trailer
stdout ───
running 1 test
test parser::xref::tests::test_forward_scan_with_trailer ... FAILED
failures:
failures:
parser::xref::tests::test_forward_scan_with_trailer
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_forward_scan_with_trailer' (1394550) panicked at crates/pdftract-core/src/parser/xref.rs:3114:9:
assertion `left == right` failed
left: 0
right: 3
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.011s] (2359/2902) pdftract-core parser::xref::tests::test_get_entry
PASS [ 0.008s] (2360/2902) pdftract-core parser::xref::tests::test_merge_hybrid_proptest_simple
PASS [ 0.010s] (2361/2902) pdftract-core parser::xref::tests::test_merge_hybrid_gap_fill
PASS [ 0.012s] (2362/2902) pdftract-core parser::xref::tests::test_merge_hybrid_free_inuse_conflict
PASS [ 0.010s] (2363/2902) pdftract-core parser::xref::tests::test_merge_hybrid_traditional_only
PASS [ 0.015s] (2364/2902) pdftract-core parser::xref::tests::test_is_hybrid_trailer_detection
PASS [ 0.015s] (2365/2902) pdftract-core parser::xref::tests::test_merge_hybrid_empty_sections
PASS [ 0.010s] (2366/2902) pdftract-core parser::xref::tests::test_merge_hybrid_trailer_xrefstm_removed
PASS [ 0.013s] (2367/2902) pdftract-core parser::xref::tests::test_merge_hybrid_stream_only
PASS [ 0.012s] (2368/2902) pdftract-core parser::xref::tests::test_merge_hybrid_traditional_priority
PASS [ 0.009s] (2369/2902) pdftract-core parser::xref::tests::test_merge_linearized_xrefs
PASS [ 0.012s] (2370/2902) pdftract-core parser::xref::tests::test_merge_linearized_xrefs_conflict_free_vs_inuse
PASS [ 0.010s] (2371/2902) pdftract-core parser::xref::tests::test_obj_ref
PASS [ 0.008s] (2372/2902) pdftract-core parser::xref::tests::test_parse_obj_header_at_invalid
PASS [ 0.007s] (2373/2902) pdftract-core parser::xref::tests::test_parse_xref_entry_20_byte
PASS [ 0.012s] (2374/2902) pdftract-core parser::xref::tests::test_parse_obj_header_at_with_generation
PASS [ 0.008s] (2375/2902) pdftract-core parser::xref::tests::test_parse_obj_header_at_valid
PASS [ 0.019s] (2376/2902) pdftract-core parser::xref::tests::test_merge_linearized_xrefs_empty_first_page
PASS [ 0.008s] (2377/2902) pdftract-core parser::xref::tests::test_parse_xref_entry_free
PASS [ 0.016s] (2378/2902) pdftract-core parser::xref::tests::test_parse_simple_xref_space_newline
FAIL [ 0.017s] (2379/2902) pdftract-core parser::xref::tests::test_parse_multi_subsection_xref
stdout ───
running 1 test
test parser::xref::tests::test_parse_multi_subsection_xref ... FAILED
failures:
failures:
parser::xref::tests::test_parse_multi_subsection_xref
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_parse_multi_subsection_xref' (1394592) panicked at crates/pdftract-core/src/parser/xref.rs:2716:9:
assertion `left == right` failed
left: 5
right: 4
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.010s] (2380/2902) pdftract-core parser::xref::tests::test_parse_xref_entry_malformed
PASS [ 0.016s] (2381/2902) pdftract-core parser::xref::tests::test_parse_xref_carriage_return_newline
FAIL [ 0.009s] (2382/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_field_width_zero_gen
stdout ───
running 1 test
test parser::xref::tests::test_parse_xref_stream_field_width_zero_gen ... FAILED
failures:
failures:
parser::xref::tests::test_parse_xref_stream_field_width_zero_gen
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_parse_xref_stream_field_width_zero_gen' (1394600) panicked at crates/pdftract-core/src/parser/xref.rs:3408:9:
assertion `left == right` failed
left: 1
right: 2
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAIL [ 0.013s] (2383/2902) pdftract-core parser::xref::tests::test_parse_xref_lf_only_19_byte_entries
stdout ───
running 1 test
test parser::xref::tests::test_parse_xref_lf_only_19_byte_entries ... FAILED
failures:
failures:
parser::xref::tests::test_parse_xref_lf_only_19_byte_entries
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_parse_xref_lf_only_19_byte_entries' (1394601) panicked at crates/pdftract-core/src/parser/xref.rs:2683:9:
assertion `left == right` failed
left: 3
right: 2
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.009s] (2384/2902) pdftract-core parser::xref::tests::test_parse_xref_object_zero_not_free
PASS [ 0.014s] (2385/2902) pdftract-core parser::xref::tests::test_parse_xref_missing_trailer
FAIL [ 0.011s] (2386/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_invalid_entry_type
stdout ───
running 1 test
test parser::xref::tests::test_parse_xref_stream_invalid_entry_type ... FAILED
failures:
failures:
parser::xref::tests::test_parse_xref_stream_invalid_entry_type
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_parse_xref_stream_invalid_entry_type' (1394608) panicked at crates/pdftract-core/src/parser/xref.rs:3525:9:
assertion `left == right` failed
left: 0
right: 1
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
FAIL [ 0.012s] (2387/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_simple
stdout ───
running 1 test
test parser::xref::tests::test_parse_xref_stream_simple ... FAILED
failures:
failures:
parser::xref::tests::test_parse_xref_stream_simple
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
Test failed. Diagnostics: [Diagnostic { code: XrefInvalidStreamEntry, byte_offset: Some(0), object_ref: None, message: "Invalid xref entry type 120 for object 0" }, Diagnostic { code: XrefInvalidStreamEntry, byte_offset: Some(0), object_ref: None, message: "Invalid xref entry type 255 for object 1" }, Diagnostic { code: XrefInvalidStreamEntry, byte_offset: Some(0), object_ref: None, message: "Invalid xref entry type 48 for object 2" }, Diagnostic { code: XrefInvalidStreamEntry, byte_offset: Some(0), object_ref: None, message: "Invalid xref entry type 123 for object 3" }, Diagnostic { code: XrefInvalidStreamEntry, byte_offset: Some(0), object_ref: None, message: "Invalid xref entry type 132 for object 4" }, Diagnostic { code: XrefInvalidStreamEntry, byte_offset: Some(0), object_ref: None, message: "Xref stream truncated at object 5" }]
Entries: {}
thread 'parser::xref::tests::test_parse_xref_stream_simple' (1394610) panicked at crates/pdftract-core/src/parser/xref.rs:3297:9:
assertion `left == right` failed
left: 0
right: 5
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.008s] (2388/2902) pdftract-core parser::xref::tests::test_parse_xref_with_malformed_entry
PASS [ 0.008s] (2389/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_with_predictor
FAIL [ 0.009s] (2390/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_multi_subsection
stdout ───
running 1 test
test parser::xref::tests::test_parse_xref_stream_multi_subsection ... FAILED
failures:
failures:
parser::xref::tests::test_parse_xref_stream_multi_subsection
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_parse_xref_stream_multi_subsection' (1394612) panicked at crates/pdftract-core/src/parser/xref.rs:3365:9:
assertion `left == right` failed
left: 0
right: 4
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.017s] (2391/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_invalid_w_array
FAIL [ 0.015s] (2392/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_type2_compressed
stdout ───
running 1 test
test parser::xref::tests::test_parse_xref_stream_type2_compressed ... FAILED
failures:
failures:
parser::xref::tests::test_parse_xref_stream_type2_compressed
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.00s
stderr ───
thread 'parser::xref::tests::test_parse_xref_stream_type2_compressed' (1394620) panicked at crates/pdftract-core/src/parser/xref.rs:3449:9:
assertion `left == right` failed
left: 0
right: 3
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 0.016s] (2393/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_missing_size
PASS [ 0.011s] (2394/2902) pdftract-core parser::xref::tests::test_prev_chain_depth_limit
PASS [ 0.010s] (2395/2902) pdftract-core parser::xref::tests::test_prev_chain_object_add_modify_free
PASS [ 0.010s] (2396/2902) pdftract-core parser::xref::tests::test_prev_chain_invalid_offset
PASS [ 0.016s] (2397/2902) pdftract-core parser::xref::tests::test_prev_chain_hybrid_file
PASS [ 0.020s] (2398/2902) pdftract-core parser::xref::tests::test_prev_chain_cycle_detection
PASS [ 0.014s] (2399/2902) pdftract-core parser::xref::tests::test_prev_chain_object_added_only_in_latest
PASS [ 0.010s] (2400/2902) pdftract-core parser::xref::tests::test_prev_chain_trailer_from_latest
PASS [ 0.014s] (2401/2902) pdftract-core parser::xref::tests::test_prev_chain_negative_prev_is_absent
PASS [ 0.008s] (2402/2902) pdftract-core parser::xref::tests::test_read_big_endian_field
PASS [ 0.008s] (2403/2902) pdftract-core parser::xref::tests::test_read_line_simple
PASS [ 0.015s] (2404/2902) pdftract-core parser::xref::tests::test_prev_chain_zero_prev_is_absent
PASS [ 0.010s] (2405/2902) pdftract-core parser::xref::tests::test_xref_diagnostic_dynamic
PASS [ 0.009s] (2406/2902) pdftract-core parser::xref::tests::test_xref_entry_free
PASS [ 0.021s] (2407/2902) pdftract-core parser::xref::tests::test_prev_chain_three_revisions_latest_wins
PASS [ 0.009s] (2408/2902) pdftract-core parser::xref::tests::test_xref_entry_compressed
PASS [ 0.013s] (2409/2902) pdftract-core parser::xref::tests::test_resolve_not_found
PASS [ 0.010s] (2410/2902) pdftract-core parser::xref::tests::test_xref_diagnostic_static
PASS [ 0.015s] (2411/2902) pdftract-core parser::xref::tests::test_read_line_with_crlf
PASS [ 0.008s] (2412/2902) pdftract-core parser::xref::tests::test_xref_resolver_from_section
PASS [ 0.008s] (2413/2902) pdftract-core receipts::lite::tests::test_lite_no_svg_in_json
PASS [ 0.008s] (2414/2902) pdftract-core receipts::lite::tests::test_lite_create
PASS [ 0.015s] (2415/2902) pdftract-core parser::xref::tests::test_xref_entry_in_use
PASS [ 0.015s] (2416/2902) pdftract-core parser::xref::tests::test_xref_resolver_new
PASS [ 0.007s] (2417/2902) pdftract-core receipts::svg::tests::test_coordinate_transform
PASS [ 0.009s] (2418/2902) pdftract-core receipts::ocr_fallback::tests::test_ocr_fallback_returns_error_without_full_render
PASS [ 0.013s] (2419/2902) pdftract-core parser::xref::tests::test_xref_section_default
PASS [ 0.015s] (2420/2902) pdftract-core parser::xref::tests::test_xref_section_add_entry
PASS [ 0.013s] (2421/2902) pdftract-core parser::xref::tests::test_xref_section_new
PASS [ 0.008s] (2422/2902) pdftract-core receipts::svg::tests::test_pdf_color_to_css_cmyk
PASS [ 0.017s] (2423/2902) pdftract-core receipts::lite::tests::test_lite_size_benchmark
PASS [ 0.009s] (2424/2902) pdftract-core receipts::svg::tests::test_svg_from_actual_font
PASS [ 0.008s] (2425/2902) pdftract-core receipts::svg::tests::test_svg_generator_filters_glyphs_by_bbox
PASS [ 0.016s] (2426/2902) pdftract-core receipts::svg::tests::test_escape_xml
PASS [ 0.010s] (2427/2902) pdftract-core receipts::svg::tests::test_svg_generator_empty_glyph_list
PASS [ 0.008s] (2428/2902) pdftract-core receipts::svg::tests::test_svg_handles_missing_glyph_outline
PASS [ 0.016s] (2429/2902) pdftract-core receipts::svg::tests::test_pdf_color_to_css_rgb
PASS [ 0.019s] (2430/2902) pdftract-core receipts::svg::tests::test_pdf_color_to_css_gray
PASS [ 0.017s] (2431/2902) pdftract-core receipts::svg::tests::test_round_coord
PASS [ 0.017s] (2432/2902) pdftract-core receipts::svg::tests::test_svg_groups_by_color
PASS [ 0.010s] (2433/2902) pdftract-core receipts::svg::tests::test_svg_validates_via_quick_xml
PASS [ 0.011s] (2434/2902) pdftract-core receipts::svg::tests::test_svg_path_uses_absolute_coordinates
PASS [ 0.013s] (2435/2902) pdftract-core receipts::svg::tests::test_svg_output_is_valid_xml
PASS [ 0.014s] (2436/2902) pdftract-core receipts::svg::tests::test_svg_output_no_external_references
PASS [ 0.010s] (2437/2902) pdftract-core receipts::tests::test_content_hash_empty_string
PASS [ 0.012s] (2438/2902) pdftract-core receipts::svg::tests::test_svg_viewbox_normalization
PASS [ 0.011s] (2439/2902) pdftract-core receipts::tests::test_content_hash_format
PASS [ 0.008s] (2440/2902) pdftract-core receipts::tests::test_receipt_lite_creates_valid_receipt
PASS [ 0.018s] (2441/2902) pdftract-core receipts::tests::test_content_hash_different_strings
PASS [ 0.034s] (2442/2902) pdftract-core receipts::svg::tests::test_svg_aggregate_size_estimate
PASS [ 0.012s] (2443/2902) pdftract-core receipts::tests::test_content_hash_nfc_normalization
PASS [ 0.011s] (2444/2902) pdftract-core receipts::tests::test_content_hash_unicode
PASS [ 0.009s] (2445/2902) pdftract-core receipts::tests::test_receipt_size_estimate
PASS [ 0.012s] (2446/2902) pdftract-core receipts::tests::test_content_hash_roundtrip
PASS [ 0.012s] (2447/2902) pdftract-core receipts::tests::test_receipt_lite_serializes_without_svg_clip
PASS [ 0.011s] (2448/2902) pdftract-core receipts::verifier::tests::test_check_version_compatibility_major_diff
PASS [ 0.012s] (2449/2902) pdftract-core receipts::tests::test_receipt_with_svg_includes_svg_clip
PASS [ 0.008s] (2450/2902) pdftract-core receipts::verifier::tests::test_compute_content_hash_format
PASS [ 0.007s] (2451/2902) pdftract-core receipts::verifier::tests::test_iou_no_overlap
PASS [ 0.007s] (2452/2902) pdftract-core receipts::verifier::tests::test_iou_one_inside_another
PASS [ 0.015s] (2453/2902) pdftract-core receipts::verifier::tests::test_check_version_compatibility_minor_diff
PASS [ 0.008s] (2454/2902) pdftract-core receipts::verifier::tests::test_iou_partial_overlap
PASS [ 0.015s] (2455/2902) pdftract-core receipts::verifier::tests::test_check_version_compatibility_same
PASS [ 0.015s] (2456/2902) pdftract-core receipts::verifier::tests::test_check_version_compatibility_patch_diff
PASS [ 0.015s] (2457/2902) pdftract-core receipts::verifier::tests::test_compute_content_hash_nfc_normalization
PASS [ 0.014s] (2458/2902) pdftract-core receipts::verifier::tests::test_iou_identical_boxes
PASS [ 0.017s] (2459/2902) pdftract-core receipts::verifier::tests::test_iou_degenerate_boxes
PASS [ 0.009s] (2460/2902) pdftract-core receipts::verifier::tests::test_iou_threshold_pass
PASS [ 0.008s] (2461/2902) pdftract-core receipts::verifier::tests::test_parse_semver_invalid
PASS [ 0.010s] (2462/2902) pdftract-core receipts::verifier::tests::test_iou_touching_edges
PASS [ 0.010s] (2463/2902) pdftract-core receipts::verifier::tests::test_iou_threshold_verification
PASS [ 0.011s] (2464/2902) pdftract-core receipts::verifier::tests::test_parse_semver_valid
PASS [ 0.008s] (2465/2902) pdftract-core receipts::verifier::tests::test_verify_receipt_success
PASS [ 0.011s] (2466/2902) pdftract-core receipts::verifier::tests::test_parse_semver_with_prerelease
PASS [ 0.015s] (2467/2902) pdftract-core receipts::verifier::tests::test_verify_receipt_content_mismatch
PASS [ 0.009s] (2468/2902) pdftract-core schema::tests::test_block_json_heading_with_level
PASS [ 0.015s] (2469/2902) pdftract-core receipts::verifier::tests::test_verify_receipt_bbox_mismatch
PASS [ 0.008s] (2470/2902) pdftract-core schema::tests::test_block_json_with_receipt
PASS [ 0.008s] (2471/2902) pdftract-core schema::tests::test_cell_json_serialization
PASS [ 0.008s] (2472/2902) pdftract-core schema::tests::test_destination_json_xyz
PASS [ 0.015s] (2473/2902) pdftract-core receipts::verifier::tests::test_verify_receipt_with_unicode_normalization
PASS [ 0.017s] (2474/2902) pdftract-core receipts::verifier::tests::test_verify_receipt_best_match_selected
PASS [ 0.018s] (2475/2902) pdftract-core receipts::verifier::tests::test_verify_receipt_fingerprint_mismatch
PASS [ 0.014s] (2476/2902) pdftract-core schema::tests::test_block_json_serialization
PASS [ 0.007s] (2477/2902) pdftract-core schema::tests::test_extraction_quality_default_impl
PASS [ 0.008s] (2478/2902) pdftract-core schema::tests::test_extraction_quality_chained_setters
PASS [ 0.007s] (2479/2902) pdftract-core schema::tests::test_extraction_quality_serialization_minimal
PASS [ 0.008s] (2480/2902) pdftract-core schema::tests::test_extraction_quality_with_dpi
PASS [ 0.013s] (2481/2902) pdftract-core schema::tests::test_diagnostic_json_document_level
PASS [ 0.015s] (2482/2902) pdftract-core schema::tests::test_document_metadata_optional_fields_skipped
PASS [ 0.014s] (2483/2902) pdftract-core schema::tests::test_document_metadata_with_all_fields
PASS [ 0.012s] (2484/2902) pdftract-core schema::tests::test_extraction_quality_serialization
PASS [ 0.016s] (2485/2902) pdftract-core schema::tests::test_diagnostic_json_serialization
PASS [ 0.013s] (2486/2902) pdftract-core schema::tests::test_extraction_quality_default
PASS [ 0.008s] (2487/2902) pdftract-core schema::tests::test_extraction_quality_with_quality
PASS [ 0.009s] (2488/2902) pdftract-core schema::tests::test_extraction_quality_with_ocr_fraction
PASS [ 0.010s] (2489/2902) pdftract-core schema::tests::test_outline_node_serialization
PASS [ 0.008s] (2490/2902) pdftract-core schema::tests::test_output_empty_serialization
PASS [ 0.009s] (2491/2902) pdftract-core schema::tests::test_output_phase7_placeholders_present
PASS [ 0.008s] (2492/2902) pdftract-core schema::tests::test_page_json_with_content
PASS [ 0.009s] (2493/2902) pdftract-core schema::tests::test_page_json_roundtrip_with_all_fields
PASS [ 0.016s] (2494/2902) pdftract-core schema::tests::test_page_json_minimal
PASS [ 0.009s] (2495/2902) pdftract-core schema::tests::test_page_json_with_page_labels_roman_numerals
PASS [ 0.009s] (2496/2902) pdftract-core schema::tests::test_page_json_without_page_labels_absent
PASS [ 0.015s] (2497/2902) pdftract-core schema::tests::test_output_roundtrip
PASS [ 0.021s] (2498/2902) pdftract-core schema::tests::test_outline_node_nested
PASS [ 0.020s] (2499/2902) pdftract-core schema::tests::test_output_default_impl
PASS [ 0.018s] (2500/2902) pdftract-core schema::tests::test_page_json_page_index_and_page_number_both_present
PASS [ 0.010s] (2501/2902) pdftract-core schema::tests::test_receipt_not_in_json_when_none
PASS [ 0.009s] (2502/2902) pdftract-core schema::tests::test_row_json_serialization
PASS [ 0.008s] (2503/2902) pdftract-core schema::tests::test_signature_json_minimal_unsigned
PASS [ 0.010s] (2504/2902) pdftract-core schema::tests::test_signature_json_round_trip
PASS [ 0.008s] (2505/2902) pdftract-core schema::tests::test_span_json_with_receipt
PASS [ 0.010s] (2506/2902) pdftract-core schema::tests::test_span_json_with_confidence
PASS [ 0.013s] (2507/2902) pdftract-core schema::tests::test_schema_version_static
PASS [ 0.010s] (2508/2902) pdftract-core schema::tests::test_table_json_borderless
PASS [ 0.012s] (2509/2902) pdftract-core schema::tests::test_table_block_emission_shape
PASS [ 0.016s] (2510/2902) pdftract-core schema::tests::test_signature_json_full
PASS [ 0.020s] (2511/2902) pdftract-core schema::tests::test_schema_stability
PASS [ 0.009s] (2512/2902) pdftract-core schema::tests::test_table_json_continued_flags
PASS [ 0.008s] (2513/2902) pdftract-core schema::tests::test_table_json_continued_from_prev
PASS [ 0.023s] (2514/2902) pdftract-core schema::tests::test_span_json_serialization
PASS [ 0.008s] (2515/2902) pdftract-core semaphore::tests::test_semaphore_acquire_release
PASS [ 0.013s] (2516/2902) pdftract-core schema::tests::test_tables_array_emitted_on_page_output
PASS [ 0.007s] (2517/2902) pdftract-core semaphore::tests::test_semaphore_creation
PASS [ 0.016s] (2518/2902) pdftract-core schema::tests::test_table_json_serialization
PASS [ 0.008s] (2519/2902) pdftract-core semaphore::tests::test_semaphore_guard
PASS [ 0.015s] (2520/2902) pdftract-core schema::tests::test_v_1_0_table_schema_roundtrip
PASS [ 0.014s] (2521/2902) pdftract-core sdk::tests::test_search_basic
PASS [ 0.008s] (2522/2902) pdftract-core signature::tests::test_coverage_fraction_full_coverage
PASS [ 0.008s] (2523/2902) pdftract-core signature::tests::test_coverage_fraction_invalid_byte_range
PASS [ 0.008s] (2524/2902) pdftract-core signature::tests::test_coverage_fraction_partial
PASS [ 0.009s] (2525/2902) pdftract-core signature::tests::test_coverage_fraction_no_file_size
PASS [ 0.009s] (2526/2902) pdftract-core signature::tests::test_decode_pdf_string_ascii
PASS [ 0.008s] (2527/2902) pdftract-core signature::tests::test_decode_pdf_string_utf16be_bom
PASS [ 0.010s] (2528/2902) pdftract-core signature::tests::test_decode_pdf_string_empty
PASS [ 0.009s] (2529/2902) pdftract-core signature::tests::test_discover_no_fields
PASS [ 0.013s] (2530/2902) pdftract-core signature::tests::test_discover_nested_mixed_field_types
PASS [ 0.010s] (2531/2902) pdftract-core signature::tests::test_discover_nested_signature_inherits_ft
PASS [ 0.010s] (2532/2902) pdftract-core signature::tests::test_discover_no_acroform
PASS [ 0.008s] (2533/2902) pdftract-core signature::tests::test_discover_non_signature_fields_excluded
PASS [ 0.010s] (2534/2902) pdftract-core signature::tests::test_discover_two_flat_signatures
PASS [ 0.008s] (2535/2902) pdftract-core signature::tests::test_discover_with_v_ref
PASS [ 0.011s] (2536/2902) pdftract-core signature::tests::test_discover_with_rect
PASS [ 0.008s] (2537/2902) pdftract-core signature::tests::test_extract_signature_metadata_unsigned
PASS [ 0.008s] (2538/2902) pdftract-core signature::tests::test_extract_signature_metadata_full
PASS [ 0.009s] (2539/2902) pdftract-core signature::tests::test_extract_signature_metadata_missing_optional_fields
PASS [ 0.008s] (2540/2902) pdftract-core signature::tests::test_parse_pdf_date_malformed
PASS [ 0.008s] (2541/2902) pdftract-core signature::tests::test_parse_pdf_date_negative_timezone
PASS [ 0.008s] (2542/2902) pdftract-core signature::tests::test_parse_pdf_date_no_timezone
PASS [ 0.015s] (2543/2902) pdftract-core signature::tests::test_extract_signatures_multiple
PASS [ 0.008s] (2544/2902) pdftract-core signature::tests::test_parse_pdf_date_only
PASS [ 0.016s] (2545/2902) pdftract-core signature::tests::test_parse_pdf_date_full_with_timezone
PASS [ 0.009s] (2546/2902) pdftract-core signature::tests::test_parse_pdf_date_without_d_prefix
PASS [ 0.012s] (2547/2902) pdftract-core signature::tests::test_parse_pdf_date_utc
PASS [ 0.008s] (2548/2902) pdftract-core source::file_source::tests::test_empty_file
PASS [ 0.008s] (2549/2902) pdftract-core source::file_source::tests::test_large_file
PASS [ 0.013s] (2550/2902) pdftract-core signature::tests::test_walk_acroform_fields_reusable
PASS [ 0.012s] (2551/2902) pdftract-core source::file_source::tests::test_concurrent_read_range
PASS [ 0.011s] (2552/2902) pdftract-core source::file_source::tests::test_open_nonexistent_file
PASS [ 0.010s] (2553/2902) pdftract-core source::file_source::tests::test_open_valid_file
PASS [ 0.008s] (2554/2902) pdftract-core source::file_source::tests::test_read_range
PASS [ 0.011s] (2555/2902) pdftract-core source::file_source::tests::test_read_mixed_with_seek
PASS [ 0.009s] (2556/2902) pdftract-core source::file_source::tests::test_read_range_bounds
PASS [ 0.009s] (2557/2902) pdftract-core source::file_source::tests::test_send_sync
PASS [ 0.061s] (2558/2902) pdftract-core semaphore::tests::test_semaphore_blocking
PASS [ 0.010s] (2559/2902) pdftract-core source::file_source::tests::test_read_seek
PASS [ 0.012s] (2560/2902) pdftract-core source::file_source::tests::test_read_range_past_eof_returns_err
PASS [ 0.011s] (2561/2902) pdftract-core source::file_source::tests::test_sync_multiple_threads
PASS [ 0.012s] (2562/2902) pdftract-core source::memory::tests::test_empty
PASS [ 0.010s] (2563/2902) pdftract-core source::memory::tests::test_from_slice
PASS [ 0.015s] (2564/2902) pdftract-core source::memory::tests::test_new
PASS [ 0.007s] (2565/2902) pdftract-core source::memory::tests::test_seek_from_end
PASS [ 0.015s] (2566/2902) pdftract-core source::memory::tests::test_read_range
PASS [ 0.011s] (2567/2902) pdftract-core source::memory::tests::test_read_range_offset_past_end
PASS [ 0.011s] (2568/2902) pdftract-core source::memory::tests::test_read_range_past_end
PASS [ 0.010s] (2569/2902) pdftract-core source::memory::tests::test_seek_trait
PASS [ 0.008s] (2570/2902) pdftract-core source::mmap::tests::test_advise_sequential
PASS [ 0.012s] (2571/2902) pdftract-core source::memory::tests::test_read_trait
PASS [ 0.008s] (2572/2902) pdftract-core source::mmap::tests::test_advise_sequential_overflow
PASS [ 0.008s] (2573/2902) pdftract-core source::mmap::tests::test_as_slice
PASS [ 0.008s] (2574/2902) pdftract-core source::mmap::tests::test_empty_file
PASS [ 0.008s] (2575/2902) pdftract-core source::mmap::tests::test_is_empty
PASS [ 0.008s] (2576/2902) pdftract-core source::mmap::tests::test_len_matches_file_size
PASS [ 0.009s] (2577/2902) pdftract-core source::mmap::tests::test_prefetch
PASS [ 0.009s] (2578/2902) pdftract-core source::mmap::tests::test_open_nonexistent_file
PASS [ 0.009s] (2579/2902) pdftract-core source::mmap::tests::test_open_valid_file
PASS [ 0.014s] (2580/2902) pdftract-core source::mmap::tests::test_large_file
PASS [ 0.016s] (2581/2902) pdftract-core source::mmap::tests::test_advise_sequential_past_eof
PASS [ 0.008s] (2582/2902) pdftract-core source::mmap::tests::test_read_range
PASS [ 0.008s] (2583/2902) pdftract-core source::mmap::tests::test_read_range_partial
PASS [ 0.009s] (2584/2902) pdftract-core source::mmap::tests::test_read_range_past_eof
PASS [ 0.014s] (2585/2902) pdftract-core source::mmap::tests::test_read_mixed_with_seek
PASS [ 0.012s] (2586/2902) pdftract-core source::mmap::tests::test_read_range_overflow
PASS [ 0.008s] (2587/2902) pdftract-core source::mmap::tests::test_seek_from_end
PASS [ 0.008s] (2588/2902) pdftract-core source::mmap::tests::test_seek_before_start
PASS [ 0.016s] (2589/2902) pdftract-core source::mmap::tests::test_read_trait
PASS [ 0.008s] (2590/2902) pdftract-core span::tests::test_assemble_text_boundary_at_start_of_page_no_space_injection
PASS [ 0.015s] (2591/2902) pdftract-core source::mmap::tests::test_seek_trait
PASS [ 0.012s] (2592/2902) pdftract-core source::mmap::tests::test_send_sync
PASS [ 0.008s] (2593/2902) pdftract-core span::tests::test_assemble_text_five_glyphs_hello
PASS [ 0.008s] (2594/2902) pdftract-core span::tests::test_assemble_text_hello_world_with_boundary
PASS [ 0.013s] (2595/2902) pdftract-core source::mmap::tests::test_stream_position
PASS [ 0.011s] (2596/2902) pdftract-core span::tests::test_assemble_text_direct_call
PASS [ 0.015s] (2597/2902) pdftract-core source::mmap::tests::test_sync_multiple_threads
PASS [ 0.008s] (2598/2902) pdftract-core span::tests::test_assemble_text_ligature_fi_as_two_glyphs
PASS [ 0.008s] (2599/2902) pdftract-core span::tests::test_assemble_text_preserves_special_unicode_chars
PASS [ 0.008s] (2600/2902) pdftract-core span::tests::test_colors_equal_device_gray_and_rgb_different
PASS [ 0.008s] (2601/2902) pdftract-core span::tests::test_colors_equal_spot_different_names
PASS [ 0.110s] (2602/2902) pdftract-core semaphore::tests::test_semaphore_concurrent
PASS [ 0.010s] (2603/2902) pdftract-core span::tests::test_colors_equal_device_gray_and_rgb_same
PASS [ 0.010s] (2604/2902) pdftract-core span::tests::test_colors_equal_spot_same_name_different_tint
PASS [ 0.013s] (2605/2902) pdftract-core span::tests::test_assemble_text_rtl_arabic_preserved_in_source_order
PASS [ 0.009s] (2606/2902) pdftract-core span::tests::test_colors_equal_spot_vs_device_rgb
PASS [ 0.014s] (2607/2902) pdftract-core span::tests::test_colors_equal_spot_same_name_same_tint
PASS [ 0.012s] (2608/2902) pdftract-core span::tests::test_css_hex_color_clone_is_cheap
PASS [ 0.010s] (2609/2902) pdftract-core span::tests::test_css_hex_color_new_invalid_non_hex
PASS [ 0.007s] (2610/2902) pdftract-core span::tests::test_css_hex_color_new_valid_lowercase
PASS [ 0.011s] (2611/2902) pdftract-core span::tests::test_css_hex_color_new_invalid_too_long
PASS [ 0.011s] (2612/2902) pdftract-core span::tests::test_css_hex_color_new_invalid_too_short
PASS [ 0.015s] (2613/2902) pdftract-core span::tests::test_css_hex_color_from_rgb
PASS [ 0.014s] (2614/2902) pdftract-core span::tests::test_css_hex_color_new_invalid_no_hash
PASS [ 0.009s] (2615/2902) pdftract-core span::tests::test_css_hex_color_new_valid_uppercase
PASS [ 0.013s] (2616/2902) pdftract-core span::tests::test_css_hex_color_new_valid_mixed_case
PASS [ 0.378s] (2617/2902) pdftract-core parser::xref::tests::proptest_prev_chain_tests::prop_prev_chain_random_offsets_no_panic
PASS [ 0.010s] (2618/2902) pdftract-core span::tests::test_map_confidence_source_agl_without_correction
PASS [ 0.012s] (2619/2902) pdftract-core span::tests::test_map_confidence_source_agl_with_correction
PASS [ 0.011s] (2620/2902) pdftract-core span::tests::test_map_confidence_source_correction_downgrades_native_to_heuristic
PASS [ 0.010s] (2621/2902) pdftract-core span::tests::test_map_confidence_source_fingerprint_with_correction
PASS [ 0.012s] (2622/2902) pdftract-core span::tests::test_map_confidence_source_exhaustive_match
PASS [ 0.008s] (2623/2902) pdftract-core span::tests::test_map_confidence_source_fingerprint_without_correction
PASS [ 0.008s] (2624/2902) pdftract-core span::tests::test_map_confidence_source_ocr_without_correction
PASS [ 0.009s] (2625/2902) pdftract-core span::tests::test_map_confidence_source_ocr_with_correction
PASS [ 0.011s] (2626/2902) pdftract-core span::tests::test_map_confidence_source_to_unicode_with_correction
PASS [ 0.010s] (2627/2902) pdftract-core span::tests::test_map_confidence_source_unknown_any_correction
PASS [ 0.008s] (2628/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_device_gray_and_rgb_normalized_same_color
PASS [ 0.008s] (2629/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_confidence_source_worst_glyph
PASS [ 0.015s] (2630/2902) pdftract-core span::tests::test_map_confidence_source_shape_match_any_correction
PASS [ 0.011s] (2631/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_confidence_minimum
PASS [ 0.008s] (2632/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_font_name_change_triggers_break
PASS [ 0.015s] (2633/2902) pdftract-core span::tests::test_map_confidence_source_to_unicode_without_correction
PASS [ 0.008s] (2634/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_font_size_within_threshold_no_break
PASS [ 0.014s] (2635/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_bbox_union
PASS [ 0.008s] (2636/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_rendering_mode_change
PASS [ 0.009s] (2637/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_hello_world_with_word_boundary
PASS [ 0.016s] (2638/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_empty_glyph_list
PASS [ 0.008s] (2639/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_spot_vs_device_rgb_different_colors
PASS [ 0.010s] (2640/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_unicode_source_to_confidence_source_mapping
PASS [ 0.015s] (2641/2902) pdftract-core span::tests::test_merge_glyphs_to_spans_font_size_exceeds_threshold_breaks
PASS [ 0.008s] (2642/2902) pdftract-core span::tests::test_normalize_color_for_comparison_other
PASS [ 0.008s] (2643/2902) pdftract-core span::tests::test_normalize_color_for_comparison_spot
PASS [ 0.011s] (2644/2902) pdftract-core span::tests::test_normalize_color_for_comparison_device_rgb
PASS [ 0.009s] (2645/2902) pdftract-core span::tests::test_span_clone_is_cheap
PASS [ 0.008s] (2646/2902) pdftract-core span::tests::test_span_combined_flags
PASS [ 0.014s] (2647/2902) pdftract-core span::tests::test_normalize_color_for_comparison_device_gray
PASS [ 0.008s] (2648/2902) pdftract-core span::tests::test_span_empty
PASS [ 0.015s] (2649/2902) pdftract-core span::tests::test_normalize_color_for_comparison_device_cmyk
PASS [ 0.007s] (2650/2902) pdftract-core span::tests::test_span_flags_combinable
PASS [ 0.008s] (2651/2902) pdftract-core span::tests::test_span_is_italic
PASS [ 0.009s] (2652/2902) pdftract-core span::tests::test_span_is_subscript
PASS [ 0.007s] (2653/2902) pdftract-core span::tests::test_span_size_within_budget
PASS [ 0.008s] (2654/2902) pdftract-core span::tests::test_span_is_superscript
PASS [ 0.008s] (2655/2902) pdftract-core span::tests::test_span_serde_json_roundtrip
PASS [ 0.007s] (2656/2902) pdftract-core span::tests::test_span_with_none_color_serializes
PASS [ 0.020s] (2657/2902) pdftract-core span::tests::test_span_constructible_with_all_fields
PASS [ 0.016s] (2658/2902) pdftract-core span::tests::test_span_is_bold
PASS [ 0.020s] (2659/2902) pdftract-core span::tests::test_span_confidence_source_variants
PASS [ 0.019s] (2660/2902) pdftract-core span::tests::test_span_flags_bold_bit
PASS [ 0.015s] (2661/2902) pdftract-core span::tests::test_span_is_smallcaps
PASS [ 0.009s] (2662/2902) pdftract-core span_flags::tests::test_all_flags_bold_italic_smallcaps_superscript
PASS [ 0.008s] (2663/2902) pdftract-core span_flags::tests::test_bold_by_flags_bit_18
PASS [ 0.007s] (2664/2902) pdftract-core span_flags::tests::test_bold_by_name_bold_italic
PASS [ 0.008s] (2665/2902) pdftract-core span_flags::tests::test_bold_by_name_helvetica_bold
PASS [ 0.008s] (2666/2902) pdftract-core span_flags::tests::test_bold_by_stem_v
PASS [ 0.007s] (2667/2902) pdftract-core span_flags::tests::test_italic_by_name_oblique
PASS [ 0.010s] (2668/2902) pdftract-core span_flags::tests::test_bold_italic_combination
PASS [ 0.013s] (2669/2902) pdftract-core span_flags::tests::test_bold_by_name_times_bold
PASS [ 0.015s] (2670/2902) pdftract-core span_flags::tests::test_bold_by_name_black
PASS [ 0.015s] (2671/2902) pdftract-core span_flags::tests::test_bold_by_name_bd
PASS [ 0.008s] (2672/2902) pdftract-core span_flags::tests::test_mutually_exclusive_sub_super
PASS [ 0.010s] (2673/2902) pdftract-core span_flags::tests::test_italic_by_name_helvetica_italic
PASS [ 0.013s] (2674/2902) pdftract-core span_flags::tests::test_italic_by_angle
PASS [ 0.013s] (2675/2902) pdftract-core span_flags::tests::test_bold_by_subset_prefix
PASS [ 0.011s] (2676/2902) pdftract-core span_flags::tests::test_no_script_within_threshold
PASS [ 0.011s] (2677/2902) pdftract-core span_flags::tests::test_not_bold_low_stem_v
PASS [ 0.009s] (2678/2902) pdftract-core span_flags::tests::test_regular_font_no_flags
PASS [ 0.008s] (2679/2902) pdftract-core span_flags::tests::test_smallcaps_by_name_dot_sc
PASS [ 0.009s] (2680/2902) pdftract-core span_flags::tests::test_smallcaps_by_flags
PASS [ 0.008s] (2681/2902) pdftract-core span_flags::tests::test_subscript_negative_rise
PASS [ 0.008s] (2682/2902) pdftract-core span_flags::tests::test_superscript_positive_rise
PASS [ 0.011s] (2683/2902) pdftract-core span_flags::tests::test_not_italic_zero_angle
PASS [ 0.011s] (2684/2902) pdftract-core span_flags::tests::test_smallcaps_by_name_smallcaps
PASS [ 0.015s] (2685/2902) pdftract-core span_flags::tests::test_smallcaps_by_name_sc
PASS [ 0.008s] (2686/2902) pdftract-core table::cell::tests::debug_test_colspan_3
PASS [ 0.014s] (2687/2902) pdftract-core span_flags::tests::test_subscript_threshold_exactly_negative
PASS [ 0.010s] (2688/2902) pdftract-core table::cell::tests::test_5x3_bordered_table_critical_test
PASS [ 0.009s] (2689/2902) pdftract-core table::cell::tests::test_cell_contains_point_inside
PASS [ 0.014s] (2690/2902) pdftract-core span_flags::tests::test_zero_font_size_handling
PASS [ 0.012s] (2691/2902) pdftract-core table::cell::tests::test_assign_orphan_spans
PASS [ 0.011s] (2692/2902) pdftract-core table::cell::tests::test_assign_spans_centroid_on_border
PASS [ 0.009s] (2693/2902) pdftract-core table::cell::tests::test_cell_contains_point_on_boundary
PASS [ 0.008s] (2694/2902) pdftract-core table::cell::tests::test_cell_contains_point_with_epsilon
PASS [ 0.013s] (2695/2902) pdftract-core table::cell::tests::test_assign_spans_to_cells_simple
PASS [ 0.020s] (2696/2902) pdftract-core span_flags::tests::test_superscript_threshold_exactly_positive
PASS [ 0.009s] (2697/2902) pdftract-core table::cell::tests::test_cell_contains_point_outside
PASS [ 0.010s] (2698/2902) pdftract-core table::cell::tests::test_cell_new
PASS [ 0.008s] (2699/2902) pdftract-core table::cell::tests::test_detect_merged_cells_borderless_table_noop
PASS [ 0.008s] (2700/2902) pdftract-core table::cell::tests::test_detect_merged_cells_colspan_3_critical_test
PASS [ 0.008s] (2701/2902) pdftract-core table::cell::tests::test_detect_merged_cells_diagonal_merge
PASS [ 0.008s] (2702/2902) pdftract-core table::cell::tests::test_detect_merged_cells_no_merges_complete_grid
PASS [ 0.008s] (2703/2902) pdftract-core table::cell::tests::test_detect_merged_cells_transitive_merge
PASS [ 0.010s] (2704/2902) pdftract-core table::cell::tests::test_detect_merged_cells_pure_rowspan
PASS [ 0.016s] (2705/2902) pdftract-core table::cell::tests::test_count_header_rows_multi_row_header
PASS [ 0.015s] (2706/2902) pdftract-core table::cell::tests::test_count_header_rows_single_header
PASS [ 0.016s] (2707/2902) pdftract-core table::cell::tests::test_count_header_rows_uses_combined_signal
PASS [ 0.018s] (2708/2902) pdftract-core table::cell::tests::test_count_header_rows_non_contiguous
PASS [ 0.018s] (2709/2902) pdftract-core table::cell::tests::test_count_header_rows_no_header
PASS [ 0.008s] (2710/2902) pdftract-core table::cell::tests::test_extend_bbox_for_rightmost_column
PASS [ 0.009s] (2711/2902) pdftract-core table::cell::tests::test_extend_bbox_for_leftmost_column
PASS [ 0.009s] (2712/2902) pdftract-core table::cell::tests::test_extend_bbox_for_bottom_row
PASS [ 0.010s] (2713/2902) pdftract-core table::cell::tests::test_extend_bbox_for_top_row
PASS [ 0.011s] (2714/2902) pdftract-core table::cell::tests::test_is_bold_font_helvetica_bold
PASS [ 0.011s] (2715/2902) pdftract-core table::cell::tests::test_is_bold_font_short_form
PASS [ 0.007s] (2716/2902) pdftract-core table::cell::tests::test_is_bold_header_row_single_cell
PASS [ 0.009s] (2717/2902) pdftract-core table::cell::tests::test_is_bold_font_times_bold
PASS [ 0.015s] (2718/2902) pdftract-core table::cell::tests::test_is_bold_font_heavy_black
PASS [ 0.008s] (2719/2902) pdftract-core table::cell::tests::test_is_cell_bold_all_bold
PASS [ 0.017s] (2720/2902) pdftract-core table::cell::tests::test_is_bold_font_negative
PASS [ 0.014s] (2721/2902) pdftract-core table::cell::tests::test_is_bold_header_row_mixed_boldness
PASS [ 0.012s] (2722/2902) pdftract-core table::cell::tests::test_is_bold_header_row_two_bold_cells
PASS [ 0.008s] (2723/2902) pdftract-core table::cell::tests::test_is_cell_bold_mixed
PASS [ 0.008s] (2724/2902) pdftract-core table::cell::tests::test_is_cell_bold_empty
PASS [ 0.007s] (2725/2902) pdftract-core table::cell::tests::test_is_cell_bold_whitespace_only
PASS [ 0.012s] (2726/2902) pdftract-core table::cell::tests::test_is_cell_bold_all_plain
PASS [ 0.008s] (2727/2902) pdftract-core table::cell::tests::test_is_header_row_bold_signal
PASS [ 0.014s] (2728/2902) pdftract-core table::cell::tests::test_is_bold_header_row_with_empty_cell
PASS [ 0.009s] (2729/2902) pdftract-core table::cell::tests::test_is_th_header_row_not_implemented
PASS [ 0.011s] (2730/2902) pdftract-core table::cell::tests::test_is_horizontal_edge_present_full_coverage
PASS [ 0.008s] (2731/2902) pdftract-core table::cell::tests::test_mark_header_rows_multi_row_header
PASS [ 0.009s] (2732/2902) pdftract-core table::cell::tests::test_is_vertical_edge_present_partial_coverage_below_threshold
PASS [ 0.013s] (2733/2902) pdftract-core table::cell::tests::test_is_horizontal_edge_present_partial_coverage_above_threshold
PASS [ 0.009s] (2734/2902) pdftract-core table::cell::tests::test_multiple_spans_in_same_cell_sorted
PASS [ 0.016s] (2735/2902) pdftract-core table::cell::tests::test_is_header_row_plain_row
PASS [ 0.013s] (2736/2902) pdftract-core table::cell::tests::test_mark_header_rows_single_header
PASS [ 0.015s] (2737/2902) pdftract-core table::cell::tests::test_is_vertical_edge_present_full_coverage
PASS [ 0.011s] (2738/2902) pdftract-core table::cell::tests::test_sort_cell_content_by_line
PASS [ 0.015s] (2739/2902) pdftract-core table::cell::tests::test_mark_header_rows_none
PASS [ 0.009s] (2740/2902) pdftract-core table::cell::tests::test_span_flush_to_border_captured
PASS [ 0.008s] (2741/2902) pdftract-core table::cell::tests::test_table_span_area
PASS [ 0.011s] (2742/2902) pdftract-core table::cell::tests::test_span_overlaps_multiple_cells_diagnostic
PASS [ 0.009s] (2743/2902) pdftract-core table::detector::tests::test_cluster_horizontal_segments
PASS [ 0.010s] (2744/2902) pdftract-core table::cell::tests::test_table_span_centroid
PASS [ 0.010s] (2745/2902) pdftract-core table::detector::tests::test_borderless_table_has_empty_segments
PASS [ 0.008s] (2746/2902) pdftract-core table::detector::tests::test_collect_empty_content
PASS [ 0.010s] (2747/2902) pdftract-core table::cell::tests::test_y_bucket_sorting
PASS [ 0.010s] (2748/2902) pdftract-core table::detector::tests::test_collect_horizontal_line
PASS [ 0.010s] (2749/2902) pdftract-core table::detector::tests::test_collect_text_positions_with_td
PASS [ 0.008s] (2750/2902) pdftract-core table::detector::tests::test_detect_borderless_3x3_table_accepted
PASS [ 0.008s] (2751/2902) pdftract-core table::detector::tests::test_detect_borderless_empty_content
PASS [ 0.008s] (2752/2902) pdftract-core table::detector::tests::test_detect_borderless_no_text_block
PASS [ 0.010s] (2753/2902) pdftract-core table::detector::tests::test_collect_vertical_line
PASS [ 0.015s] (2754/2902) pdftract-core table::detector::tests::test_collect_text_positions_basic
PASS [ 0.012s] (2755/2902) pdftract-core table::detector::tests::test_detect_5x3_table
PASS [ 0.015s] (2756/2902) pdftract-core table::detector::tests::test_collect_text_positions_with_tj
PASS [ 0.019s] (2757/2902) pdftract-core table::detector::tests::test_collect_rectangle
PASS [ 0.014s] (2758/2902) pdftract-core table::detector::tests::test_detect_borderless_one_row_pseudo_table_rejected
PASS [ 0.008s] (2759/2902) pdftract-core table::detector::tests::test_detect_simple_grid
PASS [ 0.008s] (2760/2902) pdftract-core table::detector::tests::test_detector_default
PASS [ 0.014s] (2761/2902) pdftract-core table::detector::tests::test_detect_borderless_paragraph_rejected
PASS [ 0.011s] (2762/2902) pdftract-core table::detector::tests::test_detect_nested_rectangles
PASS [ 0.008s] (2763/2902) pdftract-core table::detector::tests::test_find_intersections
PASS [ 0.008s] (2764/2902) pdftract-core table::detector::tests::test_filter_text_object_segments
PASS [ 0.013s] (2765/2902) pdftract-core table::detector::tests::test_detector_with_min_cells
PASS [ 0.008s] (2766/2902) pdftract-core table::detector::tests::test_is_single_column_reflow_true
PASS [ 0.008s] (2767/2902) pdftract-core table::detector::tests::test_no_filter_text_object_segments
PASS [ 0.016s] (2768/2902) pdftract-core table::detector::tests::test_detect_disjoint_tables
PASS [ 0.012s] (2769/2902) pdftract-core table::detector::tests::test_find_row_candidates_basic
PASS [ 0.008s] (2770/2902) pdftract-core table::detector::tests::test_is_single_column_reflow_false
PASS [ 0.018s] (2771/2902) pdftract-core table::detector::tests::test_detect_borderless_vertical_gap_test
PASS [ 0.009s] (2772/2902) pdftract-core table::detector::tests::test_group_by_x0_tolerance
PASS [ 0.010s] (2773/2902) pdftract-core table::grid::tests::test_grid_insufficient_intersections
PASS [ 0.008s] (2774/2902) pdftract-core table::output::tests::test_columns_similar_identical
PASS [ 0.008s] (2775/2902) pdftract-core table::output::tests::test_columns_similar_small_difference
PASS [ 0.008s] (2776/2902) pdftract-core table::grid::tests::test_grid_with_segments
PASS [ 0.010s] (2777/2902) pdftract-core table::grid::tests::test_grid_single_row
PASS [ 0.012s] (2778/2902) pdftract-core table::grid::tests::test_grid_from_intersections_5x3
PASS [ 0.013s] (2779/2902) pdftract-core table::grid::tests::test_cell_bbox
PASS [ 0.010s] (2780/2902) pdftract-core table::output::tests::test_cell_to_cell_json_text_concatenation
PASS [ 0.013s] (2781/2902) pdftract-core table::output::tests::test_columns_similar_large_difference
PASS [ 0.013s] (2782/2902) pdftract-core table::output::tests::test_build_rows_from_cells
PASS [ 0.014s] (2783/2902) pdftract-core table::output::tests::test_columns_similar_different_count
PASS [ 0.008s] (2784/2902) pdftract-core table::segment::tests::test_merge_horizontal
PASS [ 0.008s] (2785/2902) pdftract-core table::segment::tests::test_merge_vertical
PASS [ 0.013s] (2786/2902) pdftract-core table::output::tests::test_detect_two_page_tables_basic
PASS [ 0.007s] (2787/2902) pdftract-core table::segment::tests::test_segment_horizontal_constructor
PASS [ 0.014s] (2788/2902) pdftract-core table::output::tests::test_detect_two_page_tables_different_column_count
PASS [ 0.007s] (2789/2902) pdftract-core table::segment::tests::test_segment_length
PASS [ 0.014s] (2790/2902) pdftract-core table::output::tests::test_detect_two_page_tables_no_continuation
PASS [ 0.015s] (2791/2902) pdftract-core table::output::tests::test_grid_to_table_json_basic
PASS [ 0.016s] (2792/2902) pdftract-core table::segment::tests::test_is_collinear_horizontal
PASS [ 0.008s] (2793/2902) pdftract-core table::segment::tests::test_segment_new_diagonal_rejected
PASS [ 0.011s] (2794/2902) pdftract-core table::segment::tests::test_segment_intersection
PASS [ 0.016s] (2795/2902) pdftract-core table::segment::tests::test_is_collinear_vertical
PASS [ 0.008s] (2796/2902) pdftract-core table::segment::tests::test_segment_new_horizontal
PASS [ 0.008s] (2797/2902) pdftract-core table::segment::tests::test_segment_new_vertical
PASS [ 0.008s] (2798/2902) pdftract-core table::segment::tests::test_segment_no_intersection
PASS [ 0.010s] (2799/2902) pdftract-core table::segment::tests::test_segment_vertical_constructor
PASS [ 0.009s] (2800/2902) pdftract-core text::tests::test_compute_block_text_from_spans_include_invisible_true
PASS [ 0.009s] (2801/2902) pdftract-core table::tests::test_page_context_creation
PASS [ 0.010s] (2802/2902) pdftract-core text::tests::test_get_block_text_heading
PASS [ 0.009s] (2803/2902) pdftract-core text::tests::test_is_header_or_footer
PASS [ 0.012s] (2804/2902) pdftract-core text::tests::test_compute_block_text_from_spans_all_invisible_excluded
PASS [ 0.012s] (2805/2902) pdftract-core text::tests::test_compute_block_text_from_spans_mixed_visibility
PASS [ 0.013s] (2806/2902) pdftract-core text::tests::test_is_watermark
PASS [ 0.016s] (2807/2902) pdftract-core text::tests::test_get_block_text_figure
PASS [ 0.017s] (2808/2902) pdftract-core text::tests::test_get_block_text_paragraph
PASS [ 0.010s] (2809/2902) pdftract-core text::tests::test_serialize_document_text_empty_page_in_middle
PASS [ 0.008s] (2810/2902) pdftract-core text::tests::test_serialize_document_text_includes_headers_when_flagged
PASS [ 0.008s] (2811/2902) pdftract-core text::tests::test_serialize_document_text_one_page
PASS [ 0.013s] (2812/2902) pdftract-core text::tests::test_serialize_document_text_empty_document
PASS [ 0.012s] (2813/2902) pdftract-core text::tests::test_serialize_document_text_filters_headers
PASS [ 0.008s] (2814/2902) pdftract-core text::tests::test_serialize_page_text_caption
PASS [ 0.013s] (2815/2902) pdftract-core text::tests::test_serialize_document_text_ten_pages
PASS [ 0.010s] (2816/2902) pdftract-core text::tests::test_serialize_page_text_code
PASS [ 0.009s] (2817/2902) pdftract-core text::tests::test_serialize_page_text_empty_block_omitted
PASS [ 0.014s] (2818/2902) pdftract-core text::tests::test_serialize_page_text_all_invisible_block_omitted
PASS [ 0.011s] (2819/2902) pdftract-core text::tests::test_serialize_page_text_footer_excluded_by_default
PASS [ 0.011s] (2820/2902) pdftract-core text::tests::test_serialize_page_text_figure_emits_empty
PASS [ 0.018s] (2821/2902) pdftract-core text::tests::test_serialize_document_text_two_pages
PASS [ 0.011s] (2822/2902) pdftract-core text::tests::test_serialize_page_text_header_included_when_flagged
PASS [ 0.009s] (2823/2902) pdftract-core text::tests::test_serialize_page_text_heading_and_paragraphs
PASS [ 0.014s] (2824/2902) pdftract-core text::tests::test_serialize_page_text_header_excluded_by_default
PASS [ 0.017s] (2825/2902) pdftract-core text::tests::test_serialize_page_text_empty_blocks
PASS [ 0.009s] (2826/2902) pdftract-core text::tests::test_serialize_page_text_list
PASS [ 0.009s] (2827/2902) pdftract-core text::tests::test_serialize_page_text_invisible_span_included_when_flagged
PASS [ 0.008s] (2828/2902) pdftract-core text::tests::test_serialize_page_text_quote
PASS [ 0.012s] (2829/2902) pdftract-core text::tests::test_serialize_page_text_mixed_blocks_with_invisible
PASS [ 0.011s] (2830/2902) pdftract-core text::tests::test_serialize_page_text_table
PASS [ 0.017s] (2831/2902) pdftract-core text::tests::test_serialize_page_text_invisible_span_filtered
PASS [ 0.012s] (2832/2902) pdftract-core text::tests::test_serialize_page_text_three_paragraphs
PASS [ 0.008s] (2833/2902) pdftract-core text::tests::test_should_include_span_invisible_mode_3_excluded_by_default
PASS [ 0.008s] (2834/2902) pdftract-core text::tests::test_serialize_page_text_watermark_included_when_flagged
PASS [ 0.010s] (2835/2902) pdftract-core text::tests::test_should_include_span_invisible_mode_3_included_when_flagged
PASS [ 0.010s] (2836/2902) pdftract-core text::tests::test_should_include_span_invisible_mode_6_excluded_by_default
PASS [ 0.014s] (2837/2902) pdftract-core text::tests::test_serialize_page_text_watermark_excluded_by_default
PASS [ 0.011s] (2838/2902) pdftract-core text::tests::test_should_include_span_invisible_mode_5_excluded_by_default
PASS [ 0.012s] (2839/2902) pdftract-core text::tests::test_should_include_span_invisible_mode_4_excluded_by_default
PASS [ 0.009s] (2840/2902) pdftract-core text::tests::test_should_include_span_no_rendering_mode
PASS [ 0.010s] (2841/2902) pdftract-core text::tests::test_should_include_span_invisible_mode_7_excluded_by_default
PASS [ 0.008s] (2842/2902) pdftract-core text::tests::test_should_include_span_visible_mode_2
PASS [ 0.010s] (2843/2902) pdftract-core text::tests::test_should_include_span_visible_mode_0
PASS [ 0.010s] (2844/2902) pdftract-core text::tests::test_text_options_builder_pattern
PASS [ 0.008s] (2845/2902) pdftract-core threads::tests::test_bead_new
PASS [ 0.012s] (2846/2902) pdftract-core text::tests::test_should_include_span_visible_mode_1
PASS [ 0.009s] (2847/2902) pdftract-core threads::tests::test_decode_pdf_string_empty
PASS [ 0.011s] (2848/2902) pdftract-core text::tests::test_text_options_default
PASS [ 0.008s] (2849/2902) pdftract-core threads::tests::test_decode_pdfdocencoding_ascii
PASS [ 0.008s] (2850/2902) pdftract-core threads::tests::test_decode_pdfdocencoding_empty
PASS [ 0.012s] (2851/2902) pdftract-core threads::tests::test_decode_pdf_string_latin1
PASS [ 0.015s] (2852/2902) pdftract-core threads::tests::test_decode_pdf_string_ascii
PASS [ 0.014s] (2853/2902) pdftract-core threads::tests::test_decode_pdf_string_utf16be_bom
PASS [ 0.010s] (2854/2902) pdftract-core threads::tests::test_decode_utf16be_invalid_length
PASS [ 0.008s] (2855/2902) pdftract-core threads::tests::test_discover_no_threads_field
PASS [ 0.009s] (2856/2902) pdftract-core threads::tests::test_discover_thread_empty_title
PASS [ 0.011s] (2857/2902) pdftract-core threads::tests::test_discover_empty_threads
PASS [ 0.009s] (2858/2902) pdftract-core threads::tests::test_discover_three_threads
PASS [ 0.010s] (2859/2902) pdftract-core threads::tests::test_discover_thread_utf16_title
PASS [ 0.011s] (2860/2902) pdftract-core threads::tests::test_discover_thread_no_info_dict
PASS [ 0.014s] (2861/2902) pdftract-core threads::tests::test_discover_thread_missing_f_skipped
PASS [ 0.008s] (2862/2902) pdftract-core threads::tests::test_walk_beads_malformed_cycle
PASS [ 0.008s] (2863/2902) pdftract-core threads::tests::test_walk_beads_missing_next
PASS [ 0.008s] (2864/2902) pdftract-core threads::tests::test_walk_beads_missing_page_ref
PASS [ 0.015s] (2865/2902) pdftract-core threads::tests::test_walk_beads_circular_termination
PASS [ 0.008s] (2866/2902) pdftract-core threads::tests::test_walk_beads_page_ref_not_in_tree
PASS [ 0.019s] (2867/2902) pdftract-core threads::tests::test_thread_header_new
PASS [ 0.016s] (2868/2902) pdftract-core threads::tests::test_walk_beads_invalid_rect_shape
PASS [ 0.018s] (2869/2902) pdftract-core threads::tests::test_thread_header_with_fields
PASS [ 0.010s] (2870/2902) pdftract-core threads::tests::test_walk_beads_missing_rect
PASS [ 0.010s] (2871/2902) pdftract-core threads::tests::test_walk_beads_single_bead
PASS [ 0.013s] (2872/2902) pdftract-core threads::tests::test_walk_beads_pg_fallback
PASS [ 0.008s] (2873/2902) pdftract-core word_boundary::tests::test_detector_gap_at_threshold
PASS [ 0.012s] (2874/2902) pdftract-core threads::tests::test_walk_beads_two_threads
PASS [ 0.012s] (2875/2902) pdftract-core word_boundary::tests::test_detector_bootstrap_threshold
PASS [ 0.008s] (2876/2902) pdftract-core word_boundary::tests::test_detector_gap_below_threshold
PASS [ 0.009s] (2877/2902) pdftract-core word_boundary::tests::test_detector_recalibration_after_20_samples
PASS [ 0.014s] (2878/2902) pdftract-core word_boundary::tests::test_detector_gap_above_threshold
PASS [ 0.011s] (2879/2902) pdftract-core word_boundary::tests::test_detector_reset
PASS [ 0.009s] (2880/2902) pdftract-core word_boundary::tests::test_detector_sample_count
PASS [ 0.009s] (2881/2902) pdftract-core word_boundary::tests::test_detector_zero_gap_no_boundary
PASS [ 0.017s] (2882/2902) pdftract-core word_boundary::tests::test_detector_negative_gap_no_boundary
PASS [ 0.010s] (2883/2902) pdftract-core word_boundary::tests::test_median_empty
PASS [ 0.011s] (2884/2902) pdftract-core word_boundary::tests::test_manager_reset_font
PASS [ 0.011s] (2885/2902) pdftract-core word_boundary::tests::test_median_even
PASS [ 0.015s] (2886/2902) pdftract-core word_boundary::tests::test_manager_record_and_detect
PASS [ 0.008s] (2887/2902) pdftract-core word_boundary::tests::test_median_unsorted
PASS [ 0.019s] (2888/2902) pdftract-core word_boundary::tests::test_manager_multiple_fonts
PASS [ 0.014s] (2889/2902) pdftract-core word_boundary::tests::test_median_odd
PASS [ 0.008s] (2890/2902) pdftract-core word_boundary::tests::test_text_state_expected_advance_combined
PASS [ 0.015s] (2891/2902) pdftract-core word_boundary::tests::test_median_single
PASS [ 0.007s] (2892/2902) pdftract-core word_boundary::tests::test_text_state_expected_advance_with_tw_non_space
PASS [ 0.015s] (2893/2902) pdftract-core word_boundary::tests::test_median_two
PASS [ 0.010s] (2894/2902) pdftract-core word_boundary::tests::test_text_state_expected_advance_with_tw_space
PASS [ 0.015s] (2895/2902) pdftract-core word_boundary::tests::test_text_state_defaults
PASS [ 0.013s] (2896/2902) pdftract-core word_boundary::tests::test_text_state_expected_advance_with_tc
PASS [ 0.008s] (2897/2902) pdftract-core word_boundary::tests::test_text_state_set_font
PASS [ 0.008s] (2898/2902) pdftract-core word_boundary::tests::test_text_state_expected_advance_with_tz
PASS [ 0.014s] (2899/2902) pdftract-core word_boundary::tests::test_text_state_expected_advance_basic
PASS [ 0.008s] (2900/2902) pdftract-core word_boundary::tests::test_text_state_setters
FAIL [ 0.064s] (2901/2902) pdftract-core threads::tests::test_walk_beads_max_iterations
stdout ───
running 1 test
test threads::tests::test_walk_beads_max_iterations ... FAILED
failures:
failures:
threads::tests::test_walk_beads_max_iterations
test result: FAILED. 0 passed; 1 failed; 0 ignored; 0 measured; 2903 filtered out; finished in 0.06s
stderr ───
thread 'threads::tests::test_walk_beads_max_iterations' (1395579) panicked at crates/pdftract-core/src/threads/mod.rs:1538:9:
assertion failed: result.is_err()
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
PASS [ 2.216s] (2902/2902) pdftract-core parser::stream::predictor_tests::test_flate_decode_performance_100mb
────────────
Summary [ 4.527s] 2902 tests run: 2857 passed, 45 failed, 2 skipped
FAIL [ 0.007s] ( 5/2902) pdftract-core annotation::json::tests::test_sort_links
FAIL [ 0.012s] ( 200/2902) pdftract-core cache::multi_process::tests::test_acceptance_corrupt_entry_treated_as_miss
FAIL [ 0.011s] ( 208/2902) pdftract-core cache::multi_process::tests::test_reader_corrupt_entry_deleted
FAIL [ 0.009s] ( 210/2902) pdftract-core cache::multi_process::tests::test_reader_exists
FAIL [ 0.009s] ( 213/2902) pdftract-core cache::multi_process::tests::test_write_creates_parent_dirs
FAIL [ 0.010s] ( 216/2902) pdftract-core cache::multi_process::tests::test_writer_basic
FAIL [ 0.021s] ( 218/2902) pdftract-core cache::multi_process::tests::test_reader_mid_rename
FAIL [ 0.015s] ( 223/2902) pdftract-core cache::multi_process::tests::test_write_truncates_existing
FAIL [ 0.009s] ( 543/2902) pdftract-core document::tests::test_extract_spans_from_page
FAIL [ 0.008s] ( 545/2902) pdftract-core document::tests::test_parse_pdf_file
FAIL [ 0.018s] ( 553/2902) pdftract-core document::tests::test_compute_pdf_fingerprint
FAIL [ 0.009s] ( 600/2902) pdftract-core extract::tests::test_extract_pdf_with_receipts_lite
FAIL [ 0.008s] ( 603/2902) pdftract-core extract::tests::test_extract_pdf_with_receipts_off
FAIL [ 0.009s] ( 604/2902) pdftract-core extract::tests::test_extract_pdf_with_receipts_svg
FAIL [ 0.008s] ( 606/2902) pdftract-core extract::tests::test_extraction_metadata
FAIL [ 0.008s] ( 609/2902) pdftract-core extract::tests::test_result_to_json_format
FAIL [ 0.008s] ( 610/2902) pdftract-core extract::tests::test_result_to_json_includes_signatures
FAIL [ 0.008s] ( 611/2902) pdftract-core extract::tests::test_result_to_json_with_receipts
FAIL [ 0.010s] ( 614/2902) pdftract-core extract::tests::test_signatures_always_not_checked
FAIL [ 0.009s] ( 615/2902) pdftract-core extract::tests::test_tagged_pdf_emits_deferred_diagnostic
FAIL [ 0.011s] ( 619/2902) pdftract-core extract::tests::test_untagged_pdf_no_deferred_diagnostic
FAIL [ 0.009s] ( 635/2902) pdftract-core fingerprint::canonicalize::tests::test_serialize_dict_canonical_sorted
FAIL [ 0.011s] ( 640/2902) pdftract-core fingerprint::canonicalize::tests::test_serialize_object_canonical_dict
FAIL [ 0.008s] ( 705/2902) pdftract-core font::codespace::tests::test_hex_string_with_whitespace
FAIL [ 0.009s] (1509/2902) pdftract-core markdown::tests::test_block_to_markdown_formula_display
FAIL [ 0.019s] (1512/2902) pdftract-core markdown::span_tests::test_spans_to_markdown_with_links_and_footnotes_footnote_takes_precedence
FAIL [ 0.020s] (1725/2902) pdftract-core parser::hint_stream::tests::test_parse_hint_stream_full_minimal
FAIL [ 0.008s] (1900/2902) pdftract-core parser::object::cache::tests::test_end_resolution_manually
FAIL [ 0.008s] (1901/2902) pdftract-core parser::object::cache::tests::test_depth_tracking_across_resolutions
FAIL [ 0.008s] (2344/2902) pdftract-core parser::xref::tests::test_forward_scan_carriage_return
FAIL [ 0.010s] (2349/2902) pdftract-core parser::xref::tests::test_forward_scan_multi_revision
FAIL [ 0.008s] (2350/2902) pdftract-core parser::xref::tests::test_forward_scan_truncated_file
FAIL [ 0.008s] (2351/2902) pdftract-core parser::xref::tests::test_forward_scan_simple
FAIL [ 0.015s] (2352/2902) pdftract-core parser::xref::tests::test_forward_scan_false_positive_handling
FAIL [ 0.010s] (2354/2902) pdftract-core parser::xref::tests::test_forward_scan_trailer_no_space
FAIL [ 0.009s] (2355/2902) pdftract-core parser::xref::tests::test_forward_scan_with_generations
FAIL [ 0.011s] (2358/2902) pdftract-core parser::xref::tests::test_forward_scan_with_trailer
FAIL [ 0.017s] (2379/2902) pdftract-core parser::xref::tests::test_parse_multi_subsection_xref
FAIL [ 0.009s] (2382/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_field_width_zero_gen
FAIL [ 0.013s] (2383/2902) pdftract-core parser::xref::tests::test_parse_xref_lf_only_19_byte_entries
FAIL [ 0.011s] (2386/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_invalid_entry_type
FAIL [ 0.012s] (2387/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_simple
FAIL [ 0.009s] (2390/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_multi_subsection
FAIL [ 0.015s] (2392/2902) pdftract-core parser::xref::tests::test_parse_xref_stream_type2_compressed
FAIL [ 0.064s] (2901/2902) pdftract-core threads::tests::test_walk_beads_max_iterations
error: test run failed