helper/bwrap: move interfaceArgs before stringArgs

Signed-off-by: Ophestra Umiker <cat@ophivana.moe>
This commit is contained in:
Ophestra 2024-10-11 04:12:47 +09:00
parent 6220f7e197
commit 713872a5cd
Signed by: cat
SSH Key Fingerprint: SHA256:gQ67O0enBZ7UdZypgtspB2FDM1g3GVw8nX0XSdcFw8Q
2 changed files with 21 additions and 17 deletions

View File

@ -8,9 +8,9 @@ import (
func (c *Config) Args() (args []string) { func (c *Config) Args() (args []string) {
b := c.boolArgs() b := c.boolArgs()
n := c.intArgs() n := c.intArgs()
g := c.interfaceArgs()
s := c.stringArgs() s := c.stringArgs()
p := c.pairArgs() p := c.pairArgs()
g := c.interfaceArgs()
argc := 0 argc := 0
for i, arg := range b { for i, arg := range b {
@ -23,6 +23,9 @@ func (c *Config) Args() (args []string) {
argc += 2 argc += 2
} }
} }
for _, arg := range g {
argc += len(arg) * 3
}
for _, arg := range s { for _, arg := range s {
argc += len(arg) * 2 argc += len(arg) * 2
} }
@ -41,6 +44,11 @@ func (c *Config) Args() (args []string) {
args = append(args, intArgs[i], strconv.Itoa(*arg)) args = append(args, intArgs[i], strconv.Itoa(*arg))
} }
} }
for i, arg := range g {
for _, v := range arg {
args = append(args, v.Value(interfaceArgs[i])...)
}
}
for i, arg := range s { for i, arg := range s {
for _, v := range arg { for _, v := range arg {
args = append(args, stringArgs[i], v) args = append(args, stringArgs[i], v)
@ -51,11 +59,6 @@ func (c *Config) Args() (args []string) {
args = append(args, pairArgs[i], v[0], v[1]) args = append(args, pairArgs[i], v[0], v[1])
} }
} }
for i, arg := range g {
for _, v := range arg {
args = append(args, v.Value(interfaceArgs[i])...)
}
}
return return
} }

View File

@ -54,6 +54,17 @@ func TestConfig_Args(t *testing.T) {
"--assert-userns-disabled", "--assert-userns-disabled",
"--clearenv", "--clearenv",
"--die-with-parent", "--die-with-parent",
"--symlink", "usr/bin", "/bin",
"--symlink", "var/home", "/home",
"--symlink", "usr/lib", "/lib",
"--symlink", "usr/lib64", "/lib64",
"--symlink", "run/media", "/media",
"--symlink", "var/mnt", "/mnt",
"--symlink", "var/opt", "/opt",
"--symlink", "sysroot/ostree", "/ostree",
"--symlink", "var/roothome", "/root",
"--symlink", "usr/sbin", "/sbin",
"--symlink", "var/srv", "/srv",
"--bind", "/run", "/run", "--bind", "/run", "/run",
"--bind", "/tmp", "/tmp", "--bind", "/tmp", "/tmp",
"--bind", "/var", "/var", "--bind", "/var", "/var",
@ -65,17 +76,7 @@ func TestConfig_Args(t *testing.T) {
"--ro-bind", "/sysroot", "/sysroot", "--ro-bind", "/sysroot", "/sysroot",
"--ro-bind", "/usr", "/usr", "--ro-bind", "/usr", "/usr",
"--ro-bind", "/etc", "/etc", "--ro-bind", "/etc", "/etc",
"--symlink", "usr/bin", "/bin", },
"--symlink", "var/home", "/home",
"--symlink", "usr/lib", "/lib",
"--symlink", "usr/lib64", "/lib64",
"--symlink", "run/media", "/media",
"--symlink", "var/mnt", "/mnt",
"--symlink", "var/opt", "/opt",
"--symlink", "sysroot/ostree", "/ostree",
"--symlink", "var/roothome", "/root",
"--symlink", "usr/sbin", "/sbin",
"--symlink", "var/srv", "/srv"},
}, },
} }