| Tests that related files caching prevents duplicate processing and output |
| |
| -- a.go -- |
| package main |
| |
| func a() {} |
| |
| -- b.go -- |
| package main |
| |
| func b() {} |
| |
| -- c.go -- |
| package main |
| |
| func c() {} |
| |
| -- .commit -- |
| Add functions to a.go and b.go |
| |
| -- a.go -- |
| package main |
| |
| func a() { |
| // Update 1 |
| } |
| |
| -- b.go -- |
| package main |
| |
| func b() { |
| // Update 1 |
| } |
| |
| -- .commit -- |
| Add functions to a.go and b.go again |
| |
| -- a.go -- |
| package main |
| |
| func a() { |
| // Update 2 |
| } |
| |
| -- b.go -- |
| package main |
| |
| func b() { |
| // Update 2 |
| } |
| |
| -- .commit -- |
| Add functions to a.go and c.go |
| |
| -- a.go -- |
| package main |
| |
| func a() { |
| // Update 3 |
| } |
| |
| -- c.go -- |
| package main |
| |
| func c() { |
| // Update 1 |
| } |
| |
| -- .commit -- |
| Update file a.go only (first time) |
| |
| -- a.go -- |
| package main |
| |
| func a() { |
| // Update 4 - first analysis |
| } |
| |
| -- .commit -- |
| First analysis of a.go change |
| |
| -- .run_test -- |
| OK |
| -- a.go -- |
| package main |
| |
| func a() { |
| // Update 5 - second analysis (should be cached) |
| } |
| |
| -- .commit -- |
| Second analysis of a.go change (should be cached) |
| |
| -- .run_test -- |
| OK |