| Tests related files caching when the exact same set of changed files is processed multiple times |
| |
| -- a.go -- |
| package main |
| |
| func a() {} |
| |
| -- b.go -- |
| package main |
| |
| func b() {} |
| |
| -- c.go -- |
| package main |
| |
| func c() {} |
| |
| -- .commit -- |
| Create initial commit |
| |
| -- a.go -- |
| package main |
| |
| func a() { |
| // Update 1 |
| } |
| |
| -- b.go -- |
| package main |
| |
| func b() { |
| // Update 1 |
| } |
| |
| -- .commit -- |
| Update both a.go and b.go together (creates relationship) |
| |
| -- a.go -- |
| package main |
| |
| func a() { |
| // Update 2 |
| } |
| |
| -- b.go -- |
| package main |
| |
| func b() { |
| // Update 2 |
| } |
| |
| -- .commit -- |
| Update both a.go and b.go together again (strengthens relationship) |
| |
| -- a.go -- |
| package main |
| |
| func a() { |
| // Update 3 |
| } |
| |
| -- c.go -- |
| package main |
| |
| func c() { |
| // Update 1 |
| } |
| |
| -- .commit -- |
| Update a.go and c.go together (creates another relationship) |
| |
| -- a.go -- |
| package main |
| |
| func a() { |
| // Update 4 - first time processing this exact set |
| } |
| |
| -- .commit -- |
| First time changing just a.go |
| |
| -- .run_test -- |
| OK |
| -- a.go -- |
| package main |
| |
| func a() { |
| // Update 5 - second time processing this exact same set, should be cached |
| } |
| |
| -- .commit -- |
| Second time changing just a.go (should be cached) |
| |
| -- .run_test -- |
| OK |