Run Format

Source file src/internal/testenv/testenv_windows.go

Documentation: internal/testenv

  // Copyright 2016 The Go Authors. All rights reserved.
  // Use of this source code is governed by a BSD-style
  // license that can be found in the LICENSE file.
  package testenv
  import (
  var symlinkOnce sync.Once
  var winSymlinkErr error
  func initWinHasSymlink() {
  	tmpdir, err := ioutil.TempDir("", "symtest")
  	if err != nil {
  		panic("failed to create temp directory: " + err.Error())
  	defer os.RemoveAll(tmpdir)
  	err = os.Symlink("target", filepath.Join(tmpdir, "symlink"))
  	if err != nil {
  		err = err.(*os.LinkError).Err
  		switch err {
  		case syscall.EWINDOWS, syscall.ERROR_PRIVILEGE_NOT_HELD:
  			winSymlinkErr = err
  func hasSymlink() (ok bool, reason string) {
  	switch winSymlinkErr {
  	case nil:
  		return true, ""
  	case syscall.EWINDOWS:
  		return false, ": symlinks are not supported on your version of Windows"
  		return false, ": you don't have enough privileges to create symlinks"
  	return false, ""

View as plain text