python.lang.best-practice.sleep.arbitrary-sleep

profile photo of semgrepsemgrep
Author
6,393
Download Count*

time.sleep() call; did you mean to leave this in?

Run Locally

Run in CI

Defintion

rules:
  - id: arbitrary-sleep
    patterns:
      - pattern-not: time.sleep($F(...))
      - pattern-either:
          - pattern: |
              time.sleep($X: int)
          - pattern: |
              time.sleep($X: float)
    message: time.sleep() call; did you mean to leave this in?
    languages:
      - python
    severity: ERROR
    metadata:
      category: best-practice
      technology:
        - python
      license: Commons Clause License Condition v1.0[LGPL-2.1-only]

Examples

sleep.py

import time as t


def a():
    return 10


# OK:arbitrary-sleep
t.sleep

# ruleid:arbitrary-sleep
t.sleep(5)
# ruleid:arbitrary-sleep
t.sleep(0.1)
# todoruleid:arbitrary-sleep
time.sleep("bad")

# OK:arbitrary-sleep
t.sleep(a())

# ok:arbitrary-sleep
t.sleep(some_var)