go/test/fixedbugs/issue20298.go
Josh Bleecher Snyder 9fda4df9a0 cmd/compile: make "imported and not used" errors deterministic
If there were more unused imports than
the maximum default number of errors to report,
the set of reported imports was non-deterministic.

Fix by accumulating and sorting them prior to output.

Fixes #20298

Change-Id: Ib3d5a15fd7dc40009523fcdc1b93ddc62a1b05f2
Reviewed-on: https://go-review.googlesource.com/42954
Run-TryBot: Josh Bleecher Snyder <josharian@gmail.com>
TryBot-Result: Gobot Gobot <gobot@golang.org>
Reviewed-by: Robert Griesemer <gri@golang.org>
2017-05-09 21:14:56 +00:00

32 lines
984 B
Go

// errorcheck -e=0
// Copyright 2017 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.
// Issue 20298: "imported and not used" error report order was non-deterministic.
// This test works by limiting the number of errors (-e=0)
// and checking that the errors are all at the beginning.
package p
import (
"bufio" // ERROR "imported and not used"
"bytes" // ERROR "imported and not used"
"crypto/x509" // ERROR "imported and not used"
"flag" // ERROR "imported and not used"
"fmt" // ERROR "imported and not used"
"io" // ERROR "imported and not used"
"io/ioutil" // ERROR "imported and not used"
"log" // ERROR "imported and not used"
"math" // ERROR "imported and not used"
"math/big" // ERROR "imported and not used" "too many errors"
"math/bits"
"net"
"net/http"
"os"
"path"
"path/filepath"
"regexp"
"strings"
)