Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
N
nexpie-grafana-theme
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Registry
Registry
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Kornkitt Poolsup
nexpie-grafana-theme
Commits
3df94c6f
Unverified
Commit
3df94c6f
authored
May 14, 2019
by
Carl Bergquist
Committed by
GitHub
May 14, 2019
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
serverlock: run tests async should be more linear time wise (#17059)
parent
6c7224c7
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
20 additions
and
25 deletions
+20
-25
pkg/infra/serverlock/serverlock_integration_test.go
+20
-25
No files found.
pkg/infra/serverlock/serverlock_integration_test.go
View file @
3df94c6f
...
...
@@ -7,34 +7,29 @@ import (
"testing"
"time"
.
"github.com/smartystreets/goconvey/convey
"
"github.com/stretchr/testify/assert
"
)
func
TestServerLok
(
t
*
testing
.
T
)
{
sl
:=
createTestableServerLock
(
t
)
Convey
(
"Server lock integration tests"
,
t
,
func
()
{
counter
:=
0
var
err
error
incCounter
:=
func
()
{
counter
++
}
atInterval
:=
time
.
Second
*
1
ctx
:=
context
.
Background
()
//this time `fn` should be executed
So
(
sl
.
LockAndExecute
(
ctx
,
"test-operation"
,
atInterval
,
incCounter
),
ShouldBeNil
)
//this should not execute `fn`
So
(
sl
.
LockAndExecute
(
ctx
,
"test-operation"
,
atInterval
,
incCounter
),
ShouldBeNil
)
So
(
sl
.
LockAndExecute
(
ctx
,
"test-operation"
,
atInterval
,
incCounter
),
ShouldBeNil
)
So
(
sl
.
LockAndExecute
(
ctx
,
"test-operation"
,
atInterval
,
incCounter
),
ShouldBeNil
)
So
(
sl
.
LockAndExecute
(
ctx
,
"test-operation"
,
atInterval
,
incCounter
),
ShouldBeNil
)
// wait 5 second.
<-
time
.
After
(
atInterval
*
2
)
// now `fn` should be executed again
err
=
sl
.
LockAndExecute
(
ctx
,
"test-operation"
,
atInterval
,
incCounter
)
So
(
err
,
ShouldBeNil
)
So
(
counter
,
ShouldEqual
,
2
)
})
counter
:=
0
fn
:=
func
()
{
counter
++
}
atInterval
:=
time
.
Second
*
1
ctx
:=
context
.
Background
()
//this time `fn` should be executed
assert
.
Nil
(
t
,
sl
.
LockAndExecute
(
ctx
,
"test-operation"
,
atInterval
,
fn
))
//this should not execute `fn`
assert
.
Nil
(
t
,
sl
.
LockAndExecute
(
ctx
,
"test-operation"
,
atInterval
,
fn
))
assert
.
Nil
(
t
,
sl
.
LockAndExecute
(
ctx
,
"test-operation"
,
atInterval
,
fn
))
// wait 2 second.
<-
time
.
After
(
time
.
Second
*
2
)
// now `fn` should be executed again
err
:=
sl
.
LockAndExecute
(
ctx
,
"test-operation"
,
atInterval
,
fn
)
assert
.
Nil
(
t
,
err
)
assert
.
Equal
(
t
,
counter
,
2
)
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment