aboutsummaryrefslogtreecommitdiffhomepage
path: root/hst/config_test.go
diff options
context:
space:
mode:
authorOphestra <cat@gensokyo.uk>2025-10-19 02:39:23 +0900
committerOphestra <cat@gensokyo.uk>2025-10-19 02:39:49 +0900
commitd87020f0ca6897fbc1ba815fc1d9d048795e8749 (patch)
treed8743f9d80fd8457681f84c59974038479891b15 /hst/config_test.go
parente47aebb7a0de9b3b9f0345db68ff0119e6cc12c0 (diff)
hst/config: validate env early
This should happen in hst since it requires no system state. Signed-off-by: Ophestra <cat@gensokyo.uk>
Diffstat (limited to 'hst/config_test.go')
-rw-r--r--hst/config_test.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/hst/config_test.go b/hst/config_test.go
index f3690eb8..6bc878a7 100644
--- a/hst/config_test.go
+++ b/hst/config_test.go
@@ -39,6 +39,20 @@ func TestConfigValidate(t *testing.T) {
Shell: fhs.AbsTmp,
}}, &hst.AppError{Step: "validate configuration", Err: hst.ErrConfigNull,
Msg: "container configuration missing path to initial program"}},
+ {"env equals", &hst.Config{Container: &hst.ContainerConfig{
+ Home: fhs.AbsTmp,
+ Shell: fhs.AbsTmp,
+ Path: fhs.AbsTmp,
+ Env: map[string]string{"TERM=": ""},
+ }}, &hst.AppError{Step: "validate configuration", Err: hst.ErrEnviron,
+ Msg: `invalid environment variable "TERM="`}},
+ {"env NUL", &hst.Config{Container: &hst.ContainerConfig{
+ Home: fhs.AbsTmp,
+ Shell: fhs.AbsTmp,
+ Path: fhs.AbsTmp,
+ Env: map[string]string{"TERM\x00": ""},
+ }}, &hst.AppError{Step: "validate configuration", Err: hst.ErrEnviron,
+ Msg: `invalid environment variable "TERM\x00"`}},
{"valid", &hst.Config{Container: &hst.ContainerConfig{
Home: fhs.AbsTmp,
Shell: fhs.AbsTmp,