def test_keep(self): testcases = [ # test case 1 [[1, 2, 3], ["*", "*", "*"], action_keep, 1], # test case 2 [[1, 2, 3], ["*", "*", "*"], action_discard, 0], # test case 3 [[1, 2, 3], ["*", 2, "*"], action_keep, 1], # test case 4 [[1, 2, 3], ["*", 2, "*"], action_discard, 0], # test case 5 [[1, 2, 3], [1, 2, 4], action_keep, 0], # test case 6 [[1, 2, 3], [1, 2, 4], action_discard, 1], # test case 7 [[1, 2, 3], [1, 2, 3, 4], action_keep, 0], # test case 8 [[1, 2, 3], [1, 2, 3, 4], action_discard, 1], # test case 9 [[1, 2, 3, 4], [1, 2, 3], action_keep, 0], # test case 10 [[1, 2, 3, 4], [1, 2, 3], action_discard, 1] ] for v in testcases: actual = filter_util.keep(v[0], v[1], v[2]) self.assertEqual(v[3], actual)
for f in files: # load the test cases test_cases = json.load(open(os.path.join(args.combined, f))) filter_util.test_cases_are_valid(test_cases) # load the filters filters = json.load(open(os.path.join(args.filters, f))) filter_util.filters_are_valid(filters) lst_idx_2rm = [] for rule in filters: idx = 0 for test_case in test_cases: if not filter_util.keep( test_case['Case'], rule['rule'], rule['action']): lst_idx_2rm.append(idx) idx += 1 # sort and remove duplicate indices lst_idx_2rm = sorted(list(set(lst_idx_2rm)), reverse=True) # remove test cases referenced by indices for idx in lst_idx_2rm: del test_cases[idx] # back to json json.dump(test_cases, open(os.path.join(args.filtered, f), 'w'))
] for f in files: # load the test cases test_cases = json.load(open(os.path.join(args.combined, f))) filter_util.test_cases_are_valid(test_cases) # load the filters filters = json.load(open(os.path.join(args.filters, f))) filter_util.filters_are_valid(filters) lst_idx_2rm = [] for rule in filters: idx = 0 for test_case in test_cases: if not filter_util.keep(test_case['Case'], rule['rule'], rule['action']): lst_idx_2rm.append(idx) idx += 1 # sort and remove duplicate indices lst_idx_2rm = sorted(list(set(lst_idx_2rm)), reverse=True) # remove test cases referenced by indices for idx in lst_idx_2rm: del test_cases[idx] # back to json json.dump(test_cases, open(os.path.join(args.filtered, f), 'w'))