Commit Diff


commit - 49c000a0f5630c20b478afc551555d5811be86cb
commit + 9183683a7c546eba3f028e069c63e5fb193e0056
blob - 90f49ddaba9c3c9837bfcf4bc8c14a9424ca6dc7
blob + 7a014f40a79c46e1ec381332db1749268b481d55
--- rules/python/magic_number.py
+++ rules/python/magic_number.py
@@ -1,17 +1,19 @@
+import math
+
 i = 2
-f = 0.2
-s = "hello"
 
 # ruleid: magic_number
 assert(4 == i)
 # ruleid: magic_number
-assert(4 == f)
+assert(4 >= i)
 # ruleid: magic_number
-assert(4 == s)
-
+assert(4 <= i)
 # ruleid: magic_number
 assert(i == 4)
 # ruleid: magic_number
-assert(f == 4)
+assert(i != 4)
 # ruleid: magic_number
-assert(s == 4)
+assert(i == 4)
+
+# ruleid: magic_number
+math.sin(4)
blob - be79ff08e62f20b803efb3ff192e34f821e64e5f
blob + 44c9be0a722063024ceabead7f6a5ae0306cacf7
--- rules/python/magic_number.yaml
+++ rules/python/magic_number.yaml
@@ -1,10 +1,18 @@
 rules:
-- id: magic_number
-  patterns:
-    - pattern: assert $X == $Y
-  message: Don't use magic numbers.
-  languages: [python]
-  metadata:
-    references:
-    - https://twitter.com/sqaunderhood/status/766911352958963712
-  severity: WARNING
+  - id: magic_number
+    patterns:
+      - pattern-either:
+          - pattern: ... < ...
+          - pattern: ... > ...
+          - pattern: ... == ...
+          - pattern: ... != ...
+          - pattern: ... <= ...
+          - pattern: ... >= ...
+          - pattern: $FN(..., ..., ...)
+      - pattern-regex: \d
+    message: Don't use magic numbers.
+    languages: [python]
+    metadata:
+      references:
+        - https://twitter.com/sqaunderhood/status/766911352958963712
+    severity: WARNING