On Android devices where the stub fallback for Current fails to
extract a User from the environment, return a dummy fallback instead
of failing.
While we're here, use / instead of /home/nacl for the NaCL fallback.
Hopefully fixes the Android builder.
Change-Id: Ia29304fbc224ee5f9c0f4e706d1756f765a7eae5
Reviewed-on: https://go-review.googlesource.com/37960
Run-TryBot: Elias Naur <elias.naur@gmail.com>
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
Name: "", // ignored
HomeDir: os.Getenv("HOME"),
}
- if runtime.GOOS == "nacl" {
+ // On NaCL and Android, return a dummy user instead of failing.
+ switch runtime.GOOS {
+ case "nacl":
if u.Uid == "" {
u.Uid = "1"
}
u.Username = "nacl"
}
if u.HomeDir == "" {
- u.HomeDir = "/home/nacl"
+ u.HomeDir = "/"
+ }
+ case "android":
+ if u.Uid == "" {
+ u.Uid = "1"
+ }
+ if u.Username == "" {
+ u.Username = "android"
+ }
+ if u.HomeDir == "" {
+ u.HomeDir = "/sdcard"
}
}
// cgo isn't available, but if we found the minimum information
}
func TestCurrent(t *testing.T) {
- if runtime.GOOS == "android" {
- t.Skipf("skipping on %s", runtime.GOOS)
- }
u, err := Current()
if err != nil {
t.Fatalf("Current: %v (got %#v)", err, u)