carlos / platform Public

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

Plain git — no account needed to clone.

Download

Download this file

1//go:build linux && rootrunner
2
3package host
4
5import (
6 "os"
7 "path/filepath"
8 "testing"
9
10 "github.com/carlosframework/platform/internal/rootstate"
11)
12
13func TestRootFilesSeedCombinedRecoveryAllowsUpdate(t *testing.T) {
14 servingRootRunner(t)
15 root, err := os.MkdirTemp("/var/lib", "carlos-rootrunner-combined-")
16 if err != nil {
17 t.Fatal(err)
18 }
19 t.Cleanup(func() { os.RemoveAll(root) })
20 t.Setenv("TMPDIR", root)
21 filesSeedCombinedRecovery(t, func(f *servingParkDiskFixture) rootstate.Store {
22 servingRunnerMount(t, f.data)
23 parks, err := rootstate.Open(filepath.Join(root, "parks"), true, false)
24 if err != nil {
25 t.Fatal(err)
26 }
27 t.Cleanup(func() { parks.Close() })
28 f.fs = newServingParkFS(f.data, parks)
29 f.ledger.fs, f.ledger.state = f.fs, parks
30 state, err := rootstate.Open(filepath.Join(root, "execution"), true, false)
31 if err != nil {
32 t.Fatal(err)
33 }
34 t.Cleanup(func() { state.Close() })
35 return state
36 })
37}
38