Skip to content

Commit 4a1069c

Browse files
committed
t: automatically generate test UIDs
Problem: As mentioned in #480, there are a number of tests throughout the test suite that explicitly define UIDs for users created and used for various tests in flux-accounting, but these have a potential of conflicting with system-defined UIDs. Add definitions for test UIDs in sharness.d/flux-accounting.sh. Replace the use of explicitly defined UIDs in t1019-mf-priority-info-fetch.t with the UIDs defined in flux-accounting.sh.
1 parent aa4019f commit 4a1069c

2 files changed

Lines changed: 21 additions & 15 deletions

File tree

t/sharness.d/flux-accounting.sh

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,10 @@ prepend_colon_separated FLUX_PYTHONPATH_PREPEND ${SRC_DIR}/src/bindings/python
1616

1717
export FLUX_EXEC_PATH_PREPEND FLUX_PYTHONPATH_PREPEND
1818

19+
TEST_UID1=$(($(id -u)+1))
20+
TEST_UID2=$(($(id -u)+2))
21+
TEST_UID3=$(($(id -u)+3))
22+
TEST_UID4=$(($(id -u)+4))
23+
TEST_UID5=$(($(id -u)+5))
24+
1925
# vi: ts=4 sw=4 expandtab

t/t1019-mf-priority-info-fetch.t

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,8 @@ test_expect_success 'add some projects to the DB' '
6161
'
6262

6363
test_expect_success 'add a user with two different banks to the DB' '
64-
flux account add-user --username=user5001 --userid=5001 --bank=account1 --max-running-jobs=2 &&
65-
flux account add-user --username=user5001 --userid=5001 --bank=account2
64+
flux account add-user --username=user1 --userid=${TEST_UID1} --bank=account1 --max-running-jobs=2 &&
65+
flux account add-user --username=user1 --userid=${TEST_UID1} --bank=account2
6666
'
6767

6868
test_expect_success 'send flux-accounting DB information to the plugin' '
@@ -72,22 +72,22 @@ test_expect_success 'send flux-accounting DB information to the plugin' '
7272
test_expect_success HAVE_JQ 'fetch plugin state' '
7373
flux jobtap query mf_priority.so > query_1.json &&
7474
test_debug "jq -S . <query_1.json" &&
75-
jq -e ".mf_priority_map[] | select(.userid == 5001) | .banks[0].bank_name == \"account1\"" <query_1.json &&
76-
jq -e ".mf_priority_map[] | select(.userid == 5001) | .banks[1].bank_name == \"account2\"" <query_1.json
75+
jq -e ".mf_priority_map[] | select(.userid == ${TEST_UID1}) | .banks[0].bank_name == \"account1\"" <query_1.json &&
76+
jq -e ".mf_priority_map[] | select(.userid == ${TEST_UID1}) | .banks[1].bank_name == \"account2\"" <query_1.json
7777
'
7878

7979
test_expect_success 'submit max number of jobs under default bank (1 held job due to max_run_jobs limit)' '
80-
jobid1=$(flux python ${SUBMIT_AS} 5001 sleep 60) &&
81-
jobid2=$(flux python ${SUBMIT_AS} 5001 sleep 60) &&
82-
jobid3=$(flux python ${SUBMIT_AS} 5001 sleep 60)
80+
jobid1=$(flux python ${SUBMIT_AS} ${TEST_UID1} sleep 60) &&
81+
jobid2=$(flux python ${SUBMIT_AS} ${TEST_UID1} sleep 60) &&
82+
jobid3=$(flux python ${SUBMIT_AS} ${TEST_UID1} sleep 60)
8383
'
8484

8585
test_expect_success HAVE_JQ 'fetch plugin state and make sure that jobs are reflected in JSON object' '
8686
flux jobtap query mf_priority.so > query_2.json &&
8787
test_debug "jq -S . <query_2.json" &&
88-
jq -e ".mf_priority_map[] | select(.userid == 5001) | .banks[0].held_jobs | length == 1" <query_2.json &&
89-
jq -e ".mf_priority_map[] | select(.userid == 5001) | .banks[0].cur_run_jobs == 2" <query_2.json &&
90-
jq -e ".mf_priority_map[] | select(.userid == 5001) | .banks[0].cur_active_jobs == 3" <query_2.json
88+
jq -e ".mf_priority_map[] | select(.userid == ${TEST_UID1}) | .banks[0].held_jobs | length == 1" <query_2.json &&
89+
jq -e ".mf_priority_map[] | select(.userid == ${TEST_UID1}) | .banks[0].cur_run_jobs == 2" <query_2.json &&
90+
jq -e ".mf_priority_map[] | select(.userid == ${TEST_UID1}) | .banks[0].cur_active_jobs == 3" <query_2.json
9191
'
9292

9393
test_expect_success 'cancel jobs in reverse order so last job does not get alloc event' '
@@ -98,8 +98,8 @@ test_expect_success 'cancel jobs in reverse order so last job does not get alloc
9898

9999
test_expect_success 'add another user to flux-accounting DB and send it to plugin' '
100100
flux account add-user \
101-
--username=user5002 \
102-
--userid=5002 \
101+
--username=user2 \
102+
--userid=${TEST_UID2} \
103103
--bank=account3 \
104104
--queues="bronze" \
105105
--projects="A,B" \
@@ -110,9 +110,9 @@ test_expect_success 'add another user to flux-accounting DB and send it to plugi
110110
test_expect_success HAVE_JQ 'fetch plugin state again with multiple users' '
111111
flux jobtap query mf_priority.so > query_3.json &&
112112
test_debug "jq -S . <query_3.json" &&
113-
jq -e ".mf_priority_map[] | select(.userid == 5001) | .banks[0].bank_name == \"account1\"" <query_3.json &&
114-
jq -e ".mf_priority_map[] | select(.userid == 5001) | .banks[1].bank_name == \"account2\"" <query_3.json &&
115-
jq -e ".mf_priority_map[] | select(.userid == 5002) | .banks[0].bank_name == \"account3\"" <query_3.json
113+
jq -e ".mf_priority_map[] | select(.userid == ${TEST_UID1}) | .banks[0].bank_name == \"account1\"" <query_3.json &&
114+
jq -e ".mf_priority_map[] | select(.userid == ${TEST_UID1}) | .banks[1].bank_name == \"account2\"" <query_3.json &&
115+
jq -e ".mf_priority_map[] | select(.userid == ${TEST_UID2}) | .banks[0].bank_name == \"account3\"" <query_3.json
116116
'
117117

118118
test_expect_success 'shut down flux-accounting service' '

0 commit comments

Comments
 (0)