fix(fuse-tests): pass glog flags before the mount subcommand (#10215)

glog flags (-v, -logtostderr) are registered on weed's global flagset,
so passing them after the subcommand name kills the process at flag
parsing: flag provided but not defined: -logtostderr. The old stat-based
mount readiness probe masked this — TestWriteBufferCap silently ran
against the bare local directory and passed. The device-ID readiness
check now surfaces the dead mount as a not-ready timeout.

Move glog flags into MountGlobalOptions, emitted before the subcommand,
and do the same for the EnableDebug verbosity flag on mini and mount.
This commit is contained in:
Chris Lu
2026-07-02 18:01:57 -07:00
committed by GitHub
parent 39961ce5d7
commit 3089480c30
2 changed files with 40 additions and 32 deletions
@@ -79,6 +79,15 @@ func writeBufferCapConfig(debugPort int) *TestConfig {
CacheSizeMB: 100, // read cache (unrelated)
NumVolumes: 3,
EnableDebug: false,
// Route glog to stderr so the framework's process log capture
// actually contains something — by default weed sends glog to
// /tmp/weed.* files which the CI artifact upload step never
// sees. Critical for diagnosing upload/saveToStorage errors
// on Linux runs.
MountGlobalOptions: []string{
"-logtostderr=true",
"-v=2",
},
MountOptions: []string{
// 16 MiB total write buffer ⇒ up to 8 chunks in flight
// across every open file handle on this mount. Large
@@ -88,13 +97,6 @@ func writeBufferCapConfig(debugPort int) *TestConfig {
"-writeBufferSizeMB=16",
"-debug=true",
fmt.Sprintf("-debug.port=%d", debugPort),
// Route glog to stderr so the framework's process log
// capture actually contains something — by default weed
// sends glog to /tmp/weed.* files which the CI artifact
// upload step never sees. Critical for diagnosing
// upload/saveToStorage errors on Linux runs.
"-logtostderr=true",
"-v=2",
},
SkipCleanup: false,
}