X Tutup
Skip to content

Commit 58f019b

Browse files
committed
Fix username function
Signed-off-by: Pete Woods <pete.woods@circleci.com>
1 parent 19a5bcb commit 58f019b

File tree

2 files changed

+10
-19
lines changed

2 files changed

+10
-19
lines changed

libmachine/mcnutils/utils.go

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ import (
66
"fmt"
77
"io"
88
"os"
9+
"os/user"
910
"runtime"
1011
"strconv"
1112
"time"
@@ -35,17 +36,10 @@ func GetHomeDir() string {
3536

3637
func GetUsername() string {
3738
u := "unknown"
38-
osUser := ""
3939

40-
switch runtime.GOOS {
41-
case "darwin", "linux":
42-
osUser = os.Getenv("USER")
43-
case "windows":
44-
osUser = os.Getenv("USERNAME")
45-
}
46-
47-
if osUser != "" {
48-
u = osUser
40+
user, err := user.Current()
41+
if err == nil {
42+
u = user.Username
4943
}
5044

5145
return u

libmachine/mcnutils/utils_test.go

Lines changed: 6 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,8 @@ package mcnutils
33
import (
44
"io/ioutil"
55
"os"
6+
"os/user"
67
"path/filepath"
7-
"runtime"
88
"testing"
99
)
1010

@@ -54,17 +54,14 @@ func TestCopyFile(t *testing.T) {
5454
}
5555

5656
func TestGetUsername(t *testing.T) {
57-
currentUser := "unknown"
58-
switch runtime.GOOS {
59-
case "darwin", "linux":
60-
currentUser = os.Getenv("USER")
61-
case "windows":
62-
currentUser = os.Getenv("USERNAME")
57+
u, err := user.Current()
58+
if err != nil {
59+
t.Fatalf(err.Error())
6360
}
6461

6562
username := GetUsername()
66-
if username != currentUser {
67-
t.Fatalf("expected username %s; received %s", currentUser, username)
63+
if username != u.Username {
64+
t.Fatalf("expected username %s; received %s", u.Username, username)
6865
}
6966
}
7067

0 commit comments

Comments
 (0)
X Tutup