diff --git a/python/ql/test/3/query-tests/Statements/iter/IterableStringOrSequence.expected b/python/ql/test/3/query-tests/Statements/iter/IterableStringOrSequence.expected index 184dd03d9e5..6f40655b926 100644 --- a/python/ql/test/3/query-tests/Statements/iter/IterableStringOrSequence.expected +++ b/python/ql/test/3/query-tests/Statements/iter/IterableStringOrSequence.expected @@ -1 +1,3 @@ | statements_test.py:21:5:21:19 | For | Iteration over $@, of class list, may also iterate over $@. | statements_test.py:20:13:20:33 | ControlFlowNode for List | sequence | statements_test.py:18:13:18:26 | ControlFlowNode for Str | string | +| supress_uses_from_tests.py:6:5:6:20 | For | Iteration over $@, of class list, may also iterate over $@. | supress_uses_from_tests.py:9:5:9:26 | ControlFlowNode for List | sequence | supress_uses_from_tests.py:19:17:19:27 | ControlFlowNode for Str | string | +| supress_uses_from_tests.py:6:5:6:20 | For | Iteration over $@, of class list, may also iterate over $@. | supress_uses_from_tests.py:15:13:15:34 | ControlFlowNode for List | sequence | supress_uses_from_tests.py:19:17:19:27 | ControlFlowNode for Str | string | diff --git a/python/ql/test/3/query-tests/Statements/iter/supress_uses_from_tests.py b/python/ql/test/3/query-tests/Statements/iter/supress_uses_from_tests.py new file mode 100644 index 00000000000..0afbf50f61c --- /dev/null +++ b/python/ql/test/3/query-tests/Statements/iter/supress_uses_from_tests.py @@ -0,0 +1,19 @@ +# This example illustrates that all valid results are not useful. +# The alert in this file should be suppressed (TODO). +# see https://github.com/Semmle/ql/issues/3207 + +def foo(l): + for (k, v) in l: + print(k, v) + +foo([('a', 42), ('b', 43)]) + +import unittest + +class FooTest(unittest.TestCase): + def test_valid(self): + foo([('a', 42), ('b', 43)]) + + def test_not_valid(self): + with six.assertRaises(self, ValueError): + foo("not valid")