#!/usr/bin/python # Copyright (c) 2017 Google Inc. # All rights reserved. # # See the file COPYING in the top directory of this distribution for # more information. # # THE SOFTWARE IS PROVIDED _AS IS_, WITHOUT WARRANTY OF ANY KIND, EXPRESS # OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL # THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER # DEALINGS IN THE SOFTWARE. import glob import os import sys import re ignored_files = frozenset(['testCheck.sh']) def get_test_files(path): return map(os.path.basename, glob.glob(os.path.join(path, 'test*.sh'))) def get_test_cases(path): with file(os.path.join(path, 'Makefile.am')) as f: lines = [] for line in f: m = re.match(r'.*(test\d+\.sh).*', line.strip()) if m: lines.append(m.group(1)) return lines def main(): test_files = set(get_test_files('./tests')) - ignored_files test_cases = set(get_test_cases('./tests')) diff = test_files - test_cases if diff: print 'The following files are not in Makefile.am' print diff sys.exit(1) if __name__ == '__main__': main()