...
Run Format

Source file test/fixedbugs/issue13268.go

Documentation: test/fixedbugs

  // run
  
  // 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.
  
  // Test error message when EOF is encountered in the
  // middle of a BOM.
  //
  // Since the error requires an EOF, we cannot use the
  // errorcheckoutput mechanism.
  
  package main
  
  import (
  	"io/ioutil"
  	"log"
  	"os"
  	"os/exec"
  	"runtime"
  	"strings"
  )
  
  func main() {
  	// cannot use temp file on nacl via child process
  	if runtime.GOOS == "nacl" {
  		return
  	}
  
  	// create source
  	f, err := ioutil.TempFile("", "issue13268-")
  	if err != nil {
  		log.Fatalf("could not create source file: %v", err)
  	}
  	f.Write([]byte("package p\n\nfunc \xef\xef")) // if this fails, we will die later
  	f.Close()
  	defer os.Remove(f.Name())
  
  	// compile and test output
  	cmd := exec.Command("go", "tool", "compile", f.Name())
  	out, err := cmd.CombinedOutput()
  	if err == nil {
  		log.Fatalf("expected cmd/compile to fail")
  	}
  	if strings.HasPrefix(string(out), "illegal UTF-8 sequence") {
  		log.Fatalf("error %q not found", out)
  	}
  }
  

View as plain text