gitea/tests/env/filter.go
Michal Suchanek 9acb9377af Filter out gitea-specific variables in tests
There is no particular reason to set gitea variables globally.

Nonetheless, some misguided packagers set GITEA_CUSTOM in /etc/profile
breaking tests.

Fixes: go-gitea/gitea#36042
2025-12-05 10:17:29 +01:00

32 lines
520 B
Go

// Copyright 2025 The Gitea Authors. All rights reserved.
// SPDX-License-Identifier: MIT
package env
import (
"os"
"strings"
)
func Filter(include, exclude []string) {
env := os.Environ()
for _, v := range env {
included := false
for _, i := range include {
if strings.HasPrefix(v, i) {
included = true
break
}
}
if !included {
for _, e := range exclude {
if strings.HasPrefix(v, e) {
parts := strings.SplitN(v, "=", 2)
os.Unsetenv(parts[0])
break
}
}
}
}
}