This file is indexed.

/usr/share/gocode/src/github.com/ctdk/goiardi/digraph/tarjan_test.go is in golang-github-ctdk-goiardi-dev 0.11.2-2.

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
package digraph

import (
	"reflect"
	"sort"
	"testing"
)

func TestStronglyConnectedComponents(t *testing.T) {
	nodes := ParseBasic(`a -> b
a -> c
b -> c
c -> b
c -> d
d -> e`)
	var nlist []Node
	for _, n := range nodes {
		nlist = append(nlist, n)
	}

	sccs := StronglyConnectedComponents(nlist, false)
	if len(sccs) != 4 {
		t.Fatalf("bad: %v", sccs)
	}

	sccs = StronglyConnectedComponents(nlist, true)
	if len(sccs) != 1 {
		t.Fatalf("bad: %v", sccs)
	}

	cycle := sccs[0]
	if len(cycle) != 2 {
		t.Fatalf("bad: %v", sccs)
	}

	cycleNodes := make([]string, len(cycle))
	for i, c := range cycle {
		cycleNodes[i] = c.(*BasicNode).Name
	}
	sort.Strings(cycleNodes)

	expected := []string{"b", "c"}
	if !reflect.DeepEqual(cycleNodes, expected) {
		t.Fatalf("bad: %#v", cycleNodes)
	}
}

func TestStronglyConnectedComponents2(t *testing.T) {
	nodes := ParseBasic(`a -> b
a -> c
b -> d
b -> e
c -> f
c -> g
g -> a
`)
	var nlist []Node
	for _, n := range nodes {
		nlist = append(nlist, n)
	}

	sccs := StronglyConnectedComponents(nlist, true)
	if len(sccs) != 1 {
		t.Fatalf("bad: %v", sccs)
	}

	cycle := sccs[0]
	if len(cycle) != 3 {
		t.Fatalf("bad: %v", sccs)
	}

	cycleNodes := make([]string, len(cycle))
	for i, c := range cycle {
		cycleNodes[i] = c.(*BasicNode).Name
	}
	sort.Strings(cycleNodes)

	expected := []string{"a", "c", "g"}
	if !reflect.DeepEqual(cycleNodes, expected) {
		t.Fatalf("bad: %#v", cycleNodes)
	}
}