Mercurial > hgrepos > Python > apps > py-cutils
annotate tests/test_treesum.py @ 389:faa36af3c629 default tip
===== signature for changeset 85da58b83475
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sun, 18 May 2025 06:00:46 +0200 |
| parents | f045d46e9f3d |
| children |
| rev | line source |
|---|---|
|
380
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
1 # -*- coding: utf-8 -*- |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
2 # :- |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
3 # SPDX-FileCopyrightText: © 2025 Franz Glasner |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
4 # SPDX-License-Identifier: BSD-3-Clause |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
5 # :- |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
6 r"""Unit tests for treesum |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
7 |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
8 """ |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
9 |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
10 from __future__ import absolute_import, print_function |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
11 |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
12 import os |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
13 import shutil |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
14 import sys |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
15 import unittest |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
16 |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
17 from _test_setup import (DATADIR, TMPDIR) |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
18 |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
19 import cutils.treesum |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
20 |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
21 |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
22 class TaggedTreesumTests(unittest.TestCase): |
|
380
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
23 |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
24 def setUp(self): |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
25 if not os.path.isdir(TMPDIR): |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
26 os.mkdir(TMPDIR) |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
27 |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
28 def tearDown(self): |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
29 if os.path.isdir(TMPDIR): |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
30 shutil.rmtree(TMPDIR) |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
31 |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
32 def test_gen_and_info_P_utf8(self): |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
33 digest_file = os.path.join( |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
34 TMPDIR, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
35 "%d__test_gen_and_info_P_utf8.info" % (os.getpid(),)) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
36 rel_tmpdir = os.path.relpath(TMPDIR, DATADIR) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
37 gen_opts = cutils.treesum.gen_generate_opts( |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
38 directories=[DATADIR], |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
39 algorithm="SHA1", |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
40 fnmatch_filters=[("exclude", "path:%s" % (rel_tmpdir,)), |
|
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
41 ("exclude", "glob:*.treesum")], |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
42 generator="full", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
43 grouping_separator="_", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
44 output=digest_file, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
45 output_style="tagged", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
46 print_size=True, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
47 utf8=True) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
48 info_opts = cutils.treesum.gen_info_opts(digest_files=[digest_file], |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
49 last=True) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
50 cutils.treesum.generate_treesum(gen_opts) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
51 cutils.treesum.print_treesum_digestfile_infos(info_opts) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
52 info = cutils.treesum.TreesumInfo.collect_last_from_file(digest_file) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
53 self.assertEqual( |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
54 b"\xcb\x04\x39\x44\x60\x08\xd7\xfa\x0a\x25\xfd\xc6\xbb\x74\x8e\x2c\x12\x13\xf8\x31", # noqa: E501 line too long |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
55 info.digest) |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
56 self.assertEqual(55, info.size) |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
57 self.assertEqual("SHA1", info.algorithm) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
58 |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
59 def test_gen_and_info_P_native(self): |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
60 digest_file = os.path.join( |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
61 TMPDIR, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
62 "%d__test_gen_and_info_P_native.info" % (os.getpid(),)) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
63 rel_tmpdir = os.path.relpath(TMPDIR, DATADIR) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
64 gen_opts = cutils.treesum.gen_generate_opts( |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
65 directories=[DATADIR], |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
66 algorithm="SHA1", |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
67 fnmatch_filters=[("exclude", "path:%s" % (rel_tmpdir,)), |
|
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
68 ("exclude", "glob:*.treesum")], |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
69 generator="full", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
70 grouping_separator="_", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
71 output=digest_file, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
72 output_style="tagged", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
73 print_size=True, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
74 utf8=False) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
75 info_opts = cutils.treesum.gen_info_opts(digest_files=[digest_file], |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
76 last=True) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
77 cutils.treesum.generate_treesum(gen_opts) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
78 cutils.treesum.print_treesum_digestfile_infos(info_opts) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
79 info = cutils.treesum.TreesumInfo.collect_last_from_file(digest_file) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
80 self.assertEqual( |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
81 b"\xcb\x04\x39\x44\x60\x08\xd7\xfa\x0a\x25\xfd\xc6\xbb\x74\x8e\x2c\x12\x13\xf8\x31", # noqa: E501 line too long |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
82 info.digest) |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
83 self.assertEqual(55, info.size) |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
84 self.assertEqual("SHA1", info.algorithm) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
85 |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
86 def test_gen_and_info_L_utf8(self): |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
87 digest_file = os.path.join( |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
88 TMPDIR, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
89 "%d__test_gen_and_info_L_utf8.info" % (os.getpid(),)) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
90 rel_tmpdir = os.path.relpath(TMPDIR, DATADIR) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
91 gen_opts = cutils.treesum.gen_generate_opts( |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
92 directories=[DATADIR], |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
93 algorithm="SHA1", |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
94 fnmatch_filters=[("exclude", "path:%s" % (rel_tmpdir,)), |
|
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
95 ("exclude", "glob:*.treesum")], |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
96 follow_symlinks=cutils.treesum.FollowSymlinkConfig( |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
97 True, True, True), |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
98 generator="full", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
99 grouping_separator="_", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
100 output=digest_file, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
101 output_style="tagged", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
102 print_size=True, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
103 utf8=True) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
104 info_opts = cutils.treesum.gen_info_opts(digest_files=[digest_file], |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
105 last=True) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
106 cutils.treesum.generate_treesum(gen_opts) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
107 cutils.treesum.print_treesum_digestfile_infos(info_opts) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
108 info = cutils.treesum.TreesumInfo.collect_last_from_file(digest_file) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
109 self.assertEqual( |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
110 b"\xfe\x21\x4c\xfa\xdc\xc5\x1f\xad\x63\x19\x74\x95\xf5\xb3\x6d\x32\x45\xec\x73\x3e", # noqa: E501 line too long |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
111 info.digest) |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
112 self.assertEqual(110, info.size) |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
113 self.assertEqual("SHA1", info.algorithm) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
114 |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
115 def test_gen_and_info_L_native(self): |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
116 digest_file = os.path.join( |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
117 TMPDIR, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
118 "%d__test_gen_and_info_L_native.info" % (os.getpid(),)) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
119 rel_tmpdir = os.path.relpath(TMPDIR, DATADIR) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
120 gen_opts = cutils.treesum.gen_generate_opts( |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
121 directories=[DATADIR], |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
122 algorithm="SHA1", |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
123 fnmatch_filters=[("exclude", "path:%s" % (rel_tmpdir,)), |
|
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
124 ("exclude", "glob:*.treesum")], |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
125 follow_symlinks=cutils.treesum.FollowSymlinkConfig( |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
126 True, True, True), |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
127 generator="full", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
128 grouping_separator="_", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
129 output=digest_file, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
130 output_style="tagged", |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
131 print_size=True, |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
132 utf8=False) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
133 info_opts = cutils.treesum.gen_info_opts(digest_files=[digest_file], |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
134 last=True) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
135 cutils.treesum.generate_treesum(gen_opts) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
136 cutils.treesum.print_treesum_digestfile_infos(info_opts) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
137 info = cutils.treesum.TreesumInfo.collect_last_from_file(digest_file) |
|
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
138 self.assertEqual( |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
139 b"\xfe\x21\x4c\xfa\xdc\xc5\x1f\xad\x63\x19\x74\x95\xf5\xb3\x6d\x32\x45\xec\x73\x3e", # noqa: E501 line too long |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
140 info.digest) |
|
383
e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
Franz Glasner <fzglas.hg@dom66.de>
parents:
381
diff
changeset
|
141 self.assertEqual(110, info.size) |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
142 self.assertEqual("SHA1", info.algorithm) |
|
380
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
143 |
|
385
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
144 def test_gen_and_info_P_utf8_with_treesum(self): |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
145 digest_file = os.path.join( |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
146 TMPDIR, |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
147 "%d__test_gen_and_info_P_native.info" % (os.getpid(),)) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
148 rel_tmpdir = os.path.relpath(TMPDIR, DATADIR) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
149 gen_opts = cutils.treesum.gen_generate_opts( |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
150 directories=[DATADIR], |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
151 algorithm="SHA1", |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
152 fnmatch_filters=[("exclude", "path:%s" % (rel_tmpdir,))], |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
153 generator="full", |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
154 grouping_separator="_", |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
155 output=digest_file, |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
156 output_style="tagged", |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
157 print_size=True, |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
158 utf8=True) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
159 info_opts = cutils.treesum.gen_info_opts(digest_files=[digest_file], |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
160 last=True) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
161 cutils.treesum.generate_treesum(gen_opts) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
162 cutils.treesum.print_treesum_digestfile_infos(info_opts) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
163 info = cutils.treesum.TreesumInfo.collect_last_from_file(digest_file) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
164 self.assertEqual( |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
165 b"\x78\xdd\xcd\xd2\xbe\xa5\x2c\x8c\xc9\x1e\x3a\xd4\x26\xda\x35\x2e\xa6\xc2\x0a\x06", # noqa: E501 line too long |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
166 info.digest) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
167 self.assertEqual(2620, info.size) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
168 self.assertEqual("SHA1", info.algorithm) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
169 |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
170 def test_gen_and_info_P_utf8_accept_treesum(self): |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
171 digest_file = os.path.join( |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
172 TMPDIR, |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
173 "%d__test_gen_and_info_P_native.info" % (os.getpid(),)) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
174 rel_tmpdir = os.path.relpath(TMPDIR, DATADIR) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
175 gen_opts = cutils.treesum.gen_generate_opts( |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
176 directories=[DATADIR], |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
177 algorithm="SHA1", |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
178 fnmatch_filters=[("exclude", "path:%s" % (rel_tmpdir,)), |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
179 ("accept-treesum", "glob:*.treesum")], |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
180 generator="full", |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
181 grouping_separator="_", |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
182 output=digest_file, |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
183 output_style="tagged", |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
184 print_size=True, |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
185 utf8=True) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
186 info_opts = cutils.treesum.gen_info_opts(digest_files=[digest_file], |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
187 last=True) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
188 cutils.treesum.generate_treesum(gen_opts) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
189 cutils.treesum.print_treesum_digestfile_infos(info_opts) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
190 info = cutils.treesum.TreesumInfo.collect_last_from_file(digest_file) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
191 self.assertEqual( |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
192 b"\x69\x6f\xe2\x51\xbe\x94\xbe\xcc\x76\xa5\x91\x24\x1d\x46\x83\xbb\x44\x36\xc7\x9b\x5b\x7b\x62\xb3\xe0\x4a\x0e\xdc\x7e\xc4\x07\xcb", # noqa: E501 line too long |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
193 info.digest) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
194 # accepts the size within the .treesum file |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
195 self.assertEqual(67, info.size) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
196 # accepts uses the digest algorithm from the .treesum file |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
197 self.assertEqual("SHA256", info.algorithm) |
|
ea73723be05e
treesum: unit tests with an existing .treesum file:
Franz Glasner <fzglas.hg@dom66.de>
parents:
383
diff
changeset
|
198 |
|
386
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
199 def test_comments_in_treesum_file(self): |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
200 src_digest_file = os.path.join(DATADIR, "_data.treesum") |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
201 dst_digest_file = os.path.join(TMPDIR, "_data.treesum") |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
202 |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
203 with open(src_digest_file, "rb") as src: |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
204 with open(dst_digest_file, "wb") as dst: |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
205 first = True |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
206 lineno = 0 |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
207 while True: |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
208 line = src.readline(4096) |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
209 if not line: |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
210 # write a trailing comment |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
211 dst.write("; this is a trailing comment\r\n") |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
212 break |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
213 if first: |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
214 # write a leading comment |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
215 dst.write("# this is a leading comment\r\n") |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
216 first = False |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
217 lineno += 1 |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
218 dst.write(line) |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
219 if lineno == 1: |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
220 dst.write(" ;this is a comment after VERSION\n") |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
221 elif lineno == 9: |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
222 dst.write("#this is a comment after a digest line\r\n") |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
223 info_opts = cutils.treesum.gen_info_opts( |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
224 digest_files=[dst_digest_file], |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
225 last=True) |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
226 cutils.treesum.print_treesum_digestfile_infos(info_opts) |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
227 info = cutils.treesum.TreesumInfo.collect_last_from_file( |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
228 dst_digest_file) |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
229 self.assertEqual( |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
230 b"\x69\x6f\xe2\x51\xbe\x94\xbe\xcc\x76\xa5\x91\x24\x1d\x46\x83\xbb\x44\x36\xc7\x9b\x5b\x7b\x62\xb3\xe0\x4a\x0e\xdc\x7e\xc4\x07\xcb", # noqa: E501 line too long |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
231 info.digest) |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
232 # accepts the size within the .treesum file |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
233 self.assertEqual(67, info.size) |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
234 # accepts uses the digest algorithm from the .treesum file |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
235 self.assertEqual("SHA256", info.algorithm) |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
236 self.assertEqual("4C53C26D", info.crc_checksum) |
|
f045d46e9f3d
treesum: also collect the CRC checksum when reading .treesum files and test for them
Franz Glasner <fzglas.hg@dom66.de>
parents:
385
diff
changeset
|
237 |
|
380
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
238 |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
239 if __name__ == "__main__": |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
240 sys.exit(unittest.main(buffer=True)) |
