1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
|
#!/usr/bin/env python3
# Copyright 2022 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import unittest
from make_gtest_filter import PascalCaseSplit, CompressWithWildcards, GetFiltersForTests
class Foo(unittest.TestCase):
def testSplit(self):
self.assertEqual(list(PascalCaseSplit('testTerm')), ['test', 'Term'])
self.assertEqual(list(PascalCaseSplit('TestTerm')), ['Test', 'Term'])
self.assertEqual(list(PascalCaseSplit('TestTerm80')),
['Test', 'Term', '80'])
self.assertEqual(list(PascalCaseSplit('TestTerm80Foo')),
['Test', 'Term', '80', 'Foo'])
self.assertEqual(list(PascalCaseSplit('TestTerm80/Foo')),
['Test', 'Term', '80', '/', 'Foo'])
def testDepth(self):
melons = ['A.DoomMelonFooBar', 'A.DoomMelonFooBaz']
self.assertEqual(list(CompressWithWildcards(melons, 1, 0)), ['A.Doom*'])
self.assertEqual(list(CompressWithWildcards(melons, 2, 0)),
['A.DoomMelon*'])
self.assertEqual(list(CompressWithWildcards(melons, 3, 0)),
['A.DoomMelonFoo*'])
self.assertEqual(list(CompressWithWildcards(melons, 4, 0)),
['A.DoomMelonFooBar', 'A.DoomMelonFooBaz'])
def testDontWildcardAcrossSuites(self):
self.assertEqual(list(CompressWithWildcards(['A.X', 'B.X'], 1, 0)),
['A.X', 'B.X'])
def testCaseNumBoundaryBeforeWildcard(self):
fruit = ['A.DoomMelonFooBar', 'A.DoomMelonFooBaz', 'A.DoomBanana']
self.assertEqual(list(CompressWithWildcards(fruit, 2, 0)),
['A.DoomBanana', 'A.DoomMelon*'])
self.assertEqual(list(CompressWithWildcards(fruit, 2, 1)),
['A.DoomBanana', 'A.DoomMelon*'])
self.assertEqual(list(CompressWithWildcards(fruit, 2, 2)),
['A.DoomBanana', 'A.DoomMelonFooBar', 'A.DoomMelonFooBaz'])
def testGetFiltersForTests(self):
tests = ['TestSuite.TestName']
self.assertEqual(list(GetFiltersForTests(tests, class_only=True)), [
'TestSuite.*', '*/TestSuite.*/*', '*/TestSuite/*.*', 'TestSuite.*/*',
'TestSuite/*.*'
])
self.assertEqual(list(GetFiltersForTests(tests, class_only=False)), [
'TestSuite.TestName', '*/TestSuite.TestName/*', 'TestSuite.TestName/*',
'TestSuite/*.TestName'
])
if __name__ == '__main__':
unittest.main()
|