make_gtest_filter_test.py 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/usr/bin/env python3
  2. # Copyright 2022 The Chromium Authors. All rights reserved.
  3. # Use of this source code is governed by a BSD-style license that can be
  4. # found in the LICENSE file.
  5. import unittest
  6. from make_gtest_filter import PascalCaseSplit, CompressWithWildcards
  7. class Foo(unittest.TestCase):
  8. def testSplit(self):
  9. self.assertEqual(list(PascalCaseSplit('testTerm')), ['test', 'Term'])
  10. self.assertEqual(list(PascalCaseSplit('TestTerm')), ['Test', 'Term'])
  11. self.assertEqual(list(PascalCaseSplit('TestTerm80')),
  12. ['Test', 'Term', '80'])
  13. self.assertEqual(list(PascalCaseSplit('TestTerm80Foo')),
  14. ['Test', 'Term', '80', 'Foo'])
  15. self.assertEqual(list(PascalCaseSplit('TestTerm80/Foo')),
  16. ['Test', 'Term', '80', '/', 'Foo'])
  17. def testDepth(self):
  18. melons = ['A.DoomMelonFooBar', 'A.DoomMelonFooBaz']
  19. self.assertEqual(list(CompressWithWildcards(melons, 1, 0)), ['A.Doom*'])
  20. self.assertEqual(list(CompressWithWildcards(melons, 2, 0)),
  21. ['A.DoomMelon*'])
  22. self.assertEqual(list(CompressWithWildcards(melons, 3, 0)),
  23. ['A.DoomMelonFoo*'])
  24. self.assertEqual(list(CompressWithWildcards(melons, 4, 0)),
  25. ['A.DoomMelonFooBar', 'A.DoomMelonFooBaz'])
  26. def testDontWildcardAcrossSuites(self):
  27. self.assertEqual(list(CompressWithWildcards(['A.X', 'B.X'], 1, 0)),
  28. ['A.X', 'B.X'])
  29. def testCaseNumBoundaryBeforeWildcard(self):
  30. fruit = ['A.DoomMelonFooBar', 'A.DoomMelonFooBaz', 'A.DoomBanana']
  31. self.assertEqual(list(CompressWithWildcards(fruit, 2, 0)),
  32. ['A.DoomBanana', 'A.DoomMelon*'])
  33. self.assertEqual(list(CompressWithWildcards(fruit, 2, 1)),
  34. ['A.DoomBanana', 'A.DoomMelon*'])
  35. self.assertEqual(list(CompressWithWildcards(fruit, 2, 2)),
  36. ['A.DoomBanana', 'A.DoomMelonFooBar', 'A.DoomMelonFooBaz'])
  37. if __name__ == '__main__':
  38. unittest.main()