unittest_utils.py 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. # Copyright 2020 The Chromium Authors. All rights reserved.
  2. # Use of this source code is governed by a BSD-style license that can be
  3. # found in the LICENSE file.
  4. """Utility methods for Skia Gold functionality unittests."""
  5. import argparse
  6. import collections
  7. import typing
  8. from typing import Optional
  9. _SkiaGoldArgs = collections.namedtuple('_SkiaGoldArgs', [
  10. 'local_pixel_tests',
  11. 'no_luci_auth',
  12. 'code_review_system',
  13. 'continuous_integration_system',
  14. 'git_revision',
  15. 'gerrit_issue',
  16. 'gerrit_patchset',
  17. 'buildbucket_id',
  18. 'bypass_skia_gold_functionality',
  19. 'skia_gold_local_png_write_directory',
  20. ])
  21. def createSkiaGoldArgs(local_pixel_tests: Optional[bool] = None,
  22. no_luci_auth: Optional[bool] = None,
  23. code_review_system: Optional[str] = None,
  24. continuous_integration_system: Optional[str] = None,
  25. git_revision: Optional[str] = None,
  26. gerrit_issue: Optional[int] = None,
  27. gerrit_patchset: Optional[int] = None,
  28. buildbucket_id: Optional[int] = None,
  29. bypass_skia_gold_functionality: Optional[bool] = None,
  30. skia_gold_local_png_write_directory: Optional[str] = None
  31. ) -> argparse.Namespace:
  32. return typing.cast(
  33. argparse.Namespace,
  34. _SkiaGoldArgs(local_pixel_tests, no_luci_auth, code_review_system,
  35. continuous_integration_system, git_revision, gerrit_issue,
  36. gerrit_patchset, buildbucket_id,
  37. bypass_skia_gold_functionality,
  38. skia_gold_local_png_write_directory))