check.py revision 253893
1253893Speter#!/usr/bin/env python 2253893Speter# 3253893Speter# check.py : Run all the test cases. 4253893Speter# 5253893Speter# ==================================================================== 6253893Speter# Copyright 2013 Justin Erenkrantz and Greg Stein 7253893Speter# 8253893Speter# Licensed under the Apache License, Version 2.0 (the "License"); 9253893Speter# you may not use this file except in compliance with the License. 10253893Speter# You may obtain a copy of the License at 11253893Speter# 12253893Speter# http://www.apache.org/licenses/LICENSE-2.0 13253893Speter# 14253893Speter# Unless required by applicable law or agreed to in writing, software 15253893Speter# distributed under the License is distributed on an "AS IS" BASIS, 16253893Speter# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 17253893Speter# See the License for the specific language governing permissions and 18253893Speter# limitations under the License. 19253893Speter# ==================================================================== 20253893Speter 21253893Speterimport sys 22253893Speterimport glob 23253893Speterimport subprocess 24253893Speterimport os 25253893Speter 26253893Speter 27253893Speterif __name__ == '__main__': 28253893Speter # get the test directory from the commandline, if set. 29253893Speter if len(sys.argv) > 1: 30253893Speter testdir = sys.argv[1] 31253893Speter else: 32253893Speter testdir = 'test' 33253893Speter 34253893Speter # define test executable paths 35253893Speter if sys.platform == 'win32': 36253893Speter SERF_RESPONSE_EXE = 'serf_response.exe' 37253893Speter TEST_ALL_EXE = 'test_all.exe' 38253893Speter else: 39253893Speter SERF_RESPONSE_EXE = 'serf_response' 40253893Speter TEST_ALL_EXE = 'test_all' 41253893Speter SERF_RESPONSE_EXE = os.path.join(testdir, SERF_RESPONSE_EXE) 42253893Speter TEST_ALL_EXE = os.path.join(testdir, TEST_ALL_EXE) 43253893Speter 44253893Speter # Find test responses and run them one by one 45253893Speter for case in glob.glob(testdir + "/testcases/*.response"): 46253893Speter print "== Testing %s ==" % (case) 47253893Speter try: 48253893Speter subprocess.check_call([SERF_RESPONSE_EXE, case]) 49253893Speter except subprocess.CalledProcessError: 50253893Speter print "ERROR: test case %s failed" % (case) 51253893Speter 52253893Speter print "== Running the unit tests ==" 53253893Speter try: 54253893Speter subprocess.check_call(TEST_ALL_EXE) 55253893Speter except subprocess.CalledProcessError: 56253893Speter print "ERROR: test(s) failed in test_all" 57