Skip to content

Commit a0294ff

Browse files
author
Aishwarya Jagarapu
committed
Add parametric test case
1 parent 70df7a6 commit a0294ff

File tree

2 files changed

+33
-1
lines changed

2 files changed

+33
-1
lines changed

Tutorial/2_TwoPhaseCommit/PTst/TestDriver.p

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,3 +99,26 @@ machine MultipleClientsWithFailure {
9999
}
100100
}
101101
}
102+
103+
104+
// Test parameters
105+
param pNumClients: int;
106+
param pNumParticipants: int;
107+
param pNumTransPerClient: int;
108+
param pNumFailures: int;
109+
110+
machine TestWithConfig {
111+
start state Init {
112+
entry {
113+
var config: t2PCConfig;
114+
config = (
115+
numClients = pNumClients,
116+
numParticipants = pNumParticipants,
117+
numTransPerClient = pNumTransPerClient,
118+
failParticipants = pNumFailures
119+
);
120+
SetUpTwoPhaseCommitSystem(config);
121+
}
122+
}
123+
}
124+

Tutorial/2_TwoPhaseCommit/PTst/TestScripts.p

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,4 +9,13 @@ 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+
15+
test param (
16+
pNumClients in [2,3],
17+
pNumParticipants in [4,6],
18+
pNumTransPerClient in [1,2],
19+
pNumFailures in [0,1]
20+
) tcParameterizedTwoPhaseCommit [main=TestWithConfig]:
21+
assert AtomicityInvariant, Progress in (union TwoPhaseCommit, TwoPCClient, FailureInjector, { TestWithConfig });

0 commit comments

Comments
 (0)