Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(223)

Side by Side Diff: tools/chrome_proxy/webdriver/common.py

Issue 2823253002: Refactor decorators into thier own python class (Closed)
Patch Set: Forgot to add new decorators class Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 # Copyright 2016 The Chromium Authors. All rights reserved. 1 # Copyright 2016 The Chromium Authors. All rights reserved.
2 # Use of this source code is governed by a BSD-style license that can be 2 # Use of this source code is governed by a BSD-style license that can be
3 # found in the LICENSE file. 3 # found in the LICENSE file.
4 4
5 import argparse 5 import argparse
6 import json 6 import json
7 import logging 7 import logging
8 import os 8 import os
9 import re 9 import re
10 import socket 10 import socket
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after
667 for test_suite in test_suite_iter: 667 for test_suite in test_suite_iter:
668 for test_case in test_suite: 668 for test_case in test_suite:
669 for test in test_case: 669 for test in test_case:
670 # Drop the file name in the form <filename>.<classname>.<methodname> 670 # Drop the file name in the form <filename>.<classname>.<methodname>
671 test_id = test.id()[test.id().find('.') + 1:] 671 test_id = test.id()[test.id().find('.') + 1:]
672 if re.match(test_filter_re, test_id): 672 if re.match(test_filter_re, test_id):
673 tests.addTest(test) 673 tests.addTest(test)
674 testRunner = unittest.runner.TextTestRunner(verbosity=2, 674 testRunner = unittest.runner.TextTestRunner(verbosity=2,
675 failfast=flags.failfast, buffer=(not flags.disable_buffer)) 675 failfast=flags.failfast, buffer=(not flags.disable_buffer))
676 testRunner.run(tests) 676 testRunner.run(tests)
677
678 # Platform-specific decorators.
679 # These decorators can be used to only run a test function for certain platforms
680 # by annotating the function with them.
681
682 def AndroidOnly(func):
683 def wrapper(*args, **kwargs):
684 if ParseFlags().android:
685 func(*args, **kwargs)
686 else:
687 args[0].skipTest('This test runs on Android only.')
688 return wrapper
689
690 def NotAndroid(func):
691 def wrapper(*args, **kwargs):
692 if not ParseFlags().android:
693 func(*args, **kwargs)
694 else:
695 args[0].skipTest('This test does not run on Android.')
696 return wrapper
697
698 def WindowsOnly(func):
699 def wrapper(*args, **kwargs):
700 if sys.platform == 'win32':
701 func(*args, **kwargs)
702 else:
703 args[0].skipTest('This test runs on Windows only.')
704 return wrapper
705
706 def NotWindows(func):
707 def wrapper(*args, **kwargs):
708 if sys.platform != 'win32':
709 func(*args, **kwargs)
710 else:
711 args[0].skipTest('This test does not run on Windows.')
712 return wrapper
713
714 def LinuxOnly(func):
715 def wrapper(*args, **kwargs):
716 if sys.platform.startswith('linux'):
717 func(*args, **kwargs)
718 else:
719 args[0].skipTest('This test runs on Linux only.')
720 return wrapper
721
722 def NotLinux(func):
723 def wrapper(*args, **kwargs):
724 if sys.platform.startswith('linux'):
725 func(*args, **kwargs)
726 else:
727 args[0].skipTest('This test does not run on Linux.')
728 return wrapper
729
730 def MacOnly(func):
731 def wrapper(*args, **kwargs):
732 if sys.platform == 'darwin':
733 func(*args, **kwargs)
734 else:
735 args[0].skipTest('This test runs on Mac OS only.')
736 return wrapper
737
738 def NotMac(func):
739 def wrapper(*args, **kwargs):
740 if sys.platform == 'darwin':
741 func(*args, **kwargs)
742 else:
743 args[0].skipTest('This test does not run on Mac OS.')
744 return wrapper
OLDNEW
« no previous file with comments | « no previous file | tools/chrome_proxy/webdriver/compression_regression.py » ('j') | tools/chrome_proxy/webdriver/quic.py » ('J')

Powered by Google App Engine
This is Rietveld 408576698