Skip to content

Commit

Permalink
t/t0013-config-file.t: test config file bootstrap
Browse files Browse the repository at this point in the history
  • Loading branch information
garlick committed Jan 30, 2018
1 parent 42658f7 commit 3e34a0e
Show file tree
Hide file tree
Showing 9 changed files with 154 additions and 1 deletion.
11 changes: 10 additions & 1 deletion t/Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ TESTS = \
t0010-generic-utils.t \
t0011-content-cache.t \
t0012-content-sqlite.t \
t0013-config-file.t \
t0014-runlevel.t \
t0015-cron.t \
t0016-cron-faketime.t \
Expand Down Expand Up @@ -118,6 +119,7 @@ check_SCRIPTS = \
t0010-generic-utils.t \
t0011-content-cache.t \
t0012-content-sqlite.t \
t0013-config-file.t \
t0014-runlevel.t \
t0015-cron.t \
t0016-cron-faketime.t \
Expand Down Expand Up @@ -203,7 +205,14 @@ dist_check_DATA = \
hwloc-data/1N/shared/02-brokers/1.xml \
hwloc-data/1N/nonoverlapping/02-brokers/0.xml \
hwloc-data/1N/nonoverlapping/02-brokers/1.xml \
valgrind/valgrind.supp
valgrind/valgrind.supp \
conf.d/private.conf \
conf.d/shared.conf \
conf.d/bad-toml.conf \
conf.d/bad-missing.conf \
conf.d/bad-rank.conf \
conf.d/priv2.0.conf \
conf.d/priv2.1.conf

dist_check_SCRIPTS = \
scripts/event-trace.lua \
Expand Down
3 changes: 3 additions & 0 deletions t/conf.d/bad-missing.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
session-id = "test"

# missing tbon-endpoints array
10 changes: 10 additions & 0 deletions t/conf.d/bad-rank.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
session-id = "test"

size = 1

# rank is out of range
rank = -1

tbon-endpoints = [
"ipc://@test",
]
1 change: 1 addition & 0 deletions t/conf.d/bad-toml.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bad-toml
11 changes: 11 additions & 0 deletions t/conf.d/priv2.0.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
session-id = "test2"

size = 2
rank = 0

# The @ prefix says use the "abstract namespace"
# See unix(7), zmq_ipc(7)
tbon-endpoints = [
"ipc://@flux-test-2-0",
"ipc://@flux-test-2-1",
]
11 changes: 11 additions & 0 deletions t/conf.d/priv2.1.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
session-id = "test2"

size = 2
rank = 1

# The @ prefix says use the "abstract namespace"
# See unix(7), zmq_ipc(7)
tbon-endpoints = [
"ipc://@flux-test-2-0",
"ipc://@flux-test-2-1",
]
8 changes: 8 additions & 0 deletions t/conf.d/private.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
session-id = "test"

size = 1
rank = 0

tbon-endpoints = [
"ipc://@flux-test-1-0",
]
5 changes: 5 additions & 0 deletions t/conf.d/shared.conf
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
session-id = "test"

tbon-endpoints = [
"tcp://127.0.0.1:8500",
]
95 changes: 95 additions & 0 deletions t/t0013-config-file.t
Original file line number Diff line number Diff line change
@@ -0,0 +1,95 @@
#!/bin/sh
#

test_description='Test config file overlay bootstrap'

. `dirname $0`/sharness.sh

TCONFDIR=${FLUX_SOURCE_DIR}/t/conf.d

#
# check boot.method
#

test_expect_success 'flux broker with explicit PMI boot method works' '
flux broker -Sboot.method=pmi /bin/true
'

test_expect_success 'flux broker with unknown boot method fails' '
test_must_fail flux broker -Sboot.method=badmethod /bin/true
'

#
# check boot.config_file
#

test_expect_success 'flux broker without boot.config_file fails' '
test_must_fail flux broker -Sboot.method=config /bin/true
'

test_expect_success 'flux broker with boot.config_file=/badfile fails' '
test_must_fail flux broker -Sboot.method=config \
-Sboot.config_file=/badfile /bin/true
'

test_expect_success 'flux broker with boot.config_file=bad-toml fails' '
test_must_fail flux broker -Sboot.method=config \
-Sboot.config_file=${TCONFDIR}/bad-toml.conf /bin/true
'

test_expect_success 'flux broker with missing required items fails' '
test_must_fail flux broker -Sboot.method=config \
-Sboot.config_file=${TCONFDIR}/bad-missing.conf /bin/true
'

test_expect_success 'flux broker with boot.config_file=bad-rank fails' '
test_must_fail flux broker -Sboot.method=config \
-Sboot.config_file=${TCONFDIR}/bad-rank.conf /bin/true
'

#
# trigger config_file boot failure due to incompat attr setting
#

test_expect_success 'flux broker with incompat attrs fails' '
test_must_fail flux broker -Sboot.method=config \
-Sboot.config_file=${TCONFDIR}/shared.conf \
-Ssession-id=xyz \
/bin/true
'

#
# size=1 boot from config file
#

test_expect_success 'start size=1 with shared config file, expected attrs set' '
run_timeout 5 flux broker -Sboot.method=config \
-Sboot.config_file=${TCONFDIR}/shared.conf \
flux lsattr -v >1s.out &&
grep -q "session-id[ ]*test$" 1s.out &&
grep -q "tbon.endpoint[ ]*tcp://127.0.0.1:8500$" 1s.out &&
grep -q "mcast.endpoint[ ]*tbon$" 1s.out
'

test_expect_success 'start size=1 with private config file' '
run_timeout 5 flux broker -Sboot.method=config \
-Sboot.config_file=${TCONFDIR}/private.conf /bin/true
'

#
# size=2 boot from config file
#

test_expect_success 'start size=2 with private config files' '
flux broker -Sboot.method=config \
-Sboot.config_file=${TCONFDIR}/priv2.0.conf \
flux exec flux getattr tbon.endpoint >2p.out &
run_timeout 5 flux broker -Sboot.method=config \
-Sboot.config_file=${TCONFDIR}/priv2.1.conf &&
run_timeout 5 wait &&
echo "ipc://@flux-test-2-0" >2p.exp &&
echo "ipc://@flux-test-2-1" >>2p.exp &&
test_cmp 2p.exp 2p.out
'

test_done

0 comments on commit 3e34a0e

Please sign in to comment.