Hi,

On 2026-01-26 09:01, Zygmunt Krynicki wrote:
> It looks like the test doesn't finish within 10 minutes. Is this running on
> a particularly slow virtualized host? I will try to reproduce locally.

No, this happens on very fast and regular systems alike. The test seems
to be flaky.

You can find the build logs of a successful build here:
https://people.debian.org/~ema/gcc-16-rebuilds/output-2/snapd_arm64.build.xz

And a failed build here:
https://people.debian.org/~ema/snapd_arm64.build

--- PASS: TestMain (0.04s)
PASS
ok      github.com/snapcore/snapd/metautil      0.923s
?       github.com/snapcore/snapd/netutil       [no test files]
=== RUN   Test
panic: test timed out after 10m0s
        running tests:
                Test (10m0s)

goroutine 481591 [running]:
testing.(*M).startAlarm.func1()
        /usr/lib/go-1.26/src/testing/testing.go:2802 +0x2c4
created by time.goFunc
        /usr/lib/go-1.26/src/time/sleep.go:215 +0x38

goroutine 1 [chan receive, 9 minutes]:
testing.(*T).Run(0x6b1bf31e0008, {0xb010f1daa777?, 0x6b1bf31c9b18?}, 
0xb010f211c358)
        /usr/lib/go-1.26/src/testing/testing.go:2109 +0x3bc
testing.runTests.func1(0x6b1bf31e0008)
        /usr/lib/go-1.26/src/testing/testing.go:2585 +0x38
testing.tRunner(0x6b1bf31e0008, 0x6b1bf31c9c48)
        /usr/lib/go-1.26/src/testing/testing.go:2036 +0xc4
testing.runTests({0x0, 0x0}, {0xb010f1db8643, 0x20}, 0x6b1bf319a048, 
{0xb010f2131fe0, 0x1, 0x1}, {0x8080800000000000?, 0xb01000000000?, ...})
        /usr/lib/go-1.26/src/testing/testing.go:2583 +0x3f0
testing.(*M).Run(0x6b1bf31cc000)
        /usr/lib/go-1.26/src/testing/testing.go:2443 +0x578
main.main()
        _testmain.go:48 +0x80

goroutine 19 [chan receive, 9 minutes]:
gopkg.in/check%2ev1.(*suiteRunner).runTest(...)
        
/build/reproducible-path/snapd-2.74.1/_build/src/gopkg.in/check.v1/check.go:819
gopkg.in/check%2ev1.(*suiteRunner).run(0x6b1bf3327780)
        
/build/reproducible-path/snapd-2.74.1/_build/src/gopkg.in/check.v1/check.go:624 
+0x1a4
gopkg.in/check%2ev1.Run({0xb010f20f2480?, 0xb010f21817a0?}, 0x0?)
        
/build/reproducible-path/snapd-2.74.1/_build/src/gopkg.in/check.v1/run.go:92 
+0x28
gopkg.in/check%2ev1.RunAll(0x6b1bf3521ee8)
        
/build/reproducible-path/snapd-2.74.1/_build/src/gopkg.in/check.v1/run.go:84 
+0x6c
gopkg.in/check%2ev1.TestingT(0x6b1bf31e0248)
        
/build/reproducible-path/snapd-2.74.1/_build/src/gopkg.in/check.v1/run.go:72 
+0x21c
github.com/snapcore/snapd/osutil_test.Test(0x6b1bf31e0248?)
        
/build/reproducible-path/snapd-2.74.1/_build/src/github.com/snapcore/snapd/osutil/osutil_test.go:29
 +0x1c
testing.tRunner(0x6b1bf31e0248, 0xb010f211c358)
        /usr/lib/go-1.26/src/testing/testing.go:2036 +0xc4
created by testing.(*T).Run in goroutine 1
        /usr/lib/go-1.26/src/testing/testing.go:2101 +0x3a8

goroutine 87 [select, 9 minutes]:
gopkg.in/check%2ev1.(*resultTracker)._loopRoutine(0x6b1bf31fa240)
        
/build/reproducible-path/snapd-2.74.1/_build/src/gopkg.in/check.v1/check.go:470 
+0x70
created by gopkg.in/check%2ev1.(*resultTracker).start in goroutine 19
        
/build/reproducible-path/snapd-2.74.1/_build/src/gopkg.in/check.v1/check.go:450 
+0x5c

goroutine 68 [runnable]:
syscall.readlen(0x8?, 0x6b1bf31c72e8?, 0x8?)
        /usr/lib/go-1.26/src/syscall/zsyscall_linux_arm64.go:984 +0xcc
syscall.forkExec({0xb010f1dacb47?, 0xb010f1c367c8?}, {0x6b1bf3799cf0, 0x1, 
0x1}, 0x0?)
        /usr/lib/go-1.26/src/syscall/exec_unix.go:220 +0x35c
syscall.StartProcess(...)
        /usr/lib/go-1.26/src/syscall/exec_unix.go:258
os.startProcess({0xb010f1dacb47, 0xa}, {0x6b1bf3799cf0, 0x1, 0x1}, 
0x6b1bf31c7568)
        /usr/lib/go-1.26/src/os/exec_posix.go:55 +0x1e4
os.StartProcess({0xb010f1dacb47, 0xa}, {0x6b1bf3799cf0, 0x1, 0x1}, 
0x6b1bf31c7568)
        /usr/lib/go-1.26/src/os/exec.go:272 +0x50
os/exec.(*Cmd).Start(0x6b1bf360d860)
        /usr/lib/go-1.26/src/os/exec/exec.go:733 +0x40c
github.com/snapcore/snapd/osutil.RunWithContext({0xb010f2124310, 
0x6b1bf3133c70}, 0x6b1bf360d860)
        
/build/reproducible-path/snapd-2.74.1/_build/src/github.com/snapcore/snapd/osutil/context.go:57
 +0x3c
github.com/snapcore/snapd/osutil_test.ctxSuite.TestRunRace({}, 0x6b1bf32dcd20)
        
/build/reproducible-path/snapd-2.74.1/_build/src/github.com/snapcore/snapd/osutil/context_test.go:101
 +0x190
reflect.Value.call({0xb010f20f2480?, 0xb010f21817a0?, 0xa13?}, {0xb010f1daa987, 
0x4}, {0x6b1bf3111ee8, 0x1, 0x1?})
        /usr/lib/go-1.26/src/reflect/value.go:586 +0xabc
reflect.Value.Call({0xb010f20f2480?, 0xb010f21817a0?, 0x6b1bf32c2c78?}, 
{0x6b1bf31026e8?, 0x4?, 0x6b1bf31026a6?})
        /usr/lib/go-1.26/src/reflect/value.go:369 +0x94
gopkg.in/check%2ev1.(*suiteRunner).forkTest.func1(0x6b1bf32dcd20)
        
/build/reproducible-path/snapd-2.74.1/_build/src/gopkg.in/check.v1/check.go:781 
+0x3dc
gopkg.in/check%2ev1.(*suiteRunner).forkCall.func1()
        
/build/reproducible-path/snapd-2.74.1/_build/src/gopkg.in/check.v1/check.go:675 
+0x80
created by gopkg.in/check%2ev1.(*suiteRunner).forkCall in goroutine 19
        
/build/reproducible-path/snapd-2.74.1/_build/src/gopkg.in/check.v1/check.go:672 
+0x1d4
FAIL    github.com/snapcore/snapd/osutil        601.085s
=== RUN   Test
OK: 124 passed
--- PASS: Test (1.94s)
PASS
ok      github.com/snapcore/snapd/osutil/disks  3.481s
=== RUN   Test
OK: 16 passed
--- PASS: Test (1.08s)
PASS
ok      github.com/snapcore/snapd/osutil/epoll  2.038s
=== RUN   Test
OK: 5 passed
--- PASS: Test (0.04s)
PASS
ok      github.com/snapcore/snapd/osutil/fips   0.931s
=== RUN   TestInotifyEvents
    inotify_linux_test.go:55: event received: 
"/tmp/inotify540260408/TestInotifyEvents.testfile": 0x100 == IN_CREATE
    inotify_linux_test.go:55: event received: 
"/tmp/inotify540260408/TestInotifyEvents.testfile": 0x20 == IN_OPEN
    inotify_linux_test.go:77: calling Close()
    inotify_linux_test.go:79: waiting for the event channel to become closed...
    inotify_linux_test.go:82: event channel closed
--- PASS: TestInotifyEvents (1.01s)
=== RUN   TestInotifyClose
--- PASS: TestInotifyClose (0.00s)
=== RUN   TestLockOnEvent
--- PASS: TestLockOnEvent (2.01s)
PASS
ok      github.com/snapcore/snapd/osutil/inotify        3.282s
=== RUN   Test
OK: 9 passed
--- PASS: Test (0.05s)
PASS
ok      github.com/snapcore/snapd/osutil/kcmdline       0.899s
=== RUN   Test
OK: 4 passed
--- PASS: Test (0.09s)
PASS
ok      github.com/snapcore/snapd/osutil/keyboard       0.996s
=== RUN   TestRun
OK: 5 passed
--- PASS: TestRun (0.15s)
PASS
ok      github.com/snapcore/snapd/osutil/kmod   0.910s
=== RUN   TestRun
OK: 12 passed
--- PASS: TestRun (1.50s)
PASS
ok      github.com/snapcore/snapd/osutil/mkfs   2.323s
=== RUN   Test
OK: 2 passed
--- PASS: Test (0.06s)
PASS
ok      github.com/snapcore/snapd/osutil/mount  0.438s
=== RUN   Test
OK: 1 passed
--- PASS: Test (0.05s)
PASS
ok      github.com/snapcore/snapd/osutil/mount/libmount 0.437s
?       github.com/snapcore/snapd/osutil/squashfs       [no test files]
=== RUN   Test
OK: 9 passed
--- PASS: Test (0.09s)
PASS
ok      github.com/snapcore/snapd/osutil/strace 0.931s
?       github.com/snapcore/snapd/osutil/sys    [no test files]
?       github.com/snapcore/snapd/osutil/udev/crawler   [no test files]
=== RUN   Test
OK: 0 passed
--- PASS: Test (0.00s)
=== RUN   TestConnect
--- PASS: TestConnect (0.00s)
=== RUN   TestMonitorStop
--- PASS: TestMonitorStop (0.00s)
=== RUN   TestMonitorSelectTimeoutIsHarmless
--- PASS: TestMonitorSelectTimeoutIsHarmless (0.10s)
=== RUN   TestRules
--- PASS: TestRules (0.00s)
=== RUN   TestRawSockStopperReadable
--- PASS: TestRawSockStopperReadable (0.05s)
=== RUN   TestRawSockStopperStop
--- PASS: TestRawSockStopperStop (0.00s)
=== RUN   TestParseUEvent
--- PASS: TestParseUEvent (0.00s)
=== RUN   TestParseUdevEvent
--- PASS: TestParseUdevEvent (0.00s)
PASS
ok      github.com/snapcore/snapd/osutil/udev/netlink   0.528s
=== RUN   Test
OK: 11 passed
--- PASS: Test (0.84s)
PASS
ok      github.com/snapcore/snapd/osutil/user   1.833s
=== RUN   TestVFS_Mount
=== RUN   TestVFS_Mount/mount-on-file
    mount_test.go:41: Mounting FS as etc/passwd
    mount_test.go:51: Final state 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        
=== RUN   TestVFS_Mount/mount-on-non-existing
    mount_test.go:55: Mounting FS as var
    mount_test.go:65: Final state 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        
=== RUN   TestVFS_Mount/mount-on-dir
    mount_test.go:69: Checking home/user/.vimrc before mount
    mount_test.go:74: Mounting FS as home
    mount_test.go:79: After mounting on home 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /home rw - (fstype) (source) rw
        
    mount_test.go:81: Checking home/user/.vimrc after mount
=== RUN   TestVFS_Mount/mount-on-dir/overmount
    mount_test.go:87: Mounting another FS at home
    mount_test.go:92: After mounting on home, again 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /home rw - (fstype) (source) rw
        1  0 0:0 / /home rw - (fstype) (source) rw
        
    mount_test.go:94: Checking home/user/.viminfo after mount
    mount_test.go:99: Checking home/user/.vimrc after mount
=== RUN   TestVFS_Mount/mount-path-with-trailing-slash
    mount_test.go:113: Final state 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /home rw - (fstype) (source) rw
        1  0 0:0 / /home rw - (fstype) (source) rw
        
=== RUN   TestVFS_Mount/mount-on-shared
--- PASS: TestVFS_Mount (0.00s)
    --- PASS: TestVFS_Mount/mount-on-file (0.00s)
    --- PASS: TestVFS_Mount/mount-on-non-existing (0.00s)
    --- PASS: TestVFS_Mount/mount-on-dir (0.00s)
        --- PASS: TestVFS_Mount/mount-on-dir/overmount (0.00s)
    --- PASS: TestVFS_Mount/mount-path-with-trailing-slash (0.00s)
    --- PASS: TestVFS_Mount/mount-on-shared (0.00s)
=== RUN   TestVFS_BindMount
=== RUN   TestVFS_BindMount/non-existing-source
    mount_test.go:156: Final state 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        
=== RUN   TestVFS_BindMount/non-existing-target
    mount_test.go:173: Final state 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        
=== RUN   TestVFS_BindMount/directory
    mount_test.go:183: Inspecting home2 before bind mounting home over it
    mount_test.go:188: Stat of home2 before bind-mount is home2 (directory true)
    mount_test.go:190: Bind-mounting home at home2
    mount_test.go:195: After bind-mount home -> home2 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 /home /home2 rw - (fstype) (source) rw
        
    mount_test.go:197: Inspecting home2 after bind mounting home over it
    mount_test.go:202: Stat of home2 after bind-mount is home (directory true)
    mount_test.go:204: Inspecting home2/user/.vimrc
=== RUN   TestVFS_BindMount/source-path-with-trailing-slash
=== RUN   TestVFS_BindMount/target-path-with-trailing-slash
=== RUN   TestVFS_BindMount/mount-point-directory
    mount_test.go:239: Mounting FS at home
    mount_test.go:244: After mounting a fs at home 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /home rw - (fstype) (source) rw
        
    mount_test.go:246: Bind-mounting home at home2
    mount_test.go:251: After bind mounting home -> home2 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /home rw - (fstype) (source) rw
        1  -1 0:0 / /home2 rw - (fstype) (source) rw
        
    mount_test.go:253: Inspecting home2 after bind mounting home over it
    mount_test.go:258: Stat of home2 after bind-mount is <nil> (directory true)
    mount_test.go:260: Inspecting home2
    mount_test.go:265: Inspecting home2/user/.vimrc
=== RUN   TestVFS_BindMount/false-directory
    mount_test.go:277: Inspecting home2 before bind-mounting home over itself
    mount_test.go:282: Stat of home2 before bind-mount is home2 (directory true)
    mount_test.go:284: Bind-mounting home over itself
    mount_test.go:289: After bind mounting home over itself 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 /home /home rw - (fstype) (source) rw
        
    mount_test.go:291: Inspecting home2 after bind-mounting home over itself
    mount_test.go:296: Stat of home2 after bind-mount is home2 (directory true)
=== RUN   TestVFS_BindMount/sub-directory
    mount_test.go:310: Bind-mounting var/home/user at home/user
    mount_test.go:315: After bind mounting var/home/user -> home/user 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 /var/home/user /home/user rw - (fstype) (source) rw
        
    mount_test.go:317: Bind-mounting home/user at root
    mount_test.go:322: After bind mounting home/user -> root 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 /var/home/user /home/user rw - (fstype) (source) rw
        1  -1 0:0 /var/home/user /root rw - (fstype) (source) rw
        
    mount_test.go:324: Inspecting root after both bind mounts
    mount_test.go:329: Stat of root after both bind-mounts is actually 
var/home/user (directory true)
=== RUN   TestVFS_BindMount/file
    mount_test.go:342: Inspecting README.txt before the bind-mount
    mount_test.go:347: README.txt before bind-mount is actually README.txt 
(directory false)
    mount_test.go:353: Bind-mounting README.md over README.txt
    mount_test.go:358: After bind mounting README.md -> README.txt 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 /README.md /README.txt rw - (fstype) (source) rw
        
    mount_test.go:360: Inspecting README.txt after the bind-mount
    mount_test.go:365: README.txt after bind-mount is actually README.md 
(directory false)
    mount_test.go:371: Inspecting README.md after the bind-mount
    mount_test.go:376: README.md after bind-mount is actually README.md 
(directory false)
=== RUN   TestVFS_BindMount/mount-point-file
    mount_test.go:390: Mounting FS at home
    mount_test.go:395: After mounting FS at home 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /home rw - (fstype) (source) rw
        
    mount_test.go:397: Inspecting home/user/.vimrc before the bind-mount
    mount_test.go:409: Bind-mounting foo.txt at foo.txt.2
    mount_test.go:414: After bind-mounting foo.txt -> foo.txt.2 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /home rw - (fstype) (source) rw
        1  -1 0:0 /foo.txt /foo.txt.2 rw - (fstype) (source) rw
        
    mount_test.go:416: Bind-mounting foo.txt.2 at home/user/.vimrc
    mount_test.go:421: After bind-mounting foo.txt.2 -> home/user/.vimrc 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /home rw - (fstype) (source) rw
        1  -1 0:0 /foo.txt /foo.txt.2 rw - (fstype) (source) rw
        2  0 0:0 /foo.txt /home/user/.vimrc rw - (fstype) (source) rw
        
    mount_test.go:423: Inspecting home/user/.vimrc after the bind-mount
=== RUN   TestVFS_BindMount/false-file
    mount_test.go:442: Inspecting foo.txt.2 before bind-mounting foo.txt over 
itself
    mount_test.go:447: Stat of foo.txt.2 before bind-mount is foo.txt.2 
(directory false)
    mount_test.go:449: Bind-mounting foo.txt over itself
    mount_test.go:454: After bind-mounting foo.txt over itself 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 /foo.txt /foo.txt rw - (fstype) (source) rw
        
    mount_test.go:456: Inspecting foo.txt.2 after bind mounting foo.txt over 
itself
    mount_test.go:461: Stat of foo.txt.2 after bind-mount is foo.txt.2 
(directory false)
=== RUN   TestVFS_BindMount/sub-file
    mount_test.go:475: Inspecting var/home/user/file.txt before all bind-mounts
    mount_test.go:480: Stat of var/home/user/file.txt before all bind-mounts 
actually var/home/user/file.txt (directory false)
    mount_test.go:482: Bind-mounting var/home/user at home/user
    mount_test.go:487: After bind-mounting var/home/user -> home/user 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 /var/home/user /home/user rw - (fstype) (source) rw
        
    mount_test.go:489: Inspecting home/user/file.txt after first bind-mount
    mount_test.go:494: Stat of home/user/file.txt after first bind-mount is 
actually var/home/user/file.txt (directory false)
    mount_test.go:496: Bind-mounting home/user/file.txt at root/file.txt
    mount_test.go:501: After bind-mounting home/user/file.txt -> root/file.txt 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 /var/home/user /home/user rw - (fstype) (source) rw
        1  -1 0:0 /var/home/user/file.txt /root/file.txt rw - (fstype) (source) 
rw
        
    mount_test.go:503: Inspecting root/file.txt after both bind-mounts
    mount_test.go:508: Stat of root/file.txt after both bind-mounts is actually 
var/home/user/file.txt (directory false)
=== RUN   TestVFS_BindMount/mismatch
=== RUN   TestVFS_BindMount/complex
    mount_test.go:547: After bind-mounting home -> home2 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 /home /home2 rw - (fstype) (source) rw
        
    mount_test.go:561: After mounting a FS at home/user 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 /home /home2 rw - (fstype) (source) rw
        1  -1 0:0 / /home/user rw - (fstype) (source) rw
        
=== RUN   TestVFS_BindMount/bind-mount-from-shared-to-private
=== RUN   TestVFS_BindMount/bind-mount-from-shared-to-shared
--- PASS: TestVFS_BindMount (0.00s)
    --- PASS: TestVFS_BindMount/non-existing-source (0.00s)
    --- PASS: TestVFS_BindMount/non-existing-target (0.00s)
    --- PASS: TestVFS_BindMount/directory (0.00s)
    --- PASS: TestVFS_BindMount/source-path-with-trailing-slash (0.00s)
    --- PASS: TestVFS_BindMount/target-path-with-trailing-slash (0.00s)
    --- PASS: TestVFS_BindMount/mount-point-directory (0.00s)
    --- PASS: TestVFS_BindMount/false-directory (0.00s)
    --- PASS: TestVFS_BindMount/sub-directory (0.00s)
    --- PASS: TestVFS_BindMount/file (0.00s)
    --- PASS: TestVFS_BindMount/mount-point-file (0.00s)
    --- PASS: TestVFS_BindMount/false-file (0.00s)
    --- PASS: TestVFS_BindMount/sub-file (0.00s)
    --- PASS: TestVFS_BindMount/mismatch (0.00s)
    --- PASS: TestVFS_BindMount/complex (0.00s)
    --- PASS: TestVFS_BindMount/bind-mount-from-shared-to-private (0.00s)
    --- PASS: TestVFS_BindMount/bind-mount-from-shared-to-shared (0.00s)
=== RUN   TestVFS_RecursiveBindMount
=== RUN   TestVFS_RecursiveBindMount/smoke
    mount_test.go:653: State before recursive bind mount 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /a/dir-1 rw - (fstype) (source) rw
        1  -1 0:0 / /a/dir-2 rw - (fstype) (source) rw
        2  0 0:0 / /a/dir-1/sub-1 rw - (fstype) (source) rw
        3  2 0:0 /file.txt /a/dir-1/sub-1/file.txt rw - (fstype) (source) rw
        
    mount_test.go:657: State after recursive bind mount 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /a/dir-1 rw - (fstype) (source) rw
        1  -1 0:0 / /a/dir-2 rw - (fstype) (source) rw
        2  0 0:0 / /a/dir-1/sub-1 rw - (fstype) (source) rw
        3  2 0:0 /file.txt /a/dir-1/sub-1/file.txt rw - (fstype) (source) rw
        4  -1 0:0 /a /b rw - (fstype) (source) rw
        5  4 0:0 / /b/dir-1 rw - (fstype) (source) rw
        6  5 0:0 / /b/dir-1/sub-1 rw - (fstype) (source) rw
        7  6 0:0 /file.txt /b/dir-1/sub-1/file.txt rw - (fstype) (source) rw
        8  4 0:0 / /b/dir-2 rw - (fstype) (source) rw
        
=== RUN   TestVFS_RecursiveBindMount/subsmoke
    mount_test.go:675: State before recursive bind mount 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /a/dir-1 rw - (fstype) (source) rw
        1  -1 0:0 / /a/dir-2 rw - (fstype) (source) rw
        2  0 0:0 / /a/dir-1/sub-1 rw - (fstype) (source) rw
        3  2 0:0 /file.txt /a/dir-1/sub-1/file.txt rw - (fstype) (source) rw
        
    mount_test.go:679: State after recursive bind mount 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /a/dir-1 rw - (fstype) (source) rw
        1  -1 0:0 / /a/dir-2 rw - (fstype) (source) rw
        2  0 0:0 / /a/dir-1/sub-1 rw - (fstype) (source) rw
        3  2 0:0 /file.txt /a/dir-1/sub-1/file.txt rw - (fstype) (source) rw
        4  -1 0:0 / /b rw - (fstype) (source) rw
        5  4 0:0 / /b/sub-1 rw - (fstype) (source) rw
        6  5 0:0 /file.txt /b/sub-1/file.txt rw - (fstype) (source) rw
        
=== RUN   TestVFS_RecursiveBindMount/shadowed
    mount_test.go:700: State before recursive bind mount 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /a/dir-1 rw - (fstype) (source) rw
        1  -1 0:0 / /a/dir-2 rw - (fstype) (source) rw
        2  0 0:0 / /a/dir-1/sub-1 rw - (fstype) (source) rw
        3  2 0:0 /file.txt /a/dir-1/sub-1/file.txt rw - (fstype) (source) rw
        4  -1 0:0 / /a rw - (fstype) (source) rw
        
    mount_test.go:704: State after recursive bind mount 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        0  -1 0:0 / /a/dir-1 rw - (fstype) (source) rw
        1  -1 0:0 / /a/dir-2 rw - (fstype) (source) rw
        2  0 0:0 / /a/dir-1/sub-1 rw - (fstype) (source) rw
        3  2 0:0 /file.txt /a/dir-1/sub-1/file.txt rw - (fstype) (source) rw
        4  -1 0:0 / /a rw - (fstype) (source) rw
        5  -1 0:0 / /b rw - (fstype) (source) rw
        
--- PASS: TestVFS_RecursiveBindMount (0.00s)
    --- PASS: TestVFS_RecursiveBindMount/smoke (0.00s)
    --- PASS: TestVFS_RecursiveBindMount/subsmoke (0.00s)
    --- PASS: TestVFS_RecursiveBindMount/shadowed (0.00s)
=== RUN   TestVFS_Unmount
=== RUN   TestVFS_Unmount/tmp-umounted
=== RUN   TestVFS_Unmount/rootfs
=== RUN   TestVFS_Unmount/tmp-mounted
    mount_test.go:752: After mounting and unmounting FS at tmp 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        
=== RUN   TestVFS_Unmount/tmp-mounted-twice
    mount_test.go:756: Mounting fs on tmp (the one with 'a')
    mount_test.go:761: Confidence check: tmp/a is the file from the mounted fs
    mount_test.go:766: Mounting fs on tmp (the one with 'b')
    mount_test.go:771: Confidence check: tmp/a is now shadowed by the new mount 
on tmp
    mount_test.go:776: Confidence check: tmp/b is the file from the mounted fs
    mount_test.go:781: Unmounting top mount on tmp
    mount_test.go:786: Confidence check: tmp/a is no longer shadowed
    mount_test.go:791: Unmounting bottom mount on tmp
    mount_test.go:796: Confidence check: tmp/a is gone
    mount_test.go:801: Final state 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        
=== RUN   TestVFS_Unmount/bind-mounted-dir
    mount_test.go:809: Confidence check: run is really tmp
    mount_test.go:822: Confidence check: run is back to itself
    mount_test.go:831: Final state 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        
=== RUN   TestVFS_Unmount/bind-mounted-file
    mount_test.go:839: Confidence check: file.txt.2 is really file.txt
    mount_test.go:852: Confidence check: file.txt.2 is back to itself
    mount_test.go:861: Final state 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        
=== RUN   TestVFS_Unmount/recursive-bind-mounted-file
    mount_test.go:869: Confidence check: file.txt.2 is really file.txt
    mount_test.go:882: Confidence check: file.txt.2 is back to itself
    mount_test.go:891: Final state 
        -1 -1 0:0 / / rw - (fstype) (source) rw
        
=== RUN   TestVFS_Unmount/mount-path-with-trailing-slash
=== RUN   TestVFS_Unmount/unmount-shared
--- PASS: TestVFS_Unmount (0.00s)
    --- PASS: TestVFS_Unmount/tmp-umounted (0.00s)
    --- PASS: TestVFS_Unmount/rootfs (0.00s)
    --- PASS: TestVFS_Unmount/tmp-mounted (0.00s)
    --- PASS: TestVFS_Unmount/tmp-mounted-twice (0.00s)
    --- PASS: TestVFS_Unmount/bind-mounted-dir (0.00s)
    --- PASS: TestVFS_Unmount/bind-mounted-file (0.00s)
    --- PASS: TestVFS_Unmount/recursive-bind-mounted-file (0.00s)
    --- PASS: TestVFS_Unmount/mount-path-with-trailing-slash (0.00s)
    --- PASS: TestVFS_Unmount/unmount-shared (0.00s)
=== RUN   TestVFS_Open
--- PASS: TestVFS_Open (0.00s)
=== RUN   TestVFS_MakeShared
=== RUN   TestVFS_MakeShared/success
=== RUN   TestVFS_MakeShared/twice
=== RUN   TestVFS_MakeShared/not-mount-point
--- PASS: TestVFS_MakeShared (0.00s)
    --- PASS: TestVFS_MakeShared/success (0.00s)
    --- PASS: TestVFS_MakeShared/twice (0.00s)
    --- PASS: TestVFS_MakeShared/not-mount-point (0.00s)
=== RUN   TestVFS_RecursivelyMakeShared
=== RUN   TestVFS_RecursivelyMakeShared/top-level
=== RUN   TestVFS_RecursivelyMakeShared/not-top-level
=== RUN   TestVFS_RecursivelyMakeShared/leaf
--- PASS: TestVFS_RecursivelyMakeShared (0.00s)
    --- PASS: TestVFS_RecursivelyMakeShared/top-level (0.00s)
    --- PASS: TestVFS_RecursivelyMakeShared/not-top-level (0.00s)
    --- PASS: TestVFS_RecursivelyMakeShared/leaf (0.00s)
=== RUN   TestVFS_Stat
--- PASS: TestVFS_Stat (0.00s)
=== RUN   TestRbindOrder
--- PASS: TestRbindOrder (0.00s)
=== RUN   TestBindStack
=== RUN   TestBindStack/bind
=== RUN   TestBindStack/rbind
--- PASS: TestBindStack (0.00s)
    --- PASS: TestBindStack/bind (0.00s)
    --- PASS: TestBindStack/rbind (0.00s)
=== RUN   TestMountLinkage
--- PASS: TestMountLinkage (0.00s)
PASS
ok      github.com/snapcore/snapd/osutil/vfs    0.320s
=== RUN   TestNode_Unlink
=== RUN   TestNode_Unlink/unlink-zero
=== RUN   TestNode_Unlink/unlink-appended
=== RUN   TestNode_Unlink/unlink-unlinked
--- PASS: TestNode_Unlink (0.00s)
    --- PASS: TestNode_Unlink/unlink-zero (0.00s)
    --- PASS: TestNode_Unlink/unlink-appended (0.00s)
    --- PASS: TestNode_Unlink/unlink-unlinked (0.00s)
=== RUN   TestNode_Unlinked
=== RUN   TestNode_Unlinked/zero-is-unlinked
=== RUN   TestNode_Unlinked/unlinked-is-unlinked
--- PASS: TestNode_Unlinked (0.00s)
    --- PASS: TestNode_Unlinked/zero-is-unlinked (0.00s)
    --- PASS: TestNode_Unlinked/unlinked-is-unlinked (0.00s)
=== RUN   TestList_Len
--- PASS: TestList_Len (0.00s)
=== RUN   TestList_Empty
=== RUN   TestList_Empty/zero-is-empty
=== RUN   TestList_Empty/appended-is-not-empty
=== RUN   TestList_Empty/prepended-is-not-empty
--- PASS: TestList_Empty (0.00s)
    --- PASS: TestList_Empty/zero-is-empty (0.00s)
    --- PASS: TestList_Empty/appended-is-not-empty (0.00s)
    --- PASS: TestList_Empty/prepended-is-not-empty (0.00s)
=== RUN   TestList_Append
--- PASS: TestList_Append (0.00s)
=== RUN   TestList_Prepend
--- PASS: TestList_Prepend (0.00s)
=== RUN   TestList_FirstToLast
=== RUN   TestList_FirstToLast/empty
=== RUN   TestList_FirstToLast/appended
=== RUN   TestList_FirstToLast/prepended
=== RUN   TestList_FirstToLast/calling-unlink
--- PASS: TestList_FirstToLast (0.00s)
    --- PASS: TestList_FirstToLast/empty (0.00s)
    --- PASS: TestList_FirstToLast/appended (0.00s)
    --- PASS: TestList_FirstToLast/prepended (0.00s)
    --- PASS: TestList_FirstToLast/calling-unlink (0.00s)
=== RUN   Test_LastToFirst
=== RUN   Test_LastToFirst/empty
=== RUN   Test_LastToFirst/appended
=== RUN   Test_LastToFirst/prepended
=== RUN   Test_LastToFirst/calling-unlink
--- PASS: Test_LastToFirst (0.00s)
    --- PASS: Test_LastToFirst/empty (0.00s)
    --- PASS: Test_LastToFirst/appended (0.00s)
    --- PASS: Test_LastToFirst/prepended (0.00s)
    --- PASS: Test_LastToFirst/calling-unlink (0.00s)
=== RUN   TestHeadlessList_Unlink
--- PASS: TestHeadlessList_Unlink (0.00s)
=== RUN   TestHeadlessList_Smoke
--- PASS: TestHeadlessList_Smoke (0.00s)
=== RUN   TestDepthFirstSearch
=== RUN   TestDepthFirstSearch/node-lazy-init
=== RUN   TestDepthFirstSearch/list-lazy-init
=== RUN   TestDepthFirstSearch/container-integrity
=== RUN   TestDepthFirstSearch/parent-pointers
=== RUN   TestDepthFirstSearch/childNode_pointers
=== RUN   TestDepthFirstSearch/children-list
=== RUN   TestDepthFirstSearch/only-first
=== RUN   TestDepthFirstSearch/from-root
=== RUN   TestDepthFirstSearch/from-subtree
=== RUN   TestDepthFirstSearch/leaf-node
--- PASS: TestDepthFirstSearch (0.00s)
    --- PASS: TestDepthFirstSearch/node-lazy-init (0.00s)
    --- PASS: TestDepthFirstSearch/list-lazy-init (0.00s)
    --- PASS: TestDepthFirstSearch/container-integrity (0.00s)
    --- PASS: TestDepthFirstSearch/parent-pointers (0.00s)
    --- PASS: TestDepthFirstSearch/childNode_pointers (0.00s)
    --- PASS: TestDepthFirstSearch/children-list (0.00s)
    --- PASS: TestDepthFirstSearch/only-first (0.00s)
    --- PASS: TestDepthFirstSearch/from-root (0.00s)
    --- PASS: TestDepthFirstSearch/from-subtree (0.00s)
    --- PASS: TestDepthFirstSearch/leaf-node (0.00s)
PASS
ok      github.com/snapcore/snapd/osutil/vfs/lists      0.225s
=== RUN   TestOverlord
OK: 9 passed, 157 skipped
--- PASS: TestOverlord (0.13s)
PASS
ok      github.com/snapcore/snapd/overlord      3.075s
=== RUN   TestAssertManager
OK: 137 passed
--- PASS: TestAssertManager (5.82s)
PASS
ok      github.com/snapcore/snapd/overlord/assertstate  8.611s
?       github.com/snapcore/snapd/overlord/assertstate/assertstatetest  [no 
test files]
=== RUN   Test
OK: 25 passed
--- PASS: Test (0.05s)
PASS
ok      github.com/snapcore/snapd/overlord/auth 0.946s
=== RUN   Test
OK: 21 passed
--- PASS: Test (0.52s)
PASS
ok      github.com/snapcore/snapd/overlord/clusterstate 3.186s
=== RUN   TestCommand
OK: 9 passed
--- PASS: TestCommand (0.47s)
PASS
ok      github.com/snapcore/snapd/overlord/cmdstate     3.180s
=== RUN   Test
OK: 68 passed
--- PASS: Test (1.13s)
PASS
ok      github.com/snapcore/snapd/overlord/confdbstate  3.941s
=== RUN   TestConfigState
OK: 26 passed
--- PASS: TestConfigState (0.10s)
PASS
ok      github.com/snapcore/snapd/overlord/configstate  2.986s
=== RUN   TestT
OK: 26 passed
--- PASS: TestT (0.25s)
PASS
ok      github.com/snapcore/snapd/overlord/configstate/config   1.507s
=== RUN   Test
OK: 284 passed, 23 skipped
--- PASS: Test (3.15s)
PASS
ok      github.com/snapcore/snapd/overlord/configstate/configcore       6.003s
=== RUN   TestT
OK: 2 passed
--- PASS: TestT (0.05s)
PASS
ok      github.com/snapcore/snapd/overlord/configstate/proxyconf        1.252s
=== RUN   TestDeviceManager
OK: 554 passed, 67 skipped
--- PASS: TestDeviceManager (177.58s)
PASS
ok      github.com/snapcore/snapd/overlord/devicestate  180.532s
?       github.com/snapcore/snapd/overlord/devicestate/devicestatetest  [no 
test files]
=== RUN   TestInternal
OK: 1 passed
--- PASS: TestInternal (0.03s)
PASS
ok      github.com/snapcore/snapd/overlord/devicestate/internal 0.953s
testing: warning: no tests to run
PASS
ok      github.com/snapcore/snapd/overlord/fdestate     1.235s [no tests to run]
=== RUN   TestFDEBackend
OK: 26 passed
--- PASS: TestFDEBackend (0.53s)
PASS
ok      github.com/snapcore/snapd/overlord/fdestate/backend     1.697s
=== RUN   TestHealthState
OK: 7 passed
--- PASS: TestHealthState (0.11s)
PASS
ok      github.com/snapcore/snapd/overlord/healthstate  2.846s
=== RUN   TestHookManager
OK: 70 passed
--- PASS: TestHookManager (3.88s)
PASS
ok      github.com/snapcore/snapd/overlord/hookstate    6.593s
=== RUN   Test
OK: 190 passed
--- PASS: Test (1.84s)
PASS
ok      github.com/snapcore/snapd/overlord/hookstate/ctlcmd     4.617s
=== RUN   Test
OK: 7 passed
--- PASS: Test (0.04s)
PASS
ok      github.com/snapcore/snapd/overlord/hookstate/hooktest   0.422s
=== RUN   TestInterfaceManager
OK: 291 passed
--- PASS: TestInterfaceManager (7.94s)
PASS
ok      github.com/snapcore/snapd/overlord/ifacestate   10.756s
=== RUN   Test
OK: 51 passed
--- PASS: Test (4.90s)
PASS
ok      github.com/snapcore/snapd/overlord/ifacestate/apparmorprompting 6.919s
=== RUN   Test
OK: 2 passed
--- PASS: Test (0.03s)
PASS
ok      github.com/snapcore/snapd/overlord/ifacestate/ifacerepo 2.701s
?       github.com/snapcore/snapd/overlord/ifacestate/schema    [no test files]
=== RUN   TestHotplug
OK: 2 passed
--- PASS: TestHotplug (0.23s)
PASS
ok      github.com/snapcore/snapd/overlord/ifacestate/udevmonitor       1.405s
=== RUN   TestInstall
OK: 39 passed
--- PASS: TestInstall (7.46s)
PASS
ok      github.com/snapcore/snapd/overlord/install      9.655s
=== RUN   Test
OK: 17 passed
--- PASS: Test (0.15s)
PASS
ok      github.com/snapcore/snapd/overlord/notices      1.093s
=== RUN   Test
OK: 25 passed
--- PASS: Test (0.30s)
PASS
ok      github.com/snapcore/snapd/overlord/patch        2.104s
=== RUN   TestRestart
OK: 41 passed
--- PASS: TestRestart (0.13s)
PASS
ok      github.com/snapcore/snapd/overlord/restart      2.705s
=== RUN   TestServiceControl
OK: 165 passed, 2 skipped
--- PASS: TestServiceControl (1.07s)
PASS
ok      github.com/snapcore/snapd/overlord/servicestate 3.857s
=== RUN   TestInternal
OK: 5 passed
--- PASS: TestInternal (0.14s)
PASS
ok      github.com/snapcore/snapd/overlord/servicestate/internal        1.767s
?       github.com/snapcore/snapd/overlord/servicestate/servicestatetest        
[no test files]
=== RUN   TestSnapshot
OK: 101 passed
--- PASS: TestSnapshot (1.84s)
PASS
ok      github.com/snapcore/snapd/overlord/snapshotstate        4.637s
=== RUN   TestSnapshot
OK: 88 passed
--- PASS: TestSnapshot (2.65s)
PASS
ok      github.com/snapcore/snapd/overlord/snapshotstate/backend        4.076s
=== RUN   TestSnapManager
OK: 1391 passed, 13 skipped
--- PASS: TestSnapManager (71.05s)
PASS
ok      github.com/snapcore/snapd/overlord/snapstate    72.750s
=== RUN   TestAgentNotify
OK: 3 passed
--- PASS: TestAgentNotify (0.03s)
PASS
ok      github.com/snapcore/snapd/overlord/snapstate/agentnotify        1.607s
=== RUN   TestBackend
OK: 193 passed
--- PASS: TestBackend (8.10s)
PASS
ok      github.com/snapcore/snapd/overlord/snapstate/backend    9.802s
=== RUN   TestSnapManager
OK: 29 passed
--- PASS: TestSnapManager (0.11s)
PASS
ok      github.com/snapcore/snapd/overlord/snapstate/policy     1.744s
=== RUN   Test
OK: 9 passed
--- PASS: Test (0.04s)
PASS
ok      github.com/snapcore/snapd/overlord/snapstate/sequence   1.619s
?       github.com/snapcore/snapd/overlord/snapstate/snapstatetest      [no 
test files]
=== RUN   Test
OK: 7 passed
--- PASS: Test (0.13s)
PASS
ok      github.com/snapcore/snapd/overlord/standby      1.696s
=== RUN   TestState
OK: 183 passed
--- PASS: TestState (10.52s)
PASS
ok      github.com/snapcore/snapd/overlord/state        11.724s
=== RUN   Test
OK: 16 passed
--- PASS: Test (0.02s)
PASS
ok      github.com/snapcore/snapd/overlord/storecontext 1.610s
=== RUN   Test
OK: 6 passed
--- PASS: Test (0.77s)
PASS
ok      github.com/snapcore/snapd/overlord/swfeats      1.953s
=== RUN   Test
OK: 3 passed
--- PASS: Test (0.08s)
PASS
ok      github.com/snapcore/snapd/polkit        1.105s
=== RUN   Test
OK: 8 passed
--- PASS: Test (0.11s)
PASS
ok      github.com/snapcore/snapd/polkit/validate       0.518s
=== RUN   Test
OK: 15 passed
--- PASS: Test (0.99s)
PASS
ok      github.com/snapcore/snapd/progress      2.264s
?       github.com/snapcore/snapd/progress/progresstest [no test files]
=== RUN   Test
OK: 8 passed
--- PASS: Test (0.05s)
PASS
ok      github.com/snapcore/snapd/randutil      1.143s
=== RUN   Test
OK: 20 passed
--- PASS: Test (0.08s)
PASS
ok      github.com/snapcore/snapd/release       1.136s
=== RUN   Test
OK: 2 passed
--- PASS: Test (0.05s)
PASS
ok      github.com/snapcore/snapd/sandbox       1.174s
=== RUN   TestApparmor
OK: 69 passed
--- PASS: TestApparmor (2.06s)
PASS
ok      github.com/snapcore/snapd/sandbox/apparmor      3.401s
=== RUN   Test
OK: 51 passed
--- PASS: Test (0.22s)
PASS
ok      github.com/snapcore/snapd/sandbox/apparmor/notify       1.433s
=== RUN   Test
OK: 25 passed
--- PASS: Test (0.32s)
PASS
ok      github.com/snapcore/snapd/sandbox/apparmor/notify/listener      1.490s
=== RUN   TestCgroup
monitor.go:119: cannot add watch inotify_add_watch 
/tmp/check-7867129919358667135/3/foo/bar: no such file or directory
OK: 106 passed
--- PASS: TestCgroup (1.30s)
PASS
ok      github.com/snapcore/snapd/sandbox/cgroup        2.481s
=== RUN   Test
OK: 15 passed
--- PASS: Test (0.38s)
PASS
ok      github.com/snapcore/snapd/sandbox/gpio  1.474s
=== RUN   TestLSM
OK: 3 passed
--- PASS: TestLSM (0.04s)
PASS
ok      github.com/snapcore/snapd/sandbox/lsm   1.216s
=== RUN   TestSeccomp
OK: 16 passed
--- PASS: TestSeccomp (0.60s)
PASS
ok      github.com/snapcore/snapd/sandbox/seccomp       1.770s
=== RUN   Test
OK: 22 passed
--- PASS: Test (0.33s)
PASS
ok      github.com/snapcore/snapd/sandbox/selinux       1.442s
=== RUN   TestSecboot
OK: 0 passed
--- PASS: TestSecboot (0.01s)
PASS
ok      github.com/snapcore/snapd/secboot       1.291s
=== RUN   TestSecboot
OK: 4 passed, 1 skipped
--- PASS: TestSecboot (0.08s)
PASS
ok      github.com/snapcore/snapd/secboot/keys  1.227s
=== RUN   Test
OK: 3 passed
--- PASS: Test (0.27s)
PASS
ok      github.com/snapcore/snapd/secboot/luks2 1.321s
=== RUN   Test
OK: 124 passed
--- PASS: Test (81.66s)
PASS
ok      github.com/snapcore/snapd/seed  83.310s
=== RUN   Test
OK: 24 passed
--- PASS: Test (0.08s)
PASS
ok      github.com/snapcore/snapd/seed/internal 1.444s
?       github.com/snapcore/snapd/seed/seedtest [no test files]
=== RUN   Test
OK: 116 passed
--- PASS: Test (34.94s)
PASS
ok      github.com/snapcore/snapd/seed/seedwriter       36.603s
=== RUN   Test
OK: 504 passed, 3 skipped
--- PASS: Test (13.84s)
=== RUN   ExampleSplitSnapApp
--- PASS: ExampleSplitSnapApp (0.00s)
=== RUN   ExampleSplitSnapApp_short
--- PASS: ExampleSplitSnapApp_short (0.00s)
PASS
ok      github.com/snapcore/snapd/snap  15.420s
=== RUN   Test
OK: 11 passed
--- PASS: Test (0.10s)
PASS
ok      github.com/snapcore/snapd/snap/channel  1.002s
=== RUN   Test
OK: 10 passed
--- PASS: Test (0.17s)
PASS
ok      github.com/snapcore/snapd/snap/integrity        1.429s
=== RUN   Test
OK: 9 passed
--- PASS: Test (0.51s)
PASS
ok      github.com/snapcore/snapd/snap/integrity/dmverity       1.994s
?       github.com/snapcore/snapd/snap/internal [no test files]
=== RUN   Test
OK: 30 passed
--- PASS: Test (0.25s)
PASS
ok      github.com/snapcore/snapd/snap/naming   1.769s
=== RUN   Test
OK: 26 passed
--- PASS: Test (3.16s)
PASS
ok      github.com/snapcore/snapd/snap/pack     4.746s
=== RUN   Test
OK: 52 passed
--- PASS: Test (0.11s)
PASS
ok      github.com/snapcore/snapd/snap/quota    1.340s
=== RUN   Test
OK: 11 passed
--- PASS: Test (0.49s)
PASS
ok      github.com/snapcore/snapd/snap/snapdir  1.928s
=== RUN   Test
OK: 15 passed
--- PASS: Test (0.08s)
PASS
ok      github.com/snapcore/snapd/snap/snapenv  1.501s
=== RUN   TestSnapfileTest
OK: 7 passed
--- PASS: TestSnapfileTest (0.21s)
PASS
ok      github.com/snapcore/snapd/snap/snapfile 1.598s
=== RUN   TestSnapTest
OK: 11 passed
--- PASS: TestSnapTest (0.22s)
PASS
ok      github.com/snapcore/snapd/snap/snaptest 1.674s
=== RUN   Test
OK: 53 passed
--- PASS: Test (6.65s)
PASS
ok      github.com/snapcore/snapd/snap/squashfs 8.019s
=== RUN   TestSysParamsTest
OK: 8 passed
--- PASS: TestSysParamsTest (0.07s)
PASS
ok      github.com/snapcore/snapd/snap/sysparams        1.107s
=== RUN   Test
OK: 10 passed
--- PASS: Test (0.05s)
PASS
ok      github.com/snapcore/snapd/snapdenv      1.323s
=== RUN   Test
OK: 50 passed
--- PASS: Test (0.33s)
PASS
ok      github.com/snapcore/snapd/snapdtool     1.728s
=== RUN   Test
OK: 3 passed
--- PASS: Test (0.06s)
PASS
ok      github.com/snapcore/snapd/spdx  0.714s
=== RUN   TestStore
OK: 309 passed, 2 skipped
--- PASS: TestStore (8.34s)
PASS
ok      github.com/snapcore/snapd/store 10.007s
?       github.com/snapcore/snapd/store/storetest       [no test files]
=== RUN   Test
OK: 19 passed
--- PASS: Test (1.77s)
PASS
ok      github.com/snapcore/snapd/store/tooling 3.415s
=== RUN   Test
OK: 56 passed
--- PASS: Test (0.19s)
PASS
ok      github.com/snapcore/snapd/strutil       0.756s
?       github.com/snapcore/snapd/strutil/chrorder      [no test files]
=== RUN   Test
OK: 0 passed
--- PASS: Test (0.00s)
=== RUN   ExampleFormatAmount_short
--- PASS: ExampleFormatAmount_short (0.00s)
=== RUN   ExampleFormatAmount_long
--- PASS: ExampleFormatAmount_long (0.00s)
=== RUN   ExampleFormatBPS
--- PASS: ExampleFormatBPS (0.00s)
=== RUN   ExampleFormatDuration
--- PASS: ExampleFormatDuration (0.00s)
PASS
ok      github.com/snapcore/snapd/strutil/quantity      0.384s
=== RUN   Test
OK: 0 passed
--- PASS: Test (0.00s)
=== RUN   TestClassifier
--- PASS: TestClassifier (0.00s)
=== RUN   TestTokenizer
--- PASS: TestTokenizer (0.00s)
=== RUN   TestLexer
--- PASS: TestLexer (0.00s)
=== RUN   TestSplit
--- PASS: TestSplit (0.00s)
=== RUN   TestEOFAfterEscape
--- PASS: TestEOFAfterEscape (0.00s)
=== RUN   TestEOFInQuotingEscape
--- PASS: TestEOFInQuotingEscape (0.00s)
=== RUN   TestEOFInComment
--- PASS: TestEOFInComment (0.00s)
=== RUN   TestNastyReader
--- PASS: TestNastyReader (0.00s)
PASS
ok      github.com/snapcore/snapd/strutil/shlex 0.384s
=== RUN   Test
OK: 31 passed
--- PASS: Test (0.42s)
PASS
ok      github.com/snapcore/snapd/syscheck      1.562s
=== RUN   Test
OK: 19 passed
--- PASS: Test (0.51s)
PASS
ok      github.com/snapcore/snapd/sysconfig     2.222s
=== RUN   Test
OK: 128 passed, 1 skipped
--- PASS: Test (1.17s)
PASS
ok      github.com/snapcore/snapd/systemd       2.408s
?       github.com/snapcore/snapd/systemd/systemdtest   [no test files]
?       github.com/snapcore/snapd/tests/lib     [no test files]
?       github.com/snapcore/snapd/tests/lib/fakedevicesvc       [no test files]
?       github.com/snapcore/snapd/tests/lib/fakestore/cmd/fakestore     [no 
test files]
?       github.com/snapcore/snapd/tests/lib/fakestore/refresh   [no test files]
=== RUN   Test
OK: 30 passed
--- PASS: Test (5.74s)
PASS
ok      github.com/snapcore/snapd/tests/lib/fakestore/store     7.330s
=== RUN   Test
OK: 2 passed
--- PASS: Test (0.18s)
PASS
ok      github.com/snapcore/snapd/tests/lib/fde-setup-hook      1.332s
?       github.com/snapcore/snapd/tests/lib/fde-setup-hook-v1   [no test files]
?       github.com/snapcore/snapd/tests/lib/gendeveloper1       [no test files]
?       github.com/snapcore/snapd/tests/lib/plz-run     [no test files]
?       github.com/snapcore/snapd/tests/lib/snaps/store/test-snapd-go-webserver 
[no test files]
?       github.com/snapcore/snapd/tests/lib/systemd-escape      [no test files]
?       github.com/snapcore/snapd/tests/lib/uc20-create-partitions      [no 
test files]
?       github.com/snapcore/snapd/tests/main/chattr     [no test files]
?       github.com/snapcore/snapd/tests/main/drop-privs/runas-1 [no test files]
?       github.com/snapcore/snapd/tests/main/drop-privs/runas-2 [no test files]
?       github.com/snapcore/snapd/tests/main/drop-privs/runas-3 [no test files]
?       github.com/snapcore/snapd/tests/main/high-user-handling [no test files]
?       github.com/snapcore/snapd/tests/main/local-install-w-metadata   [no 
test files]
?       github.com/snapcore/snapd/tests/main/retry-network      [no test files]
?       github.com/snapcore/snapd/tests/main/snap-seccomp-syscalls      [no 
test files]
?       github.com/snapcore/snapd/tests/main/user-libnss        [no test files]
?       
github.com/snapcore/snapd/tests/nested/core/core20-set-efi-boot-variables       
[no test files]
?       github.com/snapcore/snapd/tests/nested/manual/core20-da-lockout [no 
test files]
=== RUN   Test
OK: 19 passed
--- PASS: Test (1.88s)
PASS
ok      github.com/snapcore/snapd/testtime      2.916s
=== RUN   Test
OK: 115 passed, 2 skipped
--- PASS: Test (0.44s)
=== RUN   ExampleBackup_mockingSimple
--- PASS: ExampleBackup_mockingSimple (0.00s)
=== RUN   ExampleBackup_mockingMultiple
--- PASS: ExampleBackup_mockingMultiple (0.00s)
PASS
ok      github.com/snapcore/snapd/testutil      1.538s
=== RUN   Test
OK: 4 passed
--- PASS: Test (0.09s)
PASS
ok      github.com/snapcore/snapd/timeout       0.878s
=== RUN   Test
OK: 18 passed, 3 skipped
--- PASS: Test (0.08s)
PASS
ok      github.com/snapcore/snapd/timeutil      1.237s
=== RUN   TestTimings
OK: 9 passed
--- PASS: TestTimings (0.10s)
PASS
ok      github.com/snapcore/snapd/timings       1.143s
=== RUN   Test
OK: 0 passed, 67 skipped
--- PASS: Test (0.00s)
PASS
ok      github.com/snapcore/snapd/usersession/agent     1.594s
=== RUN   Test
OK: 7 passed
--- PASS: Test (0.10s)
PASS
ok      github.com/snapcore/snapd/usersession/autostart 1.437s
=== RUN   Test
OK: 25 passed
--- PASS: Test (0.30s)
PASS
ok      github.com/snapcore/snapd/usersession/client    1.810s
=== RUN   Test
OK: 39 passed
--- PASS: Test (0.71s)
PASS
ok      github.com/snapcore/snapd/usersession/userd     2.044s
=== RUN   Test
OK: 9 passed
--- PASS: Test (1.19s)
PASS
ok      github.com/snapcore/snapd/usersession/userd/ui  2.372s
=== RUN   Test
OK: 5 passed, 7 skipped
--- PASS: Test (0.07s)
PASS
ok      github.com/snapcore/snapd/usersession/xdgopenproxy      1.163s
=== RUN   TestWrappers
OK: 112 passed, 102 skipped
--- PASS: TestWrappers (0.82s)
PASS
ok      github.com/snapcore/snapd/wrappers      2.279s
=== RUN   TestInternal
OK: 29 passed, 7 skipped
--- PASS: TestInternal (0.32s)
PASS
ok      github.com/snapcore/snapd/wrappers/internal     1.680s
=== RUN   Test
OK: 4 passed
--- PASS: Test (0.06s)
PASS
ok      github.com/snapcore/snapd/x11   0.474s
FAIL
dh_auto_test: error: cd _build && go test -vet=off -v -p 128 
-pkgdir=/build/reproducible-path/snapd-2.74.1/_build/std -buildmode=pie -tags 
nosecboot github.com/snapcore/snapd/... github.com/snapcore/snapd/cmd/snap 
github.com/snapcore/snapd/cmd/snap-exec 
github.com/snapcore/snapd/cmd/snap-seccomp 
github.com/snapcore/snapd/cmd/snap-update-ns 
github.com/snapcore/snapd/cmd/snapctl github.com/snapcore/snapd/cmd/snapd 
github.com/snapcore/snapd/cmd/snapd-apparmor returned exit code 1
make[1]: *** [debian/rules:239: override_dh_auto_test] Error 25
make[1]: Leaving directory '/build/reproducible-path/snapd-2.74.1'
make: *** [debian/rules:109: binary] Error 2
dpkg-buildpackage: error: debian/rules binary subprocess failed with exit 
status 2

Reply via email to