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  }