Exemplo n.º 1
0
 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)
Exemplo n.º 2
0
 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)
Exemplo n.º 3
0
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'))
Exemplo n.º 4
0
]

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'))