Skip to content

Instantly share code, notes, and snippets.

@iamatypeofwalrus
Created December 11, 2014 19:31
Show Gist options
  • Star 13 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save iamatypeofwalrus/84b6c7d946a6a4143a1d to your computer and use it in GitHub Desktop.
Save iamatypeofwalrus/84b6c7d946a6a4143a1d to your computer and use it in GitHub Desktop.
Check if a Go Channel is open or closed
// An intersting pattern for testing, but you can use the check anywhere
import "testing"
func TestCheckingChannel(t *testing.T) {
stop := make(chan bool)
// Testing some fucntion that SHOULD close the channel
func (stop chan bool) {
close(chan)
}(stop)
// Make sure that the function does close the channel
_, ok := (<-stop)
// If we can recieve on the channel then it is NOT closed
if ok {
t.Error("Channel is not closed")
}
}
@noamnelke
Copy link

❤️

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment