add unit test for borked ciphertext size
[python-delta-tar] / runtests.py
CommitLineData
be60ffd0 1#!/usr/bin/env python3
ae48acc8 2
866c42e6
DGM
3# Copyright (C) 2013 Intra2net AG
4#
494b38aa
DGM
5# This program is free software; you can redistribute it and/or modify
6# it under the terms of the GNU Lesser General Public License as published
7# by the Free Software Foundation; either version 3 of the License, or
866c42e6
DGM
8# (at your option) any later version.
9#
10# This program is distributed in the hope that it will be useful,
11# but WITHOUT ANY WARRANTY; without even the implied warranty of
12# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
494b38aa 13# GNU Lesser General Public License for more details.
866c42e6
DGM
14#
15# You should have received a copy of the GNU General Public License
494b38aa
DGM
16# along with this program. If not, see
17# <http://www.gnu.org/licenses/lgpl-3.0.html>
866c42e6
DGM
18
19
ae48acc8
ERE
20import unittest
21
3ba1441c 22from testing.test_crypto import HeaderTest, AESGCMTest
8ab92b45 23from testing.test_multivol import MultivolGnuFormatTest, MultivolPaxFormatTest
5fdff89f 24from testing.test_concat_compress import ConcatCompressTest
00b8c150 25from testing.test_recover import \
e25f31ac
PG
26 RecoverCorruptPayloadSingleTest \
27 , RecoverCorruptPayloadMultiTest \
28 , RecoverCorruptPayloadGZSingleTest \
29 , RecoverCorruptPayloadGZMultiTest \
30 , RecoverCorruptPayloadGZAESSingleTest \
31 , RecoverCorruptPayloadGZAESMultiTest \
32 , RecoverCorruptHeaderSingleTest \
33 , RecoverCorruptHeaderMultiTest \
34 , RecoverCorruptHeaderGZSingleTest \
35 , RecoverCorruptHeaderGZMultiTest \
36 , RecoverCorruptHeaderGZAESSingleTest \
37 , RecoverCorruptHeaderGZAESMultiTest \
0c8baf2b 38 , RecoverCorruptHeaderCTSizeGZAESTest \
e25f31ac
PG
39 , RecoverCorruptEntireHeaderSingleTest \
40 , RecoverCorruptEntireHeaderMultiTest \
41 , RecoverCorruptEntireHeaderGZSingleTest \
42 , RecoverCorruptEntireHeaderGZMultiTest \
43 , RecoverCorruptEntireHeaderGZAESSingleTest \
44 , RecoverCorruptEntireHeaderGZAESMultiTest \
45 , RecoverCorruptTrailingDataSingleTest \
46 , RecoverCorruptTrailingDataMultiTest \
47 , RecoverCorruptTrailingDataGZSingleTest \
48 , RecoverCorruptTrailingDataGZMultiTest \
49 , RecoverCorruptTrailingDataGZAESSingleTest \
20e1d773
PG
50 , RecoverCorruptTrailingDataGZAESMultiTest \
51 , RecoverCorruptVolumeTest \
52 , RecoverCorruptVolumeGZTest \
3692fd82
PG
53 , RecoverCorruptVolumeGZAESTest \
54 , RecoverCorruptHoleTest \
55 , RecoverCorruptHoleGZTest \
2fe5f6e7
PG
56 , RecoverCorruptHoleGZAESTest \
57 , RescueCorruptHoleTest \
58 , RescueCorruptHoleGZTest \
59 , RescueCorruptHoleGZAESTest \
60 , GenIndexIntactTest \
61 , GenIndexIntactGZTest \
62 , GenIndexIntactGZAESTest
0112ba0d 63from testing.test_rescue_tar import RescueTarTest
6e812ad9 64from testing.test_encryption import EncryptionTest
1a985013
ERE
65from testing.test_deltatar import (DeltaTarTest, DeltaTar2Test,
66 DeltaTarStreamTest, DeltaTarGzipTest, DeltaTarGzipStreamTest,
67 DeltaTarGzipConcatTest, DeltaTarGzipAes128ConcatTest,
5ed1df9a 68 DeltaTarAes128ConcatTest
ac5e4184 69 )
08bb4b4a 70from testing.test_compression_level import suite
ae48acc8
ERE
71
72if __name__ == "__main__":
0165ca3c
PG
73 import sys
74 if len (sys.argv) == 1:
75 unittest.TextTestRunner().run(suite())
76 unittest.main()
77 else:
78 suite = unittest.TestSuite ()
79 def add (n):
80 ret = False
81 for group in [#testing.test_multivol
82 MultivolGnuFormatTest, MultivolPaxFormatTest
83 # testing.test_concat_compress
84 , ConcatCompressTest
85 # testing.test_rescue_tar
86 , RescueTarTest
87 # testing.test_encryption
88 , EncryptionTest
89 # testing.test_deltatar
90 , DeltaTarTest, DeltaTar2Test
91 , DeltaTarStreamTest, DeltaTarGzipTest
92 , DeltaTarGzipStreamTest, DeltaTarGzipConcatTest
93 , DeltaTarGzipAes128ConcatTest
5ed1df9a 94 , DeltaTarAes128ConcatTest
3ba1441c 95 , HeaderTest, AESGCMTest
e25f31ac 96
20e1d773 97 # testing.test_recover
e25f31ac
PG
98 , RecoverCorruptPayloadSingleTest
99 , RecoverCorruptPayloadMultiTest
100 , RecoverCorruptPayloadGZSingleTest
101 , RecoverCorruptPayloadGZMultiTest
102 , RecoverCorruptPayloadGZAESSingleTest
103 , RecoverCorruptPayloadGZAESMultiTest
104 , RecoverCorruptHeaderSingleTest
105 , RecoverCorruptHeaderMultiTest
106 , RecoverCorruptHeaderGZSingleTest
107 , RecoverCorruptHeaderGZMultiTest
108 , RecoverCorruptHeaderGZAESSingleTest
109 , RecoverCorruptHeaderGZAESMultiTest
0c8baf2b 110 , RecoverCorruptHeaderCTSizeGZAESTest
e25f31ac
PG
111 , RecoverCorruptEntireHeaderSingleTest
112 , RecoverCorruptEntireHeaderMultiTest
113 , RecoverCorruptEntireHeaderGZSingleTest
114 , RecoverCorruptEntireHeaderGZMultiTest
115 , RecoverCorruptEntireHeaderGZAESSingleTest
116 , RecoverCorruptEntireHeaderGZAESMultiTest
117 , RecoverCorruptTrailingDataSingleTest
118 , RecoverCorruptTrailingDataMultiTest
119 , RecoverCorruptTrailingDataGZSingleTest
120 , RecoverCorruptTrailingDataGZMultiTest
121 , RecoverCorruptTrailingDataGZAESSingleTest
20e1d773
PG
122 , RecoverCorruptVolumeTest
123 , RecoverCorruptVolumeGZTest
124 , RecoverCorruptVolumeGZAESTest
3692fd82
PG
125 , RecoverCorruptHoleTest
126 , RecoverCorruptHoleGZTest
127 , RecoverCorruptHoleGZAESTest
2fe5f6e7
PG
128 , RescueCorruptHoleTest
129 , RescueCorruptHoleGZTest
130 , RescueCorruptHoleGZAESTest
131 , GenIndexIntactTest
132 , GenIndexIntactGZTest
133 , GenIndexIntactGZAESTest
0165ca3c
PG
134 ]:
135 try:
136 t = group (n)
137 except ValueError: # no such test
138 continue
139 print ("including ā€œ%sā€" % n)
140 suite.addTest(t)
141 ret = True
142 return ret
143 n = 0
144 for arg in sys.argv [1:]:
145 if add (arg) is True:
146 n += 1
147 if n == 0:
148 print ("ERROR: no valid test name specified, please double-check",
149 file=sys.stderr)
150 sys.exit (-1)
151 runner = unittest.TextTestRunner ()
152 runner.run (suite)
153