github.com/apptainer/singularity@v3.1.1+incompatible/internal/pkg/util/env/env_test.go (about) 1 // Copyright (c) 2018, Sylabs Inc. All rights reserved. 2 // This software is licensed under a 3-clause BSD license. Please consult the 3 // LICENSE.md file distributed with the sources of this project regarding your 4 // rights to use or distribute this software. 5 6 package env 7 8 import ( 9 "testing" 10 11 "github.com/sylabs/singularity/internal/pkg/test" 12 ) 13 14 func TestSetFromList(t *testing.T) { 15 test.DropPrivilege(t) 16 defer test.ResetPrivilege(t) 17 18 type args struct { 19 environ []string 20 } 21 tests := []struct { 22 name string 23 args args 24 wantErr bool 25 }{ 26 {name: "Good_envs", args: args{[]string{"LD_LIBRARY_PATH=/.singularity.d/libs", "HOME=/home/tester", 27 "PS1=test", "TERM=xterm-256color", "PATH=/usr/games:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", 28 "LANG=C", "SINGULARITY_CONTAINER=/tmp/lolcow.sif", "PWD=/tmp", "LC_ALL=C", 29 "SINGULARITY_NAME=lolcow.sif"}}, wantErr: false}, 30 {name: "Bad_envs", args: args{[]string{"LD_LIBRARY_PATH=/.singularity.d/libs", "HOME=/home/tester", 31 "PS1=test", "TERM=xterm-256color", "PATH=/usr/games:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin", 32 "LANG=C", "SINGULARITY_CONTAINER=/tmp/lolcow.sif", "TEST", "LC_ALL=C", 33 "SINGULARITY_NAME=lolcow.sif"}}, wantErr: true}, 34 } 35 for _, tt := range tests { 36 t.Run(tt.name, func(t *testing.T) { 37 if err := SetFromList(tt.args.environ); (err != nil) != tt.wantErr { 38 t.Errorf("SetFromList() error = %v, wantErr %v", err, tt.wantErr) 39 } 40 }) 41 } 42 }