carlos / platform Public

Clone
git clone https://amadan.net/carlos/platform

Plain git — no account needed to clone.

Download

Download this file

1package hostactors
2
3import (
4 "bytes"
5 "errors"
6 "os"
7 "testing"
8
9 "github.com/carlosframework/platform/internal/hostfloor"
10)
11
12func TestPlan9Fix4NoFloorKeepsActivationAsMainDid(t *testing.T) {
13 t.Setenv("CARLOS_HOST_CLAIM", "")
14 w, _ := plan9Fixture(t, nil)
15 w.fence(t, "b", "w", w.now, "terminated")
16 if err := w.d.Store.Delete(t.Context(), hostfloor.Key); err != nil {
17 t.Fatal(err)
18 }
19 before, etag, err := w.d.Store.Get(t.Context(), Key)
20 if err != nil {
21 t.Fatal(err)
22 }
23 if err = w.d.ReleaseActivation(t.Context(), w.sg, plan9Activation, w.now); !errors.Is(err, os.ErrNotExist) {
24 t.Fatalf("missing floor did not refuse release: %v", err)
25 }
26 after, afterETag, err := w.d.Store.Get(t.Context(), Key)
27 if err != nil || etag != afterETag || !bytes.Equal(before, after) {
28 t.Fatalf("flag-off no-floor release changed roster: %v", err)
29 }
30}
31