This file is indexed.

/usr/share/go-1.6/test/fixedbugs/bug447.go is in golang-1.6-src 1.6.1-0ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
// runoutput

// Copyright 2012 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 3804
// test all possible float -> integer conversions

package main

import (
	"bytes"
	"fmt"
	"strings"
)

var (
	intWidths = []int{8, 16, 32, 64} // int%d and uint%d
	floatWidths = []int{32, 64} // float%d
)

func main() {

	var names, funcs bytes.Buffer

	for _, iWidth := range intWidths {
		for _, typ := range []string{"int", "uint"} {
			var segs bytes.Buffer
			itype := fmt.Sprintf("%s%d", typ, iWidth)
			names.WriteString("\ttest" + itype + ",\n")
			for _, fWidth := range floatWidths {
				ftype := fmt.Sprintf("float%d", fWidth)
				seg := strings.Replace(testSegment, "$F", ftype, -1)
				seg = strings.Replace(seg, "$I", itype, -1)
				segs.WriteString(seg)
			}
			body := strings.Replace(testFunc, "$I", itype, -1)
			if typ[0] == 'u' {
				body = strings.Replace(body, "$TEST", " || i < 0", 1)
			} else {
				body = strings.Replace(body, "$TEST", "", 1)
			}
			body = strings.Replace(body, "$TESTSEGMENTS", segs.String(), 1)
			funcs.WriteString(body)
		}
	}

	program = strings.Replace(program, "$NAMES", names.String(), 1)
	program = strings.Replace(program, "$FUNCS", funcs.String(), 1)
	fmt.Print(program)
}

const testSegment = `
	f$F := $F(f)
	if math.Abs(float64(f$F) - f) < 0.05 {
		if v := $I(f$F); v != $I(i) {
			fmt.Printf("$I($F(%f)) = %v, expected %v\n", f, v, i)
		}
	}`

const testFunc =
`func test$I(f float64, i int64) {
	if i != int64($I(i))$TEST {
		return
	}
$TESTSEGMENTS
}
`

var program =
`package main

import (
	"fmt"
	"math"
)

var tests = []struct {
	f float64
	i int64
}{
	{39.7, 39},
	{-39.7, -39},
	{258.6, 258},
	{-258.6, -258},
	{65538.9, 65538},
	{-65538.9, -65538},
	{4294967298.8, 4294967298},
	{-4294967298.8, -4294967298},
}

var funcs = []func(float64, int64){
$NAMES
}

$FUNCS
func main() {
	for _, t := range tests {
		for _, f := range funcs {
			f(t.f, t.i)
		}
	}
}
`