Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Refactor and Extend CA Tests for better debugabbility, supportability and performance #345

Open
9 tasks
elankath opened this issue Feb 5, 2025 · 0 comments
Labels
kind/enhancement Enhancement, improvement, extension

Comments

@elankath
Copy link

elankath commented Feb 5, 2025

What would you like to be added:

  • Refactor Integration Tests away from Ginkgo and into standard Go tests.
  • Make Integration Tests robust
    • Wait for previous test ops to complete fully in the semantic sense - add additional conditions.
    • Assertion data should take into account actual state of cluster
  • Extend existing unit and integration tests to cover scaling race conditions between CA and MCM
  • Make Integration Tests more convenient to execute
    • Do not mandate the user to manually setup a shoot cluster with exacting worker pool configuration. The test setup should do this by itself or at-least offer a setup script to do this.
    • Remove all issues in supporting local execution of integration tests with local machine-controller-manager and local machine-controller-(aws|gcp|etc).
    • Support local execution of Integration tests with speed, leveraging the machine-controller-virtual

Why is this needed:

  • Current Tests are flay and very prone to timining dependent failures
  • Current tests have issues in supporting local execution.
  • Current Tests are very hard to debug when something goes wrong - primarily due to Ginkgo useability.
  • Current Integration Test Setup is deeply inconvenient

From official Go FAQ

A related point is that testing frameworks tend to develop into mini-languages of their own, with conditionals and controls and printing mechanisms, but Go already has all those capabilities; why recreate them? We’d rather write tests in Go; it’s one fewer language to learn and the approach keeps the tests straightforward and easy to understand.

@elankath elankath added the kind/enhancement Enhancement, improvement, extension label Feb 5, 2025
@elankath elankath changed the title Refactor and extend gardener CA Tests for better debugabbility, supportability and performance Refactor and Extend CA Tests for better debugabbility, supportability and performance Feb 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/enhancement Enhancement, improvement, extension
Projects
None yet
Development

No branches or pull requests

1 participant