pkg.re/essentialkaos/ek.10@v12.41.0+incompatible/fsutil/fs_user_unit.go (about)

     1  //go:build unit
     2  // +build unit
     3  
     4  // Package fsutil provides methods for working with files on POSIX compatible systems
     5  package fsutil
     6  
     7  // ////////////////////////////////////////////////////////////////////////////////// //
     8  //                                                                                    //
     9  //                         Copyright (c) 2022 ESSENTIAL KAOS                          //
    10  //      Apache License, Version 2.0 <https://www.apache.org/licenses/LICENSE-2.0>     //
    11  //                                                                                    //
    12  // ////////////////////////////////////////////////////////////////////////////////// //
    13  
    14  import (
    15  	"errors"
    16  	"pkg.re/essentialkaos/ek.v12/system"
    17  )
    18  
    19  // ////////////////////////////////////////////////////////////////////////////////// //
    20  
    21  var useFakeUser bool
    22  var getUserError bool
    23  
    24  // ////////////////////////////////////////////////////////////////////////////////// //
    25  
    26  func getCurrentUser() (*system.User, error) {
    27  	if useFakeUser {
    28  		return &system.User{
    29  			Name:    "test",
    30  			UID:     65534,
    31  			GID:     65534,
    32  			RealUID: 65534,
    33  			RealGID: 65534,
    34  			HomeDir: "/unknown",
    35  		}, nil
    36  	}
    37  
    38  	if getUserError {
    39  		return nil, errors.New("Error")
    40  	}
    41  
    42  	return system.CurrentUser()
    43  }