1// Copyright 2013 The Go Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style
3// license that can be found in the LICENSE file.
4
5// +build darwin dragonfly freebsd linux netbsd openbsd solaris
6
7package os_test
8
9import (
10	. "os"
11	"testing"
12)
13
14var setenvEinvalTests = []struct {
15	k, v string
16}{
17	{"", ""},      // empty key
18	{"k=v", ""},   // '=' in key
19	{"\x00", ""},  // '\x00' in key
20	{"k", "\x00"}, // '\x00' in value
21}
22
23func TestSetenvUnixEinval(t *testing.T) {
24	for _, tt := range setenvEinvalTests {
25		err := Setenv(tt.k, tt.v)
26		if err == nil {
27			t.Errorf(`Setenv(%q, %q) == nil, want error`, tt.k, tt.v)
28		}
29	}
30}
31