• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

oracle / oci-cloud-controller-manager
35%
master: 36%

Build:
Build:
LAST BUILD BRANCH: release-1.35.0
DEFAULT BRANCH: master
Repo Added 22 Mar 2022 01:00PM UTC
Token P6xQnFhx50uvZ5VlNDG28zxMkPTg25xFG regen
Build 415 Last
Files 66
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH pr/HadrienPatte/test-optimization
branch: pr/HadrienPatte/test-optimization
CHANGE BRANCH
x
Reset
Sync Branches
  • pr/HadrienPatte/test-optimization
  • dependabot/go_modules/github.com/docker/distribution-2.8.2incompatible
  • dependabot/go_modules/github.com/emicklei/go-restful-2.16.0incompatible
  • dependabot/go_modules/golang.org/x/net-0.7.0
  • dependabot/go_modules/golang.org/x/sys-0.1.0
  • dependabot/go_modules/golang.org/x/text-0.3.8
  • documentation-updates
  • jah/filter-backend-nodes
  • jlamillan/increase-timeout
  • jlamillan/match-complete-hostnames
  • l-technicore-patch-1
  • lb-name-caching
  • master
  • oke-119-pending
  • oke-oss-minor-releasse-branch-commits
  • oke-oss-releaes_1.26.4
  • oke-oss-release-1.25.0
  • oke-oss-release-1.26.1-latest-sdk
  • oke-oss-release-1.26.3
  • oke-oss-release-1.29.2
  • oke-oss-release-1.30.2
  • oke-oss-release-1.31.1
  • oke-oss-release-v1.22.0
  • oke-oss-release-v1.23.0
  • oke-oss-release-v1.24.0
  • oke-oss-release-v1.27.1
  • oke-oss-release-v1.27.2
  • oke-oss-release-v1.28.0
  • oke-oss-release-v1.28.2
  • oke-oss-release-v1.29.1
  • oke-oss-release-v1.30.0
  • oke-oss-release-v1.32.2
  • oke-oss-release-v1.33.1
  • oke-oss-release-v1.34.0
  • oke-oss-release_1.24.0
  • oke-oss-release_1.24.1
  • oke-oss-release_1.25.1
  • oke-oss-release_1.26.0
  • oke-oss-release_1.27.3
  • oke-oss-release_1.28.1
  • oke-oss-release_1.29.0
  • oke-oss-release_1.30.1
  • oke-oss-release_1.31.0
  • oke-pending-changes
  • oke_oss_release_1.25.2
  • oke_oss_release_1.26
  • oke_oss_release_1.27.0
  • oss-master
  • oss-oke-nlb-k8-119
  • oss/release-1.34.1
  • oss/release-1.34.2
  • oss/wris-clients
  • pr/HadrienPatte/gofmt
  • pr/HadrienPatte/log-format
  • pr/flex-cidr-allocator
  • publish-manifests
  • pvt/lustre-oss
  • pvt/lustre-oss-1.31
  • pvt/lustre-oss-1.33
  • raw_block_vol_v1
  • refs/tags/v1.19.12
  • refs/tags/v1.22.0
  • refs/tags/v1.22.1
  • refs/tags/v1.23.0
  • refs/tags/v1.24.0
  • refs/tags/v1.24.1
  • refs/tags/v1.24.2
  • refs/tags/v1.25.0
  • refs/tags/v1.25.1
  • refs/tags/v1.25.2
  • refs/tags/v1.26.0
  • refs/tags/v1.26.1
  • refs/tags/v1.26.2
  • refs/tags/v1.26.3
  • refs/tags/v1.26.4
  • refs/tags/v1.27.0
  • refs/tags/v1.27.1
  • refs/tags/v1.27.2
  • refs/tags/v1.27.3
  • refs/tags/v1.28.0
  • refs/tags/v1.28.1
  • refs/tags/v1.28.2
  • refs/tags/v1.29.0
  • refs/tags/v1.29.1
  • refs/tags/v1.29.2
  • refs/tags/v1.30.0
  • refs/tags/v1.30.1
  • refs/tags/v1.30.2
  • refs/tags/v1.31.0
  • refs/tags/v1.31.1
  • refs/tags/v1.31.2
  • refs/tags/v1.32.0
  • refs/tags/v1.32.1
  • refs/tags/v1.32.2
  • refs/tags/v1.32.3
  • refs/tags/v1.33.0
  • refs/tags/v1.33.1
  • refs/tags/v1.33.2
  • refs/tags/v1.34.0
  • refs/tags/v1.34.1
  • refs/tags/v1.34.2
  • release-1.19
  • release-1.22
  • release-1.23
  • release-1.24
  • release-1.25
  • release-1.26
  • release-1.27
  • release-1.28
  • release-1.29
  • release-1.30
  • release-1.31
  • release-1.32
  • release-1.32.3
  • release-1.33
  • release-1.33.2
  • release-1.34
  • release-1.35.0
  • remove-duplicate-section
  • test
  • update-tags-examples
  • yutpeng/extract-secondary-vnic
  • yutpeng/secondar-vnic
  • yutpeng/secondar-vnic-support

28 Mar 2026 12:43PM UTC coverage: 35.464%. Remained the same
23685486535

Pull #528

github

HadrienPatte
External-ccm: Use `testing/synctest` to eliminate waits in tests

`pkg/csi/driver` tests currently take more than 4 minutes to run and
cause timeouts in CI (exit code 143, SIGTERM from runner). This is
caused by 14 "timeout" sub-tests across `bv_controller_test.go` and
`fss_controller_test.go` each blocking for a full testTimeout (15s) of
real wall-clock time (~210s total).

These tests verify that operations correctly propagate context
cancellation when a volume or attachment gets stuck. The mocks simulate
an infinite page stream using a non-blocking select with a default
branch, causing the caller's pagination loop to spin-wait on the CPU
until the context deadline elapses in real time.

Since [go 1.25](https://go.dev/doc/go1.25#new-testingsynctest-package),
go supports using fake time to reliabily test those scenarios without
having to wait for the actual timeout when running the tests. See
[Testing concurrent code with testing/synctest](https://go.dev/blog/synctest).

This PR updates those tests to use `testing/synctest`:
* Update go from 1.24 to 1.25 to have `testing/synctest` support.
* Wrap each affected `t.Run` body in `synctest.Test()`, so
  `context.WithTimeout` and all mock calls run under a fake clock.
* Change the five non-blocking `select { default: }` branches in
  `mock_oci_clients.go` to
  `select { case <-time.After(mockPollInterval): }`, making goroutines
  durably block so the fake clock can advance.
* Move the shared `context.WithTimeout` in `fss_controller_test.go`
  inside each `t.Run` (it was incorrectly shared across sub-tests in a
  loop).

Before:
```
ok      github.com/oracle/oci-cloud-controller-manager/pkg/csi/driver   231.711s
```

After:
```
ok      github.com/oracle/oci-cloud-controller-manager/pkg/csi/driver   1.933s
```

Result: `pkg/csi/driver` tests are 100x faster

Signed-off-by: Hadrien Patte <hadrien.patte@datadoghq.com>
Pull Request #528: Use `testing/synctest` to eliminate waits in tests

0 of 5 new or added lines in 1 file covered. (0.0%)

5 existing lines in 1 file now uncovered.

6386 of 18007 relevant lines covered (35.46%)

6.65 hits per line

Relevant lines Covered
Build:
Build:
18007 RELEVANT LINES 6386 COVERED LINES
6.65 HITS PER LINE
Source Files on pr/HadrienPatte/test-optimization
  • Tree
  • List 64
  • Changed 1
  • Source Changed 0
  • Coverage Changed 1
Coverage ∆ File Lines Relevant Covered Missed Hits/Line

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
23685486535 pr/HadrienPatte/test-optimization External-ccm: Use `testing/synctest` to eliminate waits in tests `pkg/csi/driver` tests currently take more than 4 minutes to run and cause timeouts in CI (exit code 143, SIGTERM from runner). This is caused by 14 "timeout" sub-tests across `bv_c... Pull #528 31 Mar 2026 07:02AM UTC HadrienPatte github
35.46
See All Builds (410)

Badge your Repo: oci-cloud-controller-manager

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc