func SetConfigFromFlags()

in integration/utils/config.go [49:79]


func SetConfigFromFlags(rawFeatures string, releaseBinary bool, rawSandboxfsBinary string, unprivilegedUserName string) error {
	if globalConfig != nil {
		panic("SetConfigFromFlags can only be called once")
	}

	features := make(map[string]bool)
	for _, feature := range strings.Split(rawFeatures, " ") {
		features[feature] = true
	}

	sandboxfsBinary, err := filepath.Abs(rawSandboxfsBinary)
	if err != nil {
		return fmt.Errorf("cannot make %s absolute: %v", rawSandboxfsBinary, err)
	}

	var unprivilegedUser *UnixUser
	if unprivilegedUserName != "" {
		unprivilegedUser, err = LookupUser(unprivilegedUserName)
		if err != nil {
			return fmt.Errorf("invalid unprivileged user setting %s: %v", unprivilegedUserName, err)
		}
	}

	globalConfig = &Config{
		Features:         features,
		ReleaseBinary:    releaseBinary,
		SandboxfsBinary:  sandboxfsBinary,
		UnprivilegedUser: unprivilegedUser,
	}
	return nil
}