commit - 5dd52ee9dc244ef9f1c71fef5077c87b109aeae3
commit + f1104eeff2eea43bc0b93e77c31b55d60ca57688
blob - 73e331bda988b213082d14aa12577585d414f047
blob + f7e87c03ac0b1b18b578f4fa37e533674bb6a948
--- rules/golang/flakiness/sync_sleep.go
+++ rules/golang/flakiness/sync_sleep.go
go longOperation.Start()
-// rule-id: synchronization-with-sleep
+// rule-id: sync_sleep
time.Sleep(5 * time.Second)
if !longOperation.IsDone() {
go longOperation.Start()
-// rule-id: synchronization-with-sleep
+// rule-id: sync_sleep
ctx, cancel := context.WithTimeout(context.Background(), 5 * time.Second)
defer cancel()
blob - 75645860098073d9987415dc3751edeed914e50a
blob + c7af0e31ad47a536155e1285f84601199d4a2ccc
--- rules/golang/flakiness/sync_sleep.yaml
+++ rules/golang/flakiness/sync_sleep.yaml
rules:
-- id: synchronization-with-sleep
- patterns:
- - pattern-either:
- - pattern: |
- time.Sleep($X)
- - pattern: |
- context.WithTimeout(..., ($X : int), ...)
- - pattern: |
- ...
- go func(...) {
- ...
- }(...)
- time.Sleep(...)
- ...
- - pattern: |
- ...
- go $FOO(...)
- time.Sleep(...)
- ...
- - pattern-inside: func $FUNC(...){ ... }
- message: Using `time.Sleep` for synchronizations is generally considered bad practice.
- languages: [go]
- severity: WARNING
+ - id: synchronization-with-sleep
+ patterns:
+ - pattern-either:
+ - pattern: |
+ time.Sleep($X)
+ - pattern: |
+ context.WithTimeout(..., ($X : int), ...)
+ - pattern: |
+ ...
+ go func(...) {
+ ...
+ }(...)
+ time.Sleep(...)
+ ...
+ - pattern: |
+ ...
+ go $FOO(...)
+ time.Sleep(...)
+ ...
+ - pattern-inside: func $FUNC(...){ ... }
+ message: |
+ Using `time.Sleep` for synchronizations is generally considered bad
+ practice.
+ languages: [go]
+ severity: WARNING