Skip to content

Commit 13f0946

Browse files
authored
Merge pull request #720 from devlights:add-result-in-examples
Add Result in examples (examples/basic/goroutines)
2 parents 5a66a21 + 34288ae commit 13f0946

19 files changed

+398
-0
lines changed

examples/basic/goroutines/context_and_timeafterfunc.go

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,26 @@ func ContextAndTimeAfterFunc() error {
1616
useWithTimeout()
1717

1818
return nil
19+
20+
/*
21+
$ task
22+
task: [build] go build .
23+
task: [run] ./try-golang -onetime
24+
25+
ENTER EXAMPLE NAME: goroutines_context_and_timeafterfunc
26+
27+
[Name] "goroutines_context_and_timeafterfunc"
28+
[useTimeAfterFunc] 04:36:13
29+
[useTimeAfterFunc] context canceled
30+
[useTimeAfterFunc] 04:36:15
31+
[useWithTimeout] 04:36:15
32+
[useWithTimeout] context deadline exceeded
33+
[useWithTimeout] 04:36:17
34+
35+
36+
[Elapsed] 4.000603645s
37+
*/
38+
1939
}
2040

2141
// useTimeAfterFunc は、context.WithCancel + time.AfterFunc でタイムアウトさせます

examples/basic/goroutines/leak/abandoned_receiver.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,18 @@ func AbandonedReceiver() error {
4646
time.Sleep(1 * time.Second)
4747

4848
return nil
49+
50+
/*
51+
$ task
52+
task: [build] go build .
53+
task: [run] ./try-golang -onetime
54+
55+
ENTER EXAMPLE NAME: goroutines_leak_abandoned_receiver
56+
57+
[Name] "goroutines_leak_abandoned_receiver"
58+
59+
60+
[Elapsed] 1.010906522s
61+
*/
62+
4963
}

examples/basic/goroutines/leak/abandoned_sender.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -46,4 +46,18 @@ func AbandonedSender() error {
4646
time.Sleep(1 * time.Second)
4747

4848
return nil
49+
50+
/*
51+
$ task
52+
task: [build] go build .
53+
task: [run] ./try-golang -onetime
54+
55+
ENTER EXAMPLE NAME: goroutines_leak_abandoned_sender
56+
57+
[Name] "goroutines_leak_abandoned_sender"
58+
59+
60+
[Elapsed] 1.010441732s
61+
*/
62+
4963
}

examples/basic/goroutines/leak/forgotten_receiver.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,18 @@ func ForgottenReceiver() error {
3333
time.Sleep(1 * time.Second)
3434

3535
return nil
36+
37+
/*
38+
$ task
39+
task: [build] go build .
40+
task: [run] ./try-golang -onetime
41+
42+
ENTER EXAMPLE NAME: goroutines_leak_forgotten_receiver
43+
44+
[Name] "goroutines_leak_forgotten_receiver"
45+
46+
47+
[Elapsed] 1.000287084s
48+
*/
49+
3650
}

examples/basic/goroutines/leak/forgotten_sender.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,18 @@ func ForgottenSender() error {
3333
time.Sleep(1 * time.Second)
3434

3535
return nil
36+
37+
/*
38+
$ task
39+
task: [build] go build .
40+
task: [run] ./try-golang -onetime
41+
42+
ENTER EXAMPLE NAME: goroutines_leak_forgotten_sender
43+
44+
[Name] "goroutines_leak_forgotten_sender"
45+
46+
47+
[Elapsed] 1.001033553s
48+
*/
49+
3650
}

examples/basic/goroutines/leak/sender_after_error_check.go

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,19 @@ func SenderAfterErrorCheck() error {
4040
ch <- 1
4141

4242
return nil
43+
44+
/*
45+
$ task
46+
task: [build] go build .
47+
task: [run] ./try-golang -onetime
48+
49+
ENTER EXAMPLE NAME: goroutines_leak_sender_after_error_check
50+
51+
[Name] "goroutines_leak_sender_after_error_check"
52+
53+
54+
[Elapsed] 20.16µs
55+
[Error] this is dummy error (goroutines_leak_sender_after_error_check)
56+
*/
57+
4358
}

examples/basic/goroutines/nonstop.go

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,4 +15,18 @@ func NonStop() error {
1515
// (出力する前にメインゴルーチンが終わる可能性がある)
1616

1717
return nil
18+
19+
/*
20+
$ task
21+
task: Task "build" is up to date
22+
task: [run] ./try-golang -onetime
23+
24+
ENTER EXAMPLE NAME: goroutines_nonstop
25+
26+
[Name] "goroutines_nonstop"
27+
28+
29+
[Elapsed] 32.94µs
30+
*/
31+
1832
}

examples/basic/goroutines/select_nilchan1.go

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,33 @@ LOOP:
7575
}
7676

7777
return nil
78+
79+
/*
80+
$ task
81+
task: [build] go build .
82+
task: [run] ./try-golang -onetime
83+
84+
ENTER EXAMPLE NAME: goroutines_select_nil_chan_1
85+
86+
[Name] "goroutines_select_nil_chan_1"
87+
[main] start 1703219524
88+
>>> G2 processing... 1703219524
89+
>>> G1 processing... 1703219524
90+
>>> G1 processing... 1703219525
91+
>>> G2 processing... 1703219525
92+
[main] g1 done 1703219526
93+
>>> G1 done 1703219526
94+
>>> G2 processing... 1703219526
95+
>>> G2 processing... 1703219527
96+
>>> G2 processing... 1703219528
97+
[main] g2 done 1703219529
98+
>>> G2 done 1703219529
99+
[main] proc done 1703219531
100+
101+
102+
[Elapsed] 7.000165826s
103+
*/
104+
78105
}
79106

80107
func g(pCtx context.Context, timeout time.Duration, logger *log.Logger) context.Context {

examples/basic/goroutines/select_nilchan2.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,32 @@ LOOP:
9292
<-chans.WhenAll(m.Done(), g1.Done(), g2.Done())
9393

9494
return nil
95+
96+
/*
97+
$ task
98+
task: [build] go build .
99+
task: [run] ./try-golang -onetime
100+
101+
ENTER EXAMPLE NAME: goroutines_select_nil_chan_2
102+
103+
[Name] "goroutines_select_nil_chan_2"
104+
[main] [G1] running... 1703219567
105+
[main] [G1] running... 1703219568
106+
[main] [G1] running... 1703219569
107+
[main] [G1] running... 1703219570
108+
[main] [G1] running... 1703219571
109+
[main] [G2] running... 1703219572
110+
[main] [G2] running... 1703219573
111+
[main] [G2] running... 1703219574
112+
[main] [G2] running... 1703219575
113+
[main] [G2] running... 1703219576
114+
[main] [G2] running... 1703219577
115+
[main] proc done 1703219579
116+
117+
118+
[Elapsed] 12.000917675s
119+
*/
120+
95121
}
96122

97123
func startG(pCtx context.Context, name string, timeout time.Duration, statusCh chan string, l *log.Logger) context.Context {

examples/basic/goroutines/select_nilchan3.go

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,4 +55,30 @@ func SelectNilChan3() error {
5555
<-done
5656

5757
return nil
58+
59+
/*
60+
$ task
61+
task: [build] go build .
62+
task: [run] ./try-golang -onetime
63+
64+
ENTER EXAMPLE NAME: goroutines_select_nil_chan_3
65+
66+
[Name] "goroutines_select_nil_chan_3"
67+
[in1] 1
68+
[in2] 1
69+
[in1] 2
70+
[in2] 2
71+
[in1] 3
72+
[in1] 4
73+
[in1] 5
74+
[in2] 3
75+
[in1] close
76+
[in2] 4
77+
[in2] 5
78+
[in2] close
79+
80+
81+
[Elapsed] 585.55µs
82+
*/
83+
5884
}

0 commit comments

Comments
 (0)