Merge branch '36-foolsday' into 'master'
Resolve "foolsday" Closes #36 See merge request slon/shad-go-private!48
This commit is contained in:
commit
02eb666f77
8 changed files with 92 additions and 0 deletions
|
@ -1,3 +1,14 @@
|
||||||
|
- group: April Fools' Day
|
||||||
|
start: 01-04-2021 00:00
|
||||||
|
deadline: 01-04-2021 23:59
|
||||||
|
tasks:
|
||||||
|
- task: foolsday1
|
||||||
|
score: 50
|
||||||
|
- task: foolsday2
|
||||||
|
score: 50
|
||||||
|
- task: foolsday3
|
||||||
|
score: 50
|
||||||
|
|
||||||
- group: HTTP
|
- group: HTTP
|
||||||
start: 25-03-2021 18:00
|
start: 25-03-2021 18:00
|
||||||
deadline: 04-04-2021 23:59
|
deadline: 04-04-2021 23:59
|
||||||
|
|
5
foolsday1/README.md
Normal file
5
foolsday1/README.md
Normal file
|
@ -0,0 +1,5 @@
|
||||||
|
# foolsday1
|
||||||
|
|
||||||
|
В этой задаче нужно прислать в телеграм чат курса уникальный и субъективно смешной мем!
|
||||||
|
|
||||||
|
После этого сдать флаг `FLAG{foolsday1:april-first:229383d33b0798ef58a74040fc618baa}`.
|
3
foolsday2/README.md
Normal file
3
foolsday2/README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# foolsday2
|
||||||
|
|
||||||
|
Чур без спойлеров!
|
11
foolsday2/flag_test.go
Normal file
11
foolsday2/flag_test.go
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
// +build private
|
||||||
|
|
||||||
|
package main
|
||||||
|
|
||||||
|
import "testing"
|
||||||
|
|
||||||
|
const flag = "FLAG{foolsday2:hidden-gem:07a5e6469f2178616cba4e9a0410e050}"
|
||||||
|
|
||||||
|
func TestHiddenGem(t *testing.T) {
|
||||||
|
t.Logf("Here's your flag: %s", flag)
|
||||||
|
}
|
3
foolsday3/README.md
Normal file
3
foolsday3/README.md
Normal file
|
@ -0,0 +1,3 @@
|
||||||
|
# foolsday3
|
||||||
|
|
||||||
|
Если вы совсем застряли: [подсказка](https://bit.ly/3wipKMz).
|
9
foolsday3/lambda.go
Normal file
9
foolsday3/lambda.go
Normal file
|
@ -0,0 +1,9 @@
|
||||||
|
// +build !solution
|
||||||
|
|
||||||
|
package foolsday3
|
||||||
|
|
||||||
|
import "context"
|
||||||
|
|
||||||
|
func lambda(ctx context.Context) interface{} {
|
||||||
|
return nil
|
||||||
|
}
|
33
foolsday3/lambda_test.go
Normal file
33
foolsday3/lambda_test.go
Normal file
|
@ -0,0 +1,33 @@
|
||||||
|
// +build !race
|
||||||
|
|
||||||
|
package foolsday3
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"testing"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
func TestLambda(t *testing.T) {
|
||||||
|
ctx, cancel := context.WithTimeout(context.Background(), time.Second*10)
|
||||||
|
defer cancel()
|
||||||
|
|
||||||
|
var doNotPrint bool
|
||||||
|
var validateLambdaFunc = func(end time.Time) bool {
|
||||||
|
return time.Now() == end
|
||||||
|
}
|
||||||
|
result := lambda(ctx)
|
||||||
|
end := time.Now()
|
||||||
|
if validateLambdaFunc(end) == true {
|
||||||
|
t.Logf("[%s] Great! Your function is very fast!", end.Format("15:04:05.999999"))
|
||||||
|
if doNotPrint != true {
|
||||||
|
t.Log("Congrats!")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
t.Log(result)
|
||||||
|
t.FailNow()
|
||||||
|
}
|
||||||
|
t.Logf("[%s] result of your slow function:", end.Format("15:04:05.999999"))
|
||||||
|
t.Log(result)
|
||||||
|
t.FailNow()
|
||||||
|
}
|
17
foolsday3/solution.go
Normal file
17
foolsday3/solution.go
Normal file
|
@ -0,0 +1,17 @@
|
||||||
|
// +build solution
|
||||||
|
|
||||||
|
package foolsday3
|
||||||
|
|
||||||
|
import (
|
||||||
|
"context"
|
||||||
|
"time"
|
||||||
|
)
|
||||||
|
|
||||||
|
var true = false
|
||||||
|
|
||||||
|
func lambda(ctx context.Context) interface{} {
|
||||||
|
time.AfterFunc(time.Nanosecond, func() {
|
||||||
|
true = int(0) == 0
|
||||||
|
})
|
||||||
|
return nil
|
||||||
|
}
|
Loading…
Reference in a new issue