Skip to content

Add test coverage for manager package#167

Merged
vkmc merged 3 commits into
masterfrom
improve-test-coverage-manager
Jan 23, 2026
Merged

Add test coverage for manager package#167
vkmc merged 3 commits into
masterfrom
improve-test-coverage-manager

Conversation

@vkmc
Copy link
Copy Markdown
Contributor

@vkmc vkmc commented Jan 23, 2026

Create manager_test.go with test cases covering setter functions, plugin initialization error paths, and edge cases.

Create manager_test.go with 30 test cases covering setter functions,
plugin initialization error paths, and edge cases.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
@vkmc vkmc force-pushed the improve-test-coverage-manager branch 2 times, most recently from 98b98a5 to 52c9df4 Compare January 23, 2026 08:09
@softwarefactory-project-zuul
Copy link
Copy Markdown

Build failed (check pipeline). Post recheck (without leading slash)
to rerun all jobs. Make sure the failure cause has been resolved before
you rerun jobs.

https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/dae44f7bc3874061bedf5bdd73e23ae3

✔️ stf-crc-ocp_418-local_build SUCCESS in 43m 18s
✔️ stf-crc-ocp_420-local_build SUCCESS in 46m 18s
stf-crc-ocp_418-local_build-index_deploy NODE_FAILURE Node request 100-0008143500 failed in 0s
✔️ stf-crc-ocp_420-local_build-index_deploy SUCCESS in 49m 01s
✔️ stf-crc-ocp_418-nightly_bundles-index_deploy SUCCESS in 41m 27s
✔️ stf-crc-ocp_420-nightly_bundles-index_deploy SUCCESS in 35m 02s
stf-crc-ocp_418-catalog_deploy NODE_FAILURE Node request 100-0008143504 failed in 0s
✔️ stf-crc-ocp_420-catalog_deploy SUCCESS in 35m 55s

@vkmc vkmc merged commit b090ce9 into master Jan 23, 2026
20 of 21 checks passed
@vkmc vkmc deleted the improve-test-coverage-manager branch January 23, 2026 10:45
vkmc added a commit that referenced this pull request Jan 23, 2026
* Pin Ceilometer to stable/2024.2 (#154)

Even though we are pinning to the stable/2024.2
when cloning Devstack, we are pulling Ceilometer
requirements from the master branch and this is
generating dependencies conflict.

Explicitily set stable/2024.2 branch when cloning
Ceilometer to fix this.

Closes-Bug: OSPRH-19908

* Bump gopkg.in/yaml.v3 from 3.0.0 to 3.0.1 (#153)

---
updated-dependencies:
- dependency-name: gopkg.in/yaml.v3
  dependency-version: 3.0.1
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Victoria Martinez de la Cruz <victoria@redhat.com>

* Protect the expiryProc list with a mutex (#155)

The container/list data structure used in expiry.go is not safe for concurrent use.
See golang/go#25105

Serialize the access to the shared list to avoid having check() on empty lists.

Closes-Bug: OSPRH-18979

* Fix long message handling with dynamic buffer growth (#158)

The socket transport plugin used a fixed 64KB buffer size
which caused messages surpassing that size to be truncated

For UDP/Unix datagram sockets, this resulted in parsing errors
like "unexpected end of input"

This change allows the buffer to grow (up to a limit depending on the
protocol) to accommodate larger messages.

* Create helper functions for TCP connection handling

* Add helper sendUDPSocketMessage

* Update TestUnixSocketTransport large message test

This test verifies the dynamic buffer growth by sending
three messages

In each iteration the buffer grows from the initial size
of 65535 bytes to 3 times the initial size.

Also verifies the content of the received message

Closes: OSPRH-23826

* Update to golang 1.24.11 (#159)

* Fix non-constant format string in call

Go 1.24.11 has stricter checking for format strings
in printf-style functions to prevent format string
vulnerabilities.

* Bump golangci-lint version to 1.64.2

* Replace exportloopref for copyloopvar

The linter 'exportloopref' is deprecated (since v1.60.2)

* Update coveralls-badge workflow to be non-blocking (#160)

Added "continue-on-error: true" to prevent badge failures from blocking PRs.

Explicitly defined pull-requests: write permissions for GITHUB_TOKEN.

Added try-catch safety logic and async/await to the script.

* Improve test coverage for expiry.go (#164)

Add tests for check() edge cases, run() function, and concurrent access.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>

* Improve test coverage for prometheus application plugin (#166)

Add tests for New, Config, PromCollector methods, metricExpiry,
collectorExpiry, ReceiveMetric, UpdateMetrics, Describe, and Collect.
Omit logging and HTTP server tests.

* Fix golangci-lint empty-block error in prometheus tests

Replace empty for-range loop with explicit assignment to satisfy revive linter.

* Add timestamp verification assertions to prometheus collector tests

Enhance test coverage by adding assertions that verify the presence or
absence of timestamps in collected metrics. The "collect with timestamp"
test now verifies that metrics include the expected timestamp value,
while the "collect with zero timestamp" test confirms that metrics with
zero timestamps are sent without timestamp metadata.

Also fixes default port assertion and cleans up empty-block lint issue.

* Fix golangci-lint empty-block error in channel drain loop

Replace empty for-range loop with explicit variable usage to resolve
the revive empty-block linting error.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>

* Improve test coverage for socket transport plugin (#165)

Add tests for Config, New, Listen, init errors, dump messages, and TCP parsing edge cases.

* Fix golangci-lint errors in socket transport tests

- Check error returns from binary.Write calls
- Reduce file permissions from 0644 to 0600

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Add comprehensive test coverage for parser libraries (#168)

Ceilometer:
- ParseInputJSON with various message formats
- ParseInputMsgPack for msgpack parsing
- sanitize function with escaped quotes and payload formatting
- Error handling for invalid JSON and malformed data
- Edge cases: empty payloads, multiple metrics, user metadata

Collectd:
- ParseInputByte for all metric variations
- Multi-dimensional metrics with multiple values
- Optional fields (plugin_instance, type_instance)
- Error handling for invalid JSON and non-array data
- Edge cases: empty arrays, zero values, negative values, large values
- Real-world virt plugin data formats

* Add comprehensive test coverage for sensu parser library

Create test file for sensubility-metrics sensu parser library with
complete coverage of all validation and error building functions.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>

* Add test coverage for manager package (#167)

Create manager_test.go test cases covering setter functions, plugin initialization error paths, and edge cases.

Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Claude Sonnet 4.5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant