test: Don't block on graph transitions
Improvements in the engine have uncovered some annoying race conditions which would cause the engine to block between transitions. This is a test which catches the most obvious file based ones. This requires inotify to work in the test environment.
This commit is contained in:
30
test/shell/yaml-change1.sh
Executable file
30
test/shell/yaml-change1.sh
Executable file
@@ -0,0 +1,30 @@
|
|||||||
|
#!/bin/bash -e
|
||||||
|
|
||||||
|
#if env | grep -q -e '^TRAVIS=true$'; then
|
||||||
|
# # inotify doesn't seem to work properly on travis
|
||||||
|
# echo "Travis and Jenkins give wonky results here, skipping test!"
|
||||||
|
# exit
|
||||||
|
#fi
|
||||||
|
|
||||||
|
if [ -z $timeout ]; then
|
||||||
|
timeout='timeout'
|
||||||
|
fi
|
||||||
|
|
||||||
|
# set the config file
|
||||||
|
cp -a yaml-change1a.yaml /tmp/mgmt/yaml-change.yaml
|
||||||
|
$timeout --kill-after=30s 20s ./mgmt run --yaml /tmp/mgmt/yaml-change.yaml --tmp-prefix &
|
||||||
|
pid=$!
|
||||||
|
sleep 5s # let it converge
|
||||||
|
grep -q 'hello world' /tmp/mgmt/change1 # check contents are correct
|
||||||
|
|
||||||
|
cp -a yaml-change1b.yaml /tmp/mgmt/yaml-change.yaml # change the config file
|
||||||
|
sleep 2s # let it converge
|
||||||
|
grep -q 'goodbye world' /tmp/mgmt/change1 # check new contents are correct
|
||||||
|
|
||||||
|
cp -a yaml-change1a.yaml /tmp/mgmt/yaml-change.yaml # change the config file
|
||||||
|
sleep 2s # let it converge
|
||||||
|
grep -q 'hello world' /tmp/mgmt/change1 # check contents are correct again
|
||||||
|
|
||||||
|
killall -SIGINT mgmt # send ^C to exit mgmt
|
||||||
|
wait $pid # get exit status
|
||||||
|
exit $?
|
||||||
9
test/shell/yaml-change1a.yaml
Normal file
9
test/shell/yaml-change1a.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
graph: mygraph
|
||||||
|
resources:
|
||||||
|
file:
|
||||||
|
- name: file1
|
||||||
|
path: "/tmp/mgmt/change1"
|
||||||
|
content: 'hello world'
|
||||||
|
state: exists
|
||||||
|
edges: []
|
||||||
9
test/shell/yaml-change1b.yaml
Normal file
9
test/shell/yaml-change1b.yaml
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
---
|
||||||
|
graph: mygraph
|
||||||
|
resources:
|
||||||
|
file:
|
||||||
|
- name: file1
|
||||||
|
path: "/tmp/mgmt/change1"
|
||||||
|
content: 'goodbye world'
|
||||||
|
state: exists
|
||||||
|
edges: []
|
||||||
Reference in New Issue
Block a user