allow selecting individual tests with runtests.py
[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
8ab92b45 22from testing.test_multivol import MultivolGnuFormatTest, MultivolPaxFormatTest
5fdff89f 23from testing.test_concat_compress import ConcatCompressTest
0112ba0d 24from testing.test_rescue_tar import RescueTarTest
6e812ad9 25from testing.test_encryption import EncryptionTest
1a985013
ERE
26from testing.test_deltatar import (DeltaTarTest, DeltaTar2Test,
27 DeltaTarStreamTest, DeltaTarGzipTest, DeltaTarGzipStreamTest,
28 DeltaTarGzipConcatTest, DeltaTarGzipAes128ConcatTest,
ac5e4184 29 DeltaTarGzipAes256ConcatTest,
f7ababc0 30 DeltaTarAes128ConcatTest, DeltaTarAes256ConcatTest
ac5e4184 31 )
08bb4b4a 32from testing.test_compression_level import suite
ae48acc8
ERE
33
34if __name__ == "__main__":
406e0fa8
PG
35 import sys
36 if len (sys.argv) == 1:
37 unittest.TextTestRunner().run(suite())
38 unittest.main()
39 else:
40 suite = unittest.TestSuite ()
41 def add (n):
42 ret = False
43 for group in [#testing.test_multivol
44 MultivolGnuFormatTest, MultivolPaxFormatTest
45 # testing.test_concat_compress
46 , ConcatCompressTest
47 # testing.test_rescue_tar
48 , RescueTarTest
49 # testing.test_encryption
50 , EncryptionTest
51 # testing.test_deltatar
52 , DeltaTarTest, DeltaTar2Test
53 , DeltaTarStreamTest, DeltaTarGzipTest
54 , DeltaTarGzipStreamTest, DeltaTarGzipConcatTest
55 , DeltaTarGzipAes128ConcatTest
56 , DeltaTarGzipAes256ConcatTest
57 , DeltaTarAes128ConcatTest, DeltaTarAes256ConcatTest
58 ]:
59 try:
60 t = group (n)
61 except ValueError: # no such test
62 continue
63 print ("including ā€œ%sā€" % n)
64 suite.addTest(t)
65 ret = True
66 return ret
67 n = 0
68 for arg in sys.argv [1:]:
69 if add (arg) is True:
70 n += 1
71 if n == 0:
72 print ("ERROR: no valid test name specified, please double-check",
73 file=sys.stderr)
74 sys.exit (-1)
75 runner = unittest.TextTestRunner ()
76 runner.run (suite)
77