go not running program with name package_test.go
<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>