title: go not running program with name package_test.go
body: <p>I have following code under package <em>pack1</em>. Name of file is <code>pack1.go</code></p>
  
  <pre><code>package pack1
  
  var Pack1Int int = 42
  var pack1Float = 3.14
  
  func ReturnStr() string {
      return "Hello world!"
  }
  </code></pre>
  
  <p>And following code in main program. Name of file is <code>package_test.go</code></p>
  
  <pre><code>package main
  
  import (
      "fmt"
      "./pack1"
  )
  
  func main() {
      var test1 string
      test1 = pack1.ReturnStr()
      fmt.Printf("Return string from pack1 : %s\n", test1)
      fmt.Printf("Integer from pack1 : %d\n", pack1.Pack1Int)
  }
  </code></pre>
  
  <p>When I try to run it with command <code>go run package_test.go</code> I get following error: </p>
  
  <p><code>go run: cannot run *_test.go files (package_test.go)</code></p>
  
  <p>But if I rename file to <code>abc.go</code> then I am getting proper output i.e. </p>
  
  <pre><code>Return string from pack1 : Hello world!
  Integer from pack1 : 42
  </code></pre>
  
  <p>I am curious about what is wrong with using <code>package_test.go</code> as file name. 
  For code with only main package this name is working fine. </p>
  
  <p>Is this a bug in Go or I am doing something wrong ? </p>