1
0
Fork 0
You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

29 lines
609 B
Go

9 months ago
package store
import "testing"
func Test_NewCAS(t *testing.T) {
cas := NewCheckAndSet()
if exp, got := int32(0), cas.state.Load(); exp != got {
t.Fatalf("expected %d, got %d", exp, got)
}
}
func Test_CASBeginEnd(t *testing.T) {
9 months ago
cas := NewCheckAndSet()
if err := cas.Begin(); err != nil {
t.Fatalf("expected nil, got %v", err)
}
// Begin again, should fail
if err := cas.Begin(); err != ErrCASConflict {
t.Fatalf("expected %v, got %v", ErrCASConflict, err)
}
// End, another begin should succeed
cas.End()
if err := cas.Begin(); err != nil {
t.Fatalf("expected nil, got %v", err)
}
}