Mercurial > hgrepos > Python > apps > py-cutils
annotate tests/test_treesum.py @ 383:e949cab90e86
treesum: FIX: do not include generated .treesum-files when testing.
While there: use "path:" instead of "glob:" when excluding the temporary test directory
| author | Franz Glasner <fzglas.hg@dom66.de> |
|---|---|
| date | Sat, 17 May 2025 15:13:45 +0200 |
| parents | ff4424a7a8cf |
| children | ea73723be05e |
| 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 |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
144 |
|
58552d3d1766
treesum: begin unittests for treesums and .treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff
changeset
|
145 if __name__ == "__main__": |
|
381
ff4424a7a8cf
treesum: unit tests for generating and reading treesum files
Franz Glasner <fzglas.hg@dom66.de>
parents:
380
diff
changeset
|
146 sys.exit(unittest.main(buffer=True)) |
