summaryrefslogtreecommitdiff
path: root/vendor/golang.org/x/text/internal/testtext/codesize.go
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/golang.org/x/text/internal/testtext/codesize.go')
-rw-r--r--vendor/golang.org/x/text/internal/testtext/codesize.go53
1 files changed, 0 insertions, 53 deletions
diff --git a/vendor/golang.org/x/text/internal/testtext/codesize.go b/vendor/golang.org/x/text/internal/testtext/codesize.go
deleted file mode 100644
index 5fc5eae..0000000
--- a/vendor/golang.org/x/text/internal/testtext/codesize.go
+++ /dev/null
@@ -1,53 +0,0 @@
-// Copyright 2015 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 testtext
-
-import (
- "bytes"
- "fmt"
- "io/ioutil"
- "os"
- "os/exec"
- "path/filepath"
- "runtime"
-)
-
-// CodeSize builds the given code sample and returns the binary size or en error
-// if an error occurred. The code sample typically will look like this:
-// package main
-// import "golang.org/x/text/somepackage"
-// func main() {
-// somepackage.Func() // reference Func to cause it to be linked in.
-// }
-// See dict_test.go in the display package for an example.
-func CodeSize(s string) (int, error) {
- // Write the file.
- tmpdir, err := ioutil.TempDir(os.TempDir(), "testtext")
- if err != nil {
- return 0, fmt.Errorf("testtext: failed to create tmpdir: %v", err)
- }
- defer os.RemoveAll(tmpdir)
- filename := filepath.Join(tmpdir, "main.go")
- if err := ioutil.WriteFile(filename, []byte(s), 0644); err != nil {
- return 0, fmt.Errorf("testtext: failed to write main.go: %v", err)
- }
-
- // Build the binary.
- w := &bytes.Buffer{}
- cmd := exec.Command(filepath.Join(runtime.GOROOT(), "bin", "go"), "build", "-o", "main")
- cmd.Dir = tmpdir
- cmd.Stderr = w
- cmd.Stdout = w
- if err := cmd.Run(); err != nil {
- return 0, fmt.Errorf("testtext: failed to execute command: %v\nmain.go:\n%vErrors:%s", err, s, w)
- }
-
- // Determine the size.
- fi, err := os.Stat(filepath.Join(tmpdir, "main"))
- if err != nil {
- return 0, fmt.Errorf("testtext: failed to get file info: %v", err)
- }
- return int(fi.Size()), nil
-}