commit - 9183683a7c546eba3f028e069c63e5fb193e0056
commit + dfc5337dcdee440d56c2c53264f56fe29b02d8f5
blob - 5a5b1558a78054c4334defe1ce539d7a55462e8b
blob + 20ebe4f518e5e34f5277ef6702967f2b10fd1834
--- rules/python/flakiness/cmp_current_time.py
+++ rules/python/flakiness/cmp_current_time.py
-import random
import time
from datetime import datetime
from timeit import timeit
t = datetime.now()
# rule-id: cmp_current_time
-assert(t > 0)
-# rule-id: cmp_current_time
-assert(t < 0)
-# rule-id: cmp_current_time
assert(t == 0)
# rule-id: cmp_current_time
-assert(t >= 0)
-# rule-id: cmp_current_time
-assert(t <= 0)
-# rule-id: cmp_current_time
-assert(t <> 0)
-# rule-id: cmp_current_time
assert(t != 0)
-t = time.now()
+t = time.time()
# rule-id: cmp_current_time
assert(t > 0)
# rule-id: cmp_current_time
# rule-id: cmp_current_time
assert(t == 0)
# rule-id: cmp_current_time
-assert(t >= 0)
-# rule-id: cmp_current_time
-assert(t <= 0)
-# rule-id: cmp_current_time
-assert(t <> 0)
-# rule-id: cmp_current_time
assert(t != 0)
-# rule-id: cmp_current_time
-time.clock()
# rule-id: cmp_current_time
a = timeit.timeit()
blob - 8f5b08c97fba329c89b9fed0d4c4b1cc54f71118
blob + 92ed66f4f797eb3cd986b65c79cca29ac816148b
--- rules/python/flakiness/cmp_current_time.yaml
+++ rules/python/flakiness/cmp_current_time.yaml
rules:
-- id: cmp_current_time
- patterns:
- - pattern-either:
- - pattern: |
- assert(datetime.now() == $X)
- - pattern: |
- datetime.now() <> $X
- - pattern: |
- datetime.now() > $X
- - pattern: |
- datetime.now() < $X
- - pattern: |
- datetime.now() >= $X
- - pattern: |
- datetime.now() <= $X
- - pattern: |
- time.now() == $X
- - pattern: |
- time.now() <> $X
- - pattern: |
- time.now() > $X
- - pattern: |
- time.now() < $X
- - pattern: |
- time.now() >= $X
- - pattern: |
- time.now() <= $X
- - pattern: |
- time.time() <= $X
- - pattern: |
- time.clock() <= $X
- - pattern: |
- timeit.timeit()
- message: cmp_current_time
- fix: |
- Use timeit.default_timer instead of timeit.timeit.
- languages:
- - python
- metadata:
- references:
- - https://docs.python.org/3/library/timeit.html#timeit.default_timer
- - https://stackoverflow.com/questions/7370801/how-to-measure-elapsed-time-in-python
- severity: WARNING
+ - id: cmp_current_time
+ patterns:
+ - pattern-either:
+ - pattern-inside: ... <> ...
+ - pattern-inside: ... > ...
+ - pattern-inside: ... < ...
+ - pattern-inside: ... >= ...
+ - pattern-inside: ... <= ...
+ - pattern-inside: ... == ...
+ - pattern-either:
+ - pattern: $T = datetime.now()
+ - pattern: $T = time.time()
+ - pattern: $T = time.clock()
+ - pattern: $T = timeit.timeit()
+ message: cmp_current_time
+ languages:
+ - python
+ metadata:
+ references:
+ - https://docs.python.org/3/library/datetime.html
+ - https://docs.python.org/3/library/time.html
+ - https://docs.python.org/3/library/timeit.html
+ - https://stackoverflow.com/questions/7370801/how-to-measure-elapsed-time-in-python
+ severity: WARNING