Coverage report:
80%
hide covered
Files
Functions
Classes
coverage.py v7.13.5
, created at 2026-03-20 04:42 +0000
Statements
Branches
Total
File
function
coverage
statements
missing
excluded
coverage
branches
partial
coverage
log2s3 / __init__.py
(no function)
100%
0
0
0
100%
0
0
100%
log2s3 / app.py
update_config
100%
1
0
0
100%
0
0
100%
log2s3 / app.py
uri2file
100%
7
0
0
100%
4
0
100%
log2s3 / app.py
file2uri
100%
2
0
0
100%
0
0
100%
log2s3 / app.py
uriescape
100%
1
0
0
100%
0
0
100%
log2s3 / app.py
read_config
100%
1
0
0
100%
0
0
100%
log2s3 / app.py
read_file
100%
22
0
0
100%
14
0
100%
log2s3 / app.py
reg_file
100%
20
0
0
83%
6
1
96%
log2s3 / app.py
list_dir
100%
17
0
0
92%
12
1
97%
log2s3 / app.py
get_dirs
0%
1
1
0
100%
0
0
0%
log2s3 / app.py
list_raw
100%
1
0
0
100%
0
0
100%
log2s3 / app.py
html1
100%
5
0
0
100%
2
0
100%
log2s3 / app.py
html1.gen
100%
26
0
0
100%
10
0
100%
log2s3 / app.py
html2_gen1
97%
32
1
0
75%
16
4
90%
log2s3 / app.py
html2_gen
100%
37
0
0
100%
10
0
100%
log2s3 / app.py
html2
88%
8
1
0
83%
6
1
86%
log2s3 / app.py
find_target
25%
12
9
0
17%
12
2
21%
log2s3 / app.py
get_streams
82%
22
4
0
86%
14
2
83%
log2s3 / app.py
cat_file
100%
6
0
0
100%
2
0
100%
log2s3 / app.py
merge_file
100%
6
0
0
100%
2
0
100%
log2s3 / app.py
(no function)
100%
41
0
0
100%
0
0
100%
log2s3 / common_stream.py
Stream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / common_stream.py
Stream.init_fp
100%
4
0
0
100%
0
0
100%
log2s3 / common_stream.py
Stream.gen
100%
1
0
0
100%
0
0
100%
log2s3 / common_stream.py
Stream.read_all
100%
6
0
0
100%
2
0
100%
log2s3 / common_stream.py
Stream.text_gen
100%
12
0
0
100%
6
0
100%
log2s3 / common_stream.py
Stream.read
56%
32
14
0
67%
6
2
58%
log2s3 / common_stream.py
CatStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / common_stream.py
CatStream.gen
100%
2
0
0
100%
2
0
100%
log2s3 / common_stream.py
MergeStream.__init__
100%
2
0
0
100%
0
0
100%
log2s3 / common_stream.py
MergeStream.gen
62%
8
3
0
75%
4
1
67%
log2s3 / common_stream.py
MergeStream.text_gen
92%
12
1
0
75%
4
1
88%
log2s3 / common_stream.py
(no function)
100%
18
0
0
100%
0
0
100%
log2s3 / compr_stream.py
FileReadStream.__init__
100%
2
0
0
100%
0
0
100%
log2s3 / compr_stream.py
FileReadStream.gen
100%
6
0
0
100%
2
0
100%
log2s3 / compr_stream.py
RawReadStream.__init__
100%
2
0
0
100%
0
0
100%
log2s3 / compr_stream.py
RawReadStream.gen
100%
6
0
0
100%
2
0
100%
log2s3 / compr_stream.py
FileWriteStream.__init__
100%
3
0
0
100%
0
0
100%
log2s3 / compr_stream.py
FileWriteStream.gen
100%
2
0
0
100%
2
0
100%
log2s3 / compr_stream.py
S3GetStream.__init__
100%
2
0
0
100%
0
0
100%
log2s3 / compr_stream.py
S3GetStream.gen
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
S3PutStream.__init__
100%
7
0
0
100%
0
0
100%
log2s3 / compr_stream.py
S3PutStream.gen
100%
3
0
0
100%
0
0
100%
log2s3 / compr_stream.py
SimpleFilterStream.__init__
100%
2
0
0
100%
0
0
100%
log2s3 / compr_stream.py
SimpleFilterStream.gen
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
ComprFlushStream.__init__
100%
2
0
0
100%
0
0
100%
log2s3 / compr_stream.py
ComprFlushStream.gen
100%
5
0
0
100%
2
0
100%
log2s3 / compr_stream.py
DecompStream.__init__
100%
2
0
0
100%
0
0
100%
log2s3 / compr_stream.py
DecompStream.gen
100%
2
0
0
100%
2
0
100%
log2s3 / compr_stream.py
XzCompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
LzmaCompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
XzDecompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
Bz2CompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
Bz2DecompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
GzipCompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
GzipDecompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
ZstdCompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
ZstdDecompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
Lz4CompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
Lz4DecompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
BrotliCompressorStream.__init__
100%
2
0
0
100%
0
0
100%
log2s3 / compr_stream.py
BrotliCompressorStream.gen
100%
3
0
0
100%
2
0
100%
log2s3 / compr_stream.py
BrotliDecompressorStream.__init__
100%
2
0
0
100%
0
0
100%
log2s3 / compr_stream.py
BrotliDecompressorStream.gen
100%
2
0
0
100%
2
0
100%
log2s3 / compr_stream.py
LzfseCompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
LzfseDecompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
SnappyCompressorStream.__init__
0%
1
1
0
100%
0
0
0%
log2s3 / compr_stream.py
SnappyDecompressorStream.__init__
0%
1
1
0
100%
0
0
0%
log2s3 / compr_stream.py
LzoCompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
LzoDecompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
ZpaqCompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
ZpaqDecompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
ZopfliCompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
ZlibNgCompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
ZlibNgDecompressorStream.__init__
100%
1
0
0
100%
0
0
100%
log2s3 / compr_stream.py
auto_compress_stream
100%
20
0
0
100%
12
0
100%
log2s3 / compr_stream.py
(no function)
86%
140
20
0
100%
0
0
86%
log2s3 / main.py
arg_mask
88%
16
2
0
88%
16
2
88%
log2s3 / main.py
cli
50%
2
1
0
50%
2
1
50%
log2s3 / main.py
s3_option
100%
2
0
0
100%
0
0
100%
log2s3 / main.py
s3_option._
91%
11
1
0
83%
6
1
88%
log2s3 / main.py
filetree_option
100%
2
0
0
100%
0
0
100%
log2s3 / main.py
filetree_option._
100%
2
0
0
100%
0
0
100%
log2s3 / main.py
s3tree_option
100%
2
0
0
100%
0
0
100%
log2s3 / main.py
s3tree_option._
75%
4
1
0
50%
2
1
67%
log2s3 / main.py
verbose_option
100%
2
0
0
100%
0
0
100%
log2s3 / main.py
verbose_option._
88%
8
1
0
75%
4
1
83%
log2s3 / main.py
s3_make_bucket
100%
2
0
0
100%
0
0
100%
log2s3 / main.py
s3_bucket
75%
4
1
0
50%
2
1
67%
log2s3 / main.py
allobjs
100%
7
0
0
75%
4
1
91%
log2s3 / main.py
s3obj2stat
100%
3
0
0
100%
0
0
100%
log2s3 / main.py
allobjs_conf
100%
6
0
0
100%
0
0
100%
log2s3 / main.py
s3_list
80%
5
1
0
75%
4
1
78%
log2s3 / main.py
s3_du
97%
29
1
0
89%
18
2
94%
log2s3 / main.py
s3_delete_by
100%
8
0
0
100%
4
0
100%
log2s3 / main.py
s3_diff
0%
12
12
0
0%
8
0
0%
log2s3 / main.py
s3_compress_tree
0%
20
20
0
0%
12
0
0%
log2s3 / main.py
filetree_debug
100%
3
0
0
100%
0
0
100%
log2s3 / main.py
filetree_list
83%
12
2
0
75%
4
1
81%
log2s3 / main.py
filetree_compress
100%
7
0
0
50%
2
1
89%
log2s3 / main.py
filetree_delete
100%
4
0
0
100%
0
0
100%
log2s3 / main.py
merge
93%
14
1
0
92%
12
1
92%
log2s3 / main.py
s3_put_tree
0%
9
9
0
100%
0
0
0%
log2s3 / main.py
s3_put1
0%
6
6
0
0%
2
0
0%
log2s3 / main.py
_s3_read_stream
100%
3
0
0
100%
0
0
100%
log2s3 / main.py
s3_cat
100%
3
0
0
100%
4
0
100%
log2s3 / main.py
_data_via_pager
100%
6
0
0
100%
2
0
100%
log2s3 / main.py
s3_less
100%
1
0
0
100%
0
0
100%
log2s3 / main.py
s3_vi
100%
15
0
0
100%
6
0
100%
log2s3 / main.py
s3_vi.compress_fn
100%
2
0
0
100%
0
0
100%
log2s3 / main.py
s3_merge
0%
5
5
0
0%
4
0
0%
log2s3 / main.py
s3_del
0%
7
7
0
0%
4
0
0%
log2s3 / main.py
s3_head
0%
3
3
0
0%
2
0
0%
log2s3 / main.py
s3_list_parts
0%
8
8
0
0%
6
0
0%
log2s3 / main.py
cat_file
0%
4
4
0
0%
4
0
0%
log2s3 / main.py
view_file
0%
2
2
0
100%
0
0
0%
log2s3 / main.py
edit_file
0%
16
16
0
0%
6
0
0%
log2s3 / main.py
edit_file.compress_fn
0%
2
2
0
100%
0
0
0%
log2s3 / main.py
compress_benchmark
100%
26
0
0
100%
6
0
100%
log2s3 / main.py
compress_benchmark.bench_comp
100%
4
0
0
100%
2
0
100%
log2s3 / main.py
compress_benchmark.bench_decomp
100%
4
0
0
100%
2
0
100%
log2s3 / main.py
traefik_json_convert
0%
25
25
0
0%
6
0
0%
log2s3 / main.py
do_ible1
100%
8
0
0
100%
2
0
100%
log2s3 / main.py
convert_ible
100%
13
0
0
100%
6
0
100%
log2s3 / main.py
arg2arg
75%
20
5
0
60%
20
4
68%
log2s3 / main.py
ible_gen
76%
25
6
0
62%
16
6
71%
log2s3 / main.py
do_ible
75%
8
2
0
75%
4
1
75%
log2s3 / main.py
gen_sh
74%
19
5
0
88%
8
1
78%
log2s3 / main.py
sh_line2arg
81%
27
5
0
79%
14
3
80%
log2s3 / main.py
read_sh
89%
19
2
0
80%
10
2
86%
log2s3 / main.py
try_read
87%
23
3
0
100%
0
0
87%
log2s3 / main.py
ible_playbook
100%
1
0
0
100%
0
0
100%
log2s3 / main.py
sh_dump
96%
26
1
0
88%
16
2
93%
log2s3 / main.py
ible_convert
70%
10
3
0
67%
6
2
69%
log2s3 / main.py
sh
0%
1
1
0
100%
0
0
0%
log2s3 / main.py
bash
0%
1
1
0
100%
0
0
0%
log2s3 / main.py
serve
0%
9
9
0
0%
2
0
0%
log2s3 / main.py
(no function)
99%
238
1
0
50%
2
1
99%
log2s3 / processor.py
FileProcessor.__init__
100%
3
0
0
100%
0
0
100%
log2s3 / processor.py
FileProcessor.check_date_range
100%
19
0
0
100%
16
0
100%
log2s3 / processor.py
FileProcessor.check_size_range
100%
9
0
0
100%
8
0
100%
log2s3 / processor.py
FileProcessor.check_name
46%
13
7
0
38%
16
4
41%
log2s3 / processor.py
FileProcessor.check
86%
7
1
0
75%
4
1
82%
log2s3 / processor.py
FileProcessor.process
0%
1
1
0
100%
0
0
0%
log2s3 / processor.py
DebugProcessor.check
100%
3
0
0
100%
0
0
100%
log2s3 / processor.py
DebugProcessor.process
100%
2
0
0
100%
0
0
100%
log2s3 / processor.py
ListProcessor.__init__
100%
2
0
0
100%
0
0
100%
log2s3 / processor.py
ListProcessor.process
100%
2
0
0
100%
0
0
100%
log2s3 / processor.py
DelProcessor.process
100%
5
0
0
100%
2
0
100%
log2s3 / processor.py
CompressProcessor.__init__
100%
3
0
0
100%
0
0
100%
log2s3 / processor.py
CompressProcessor.process
82%
28
5
0
75%
8
2
81%
log2s3 / processor.py
S3Processor.__init__
0%
7
7
0
100%
0
0
0%
log2s3 / processor.py
S3Processor.process
0%
30
30
0
0%
10
0
0%
log2s3 / processor.py
process_walk
100%
12
0
0
100%
10
0
100%
log2s3 / processor.py
(no function)
100%
40
0
0
100%
0
0
100%
log2s3 / version.py
(no function)
100%
1
0
0
100%
0
0
100%
Total
82%
1579
282
0
71%
496
58
80%
No items found using the specified filter.