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

Move GitHub integration tests behind a build flag and add unit tests #527

Merged
merged 5 commits into from
May 9, 2022

Conversation

mcastorina
Copy link
Collaborator

Additionally, fix some bugs surfaced by unit testing and refactor some of the implementation.

@mcastorina mcastorina changed the title Move integration tests behind a build flag and add unit tests Move GitHub integration tests behind a build flag and add unit tests May 6, 2022
@mcastorina mcastorina requested a review from a team May 6, 2022 17:06
Comment on lines +340 to +349
errs := make(chan error, 1)
reportErr := func(err error) {
// save the error if there's room, otherwise log and drop it
select {
case errs <- err:
default:
log.WithError(err).Warn("dropping error")
}
}

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Doesn't this only ever keep the first error, which I assume would be non fatal if this is called more than once?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, I believe that was the previous behavior as well? Or rather, the previous behavior saved all errors in a slice and only returned the first if there was one.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hmm the previous behavior may not have been correct then. What do you think?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hm.. the only advantage I see of returning all the errors is if we want to determine control flow from the specific errors or display them to the user. In its current state we log each error, so we still have the information in the logs.

This function is essentially returning whether 1 or more errors occurred, which I think is fine for the Chunks method.

@dustin-decker dustin-decker merged commit edaf1e1 into main May 9, 2022
@dustin-decker dustin-decker deleted the github-unit-tests branch May 9, 2022 15:31
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.

2 participants