Skip to content

Commit 37cbc3e

Browse files
author
Aishwarya Jagarapu
committed
add parametric tests - TwoPhaseCommit
1 parent 70df7a6 commit 37cbc3e

File tree

2 files changed

+35
-1
lines changed

2 files changed

+35
-1
lines changed

Tutorial/2_TwoPhaseCommit/PTst/TestDriver.p

Lines changed: 26 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,29 @@ machine MultipleClientsWithFailure {
9999
}
100100
}
101101
}
102+
103+
104+
/*
105+
This machine creates the participants, coordinator, Failure injector, and clients based on the params passed
106+
*/
107+
108+
param pNumClients: int;
109+
param pNumParticipants: int;
110+
param pNumTransPerClient: int;
111+
param pNumFailures: int;
112+
113+
machine TestWithConfig {
114+
start state Init {
115+
entry {
116+
var config: t2PCConfig;
117+
config = (
118+
numClients = pNumClients,
119+
numParticipants = pNumParticipants,
120+
numTransPerClient = pNumTransPerClient,
121+
failParticipants = pNumFailures
122+
);
123+
SetUpTwoPhaseCommitSystem(config);
124+
}
125+
}
126+
}
127+

Tutorial/2_TwoPhaseCommit/PTst/TestScripts.p

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,12 @@ test tcMultipleClientsNoFailure [main = MultipleClientsNoFailure]:
99

1010
// asserts the liveness monitor along with the default properties
1111
test tcMultipleClientsWithFailure [main = MultipleClientsWithFailure]:
12-
assert Progress in (union TwoPhaseCommit, TwoPCClient, FailureInjector, { MultipleClientsWithFailure });
12+
assert Progress in (union TwoPhaseCommit, TwoPCClient, FailureInjector, { MultipleClientsWithFailure });
13+
14+
test param (
15+
pNumClients in [2,3],
16+
pNumParticipants in [4,6],
17+
pNumTransPerClient in [1,2],
18+
pNumFailures in [0,1]
19+
) tcParameterizedTwoPhaseCommit [main=TestWithConfig]:
20+
assert Progress in (union TwoPhaseCommit, TwoPCClient, FailureInjector, { TestWithConfig });

0 commit comments

Comments
 (0)