leave-joint
----
can't leave a non-joint config

enter-joint
----
can't make a zero-voter config joint

enter-joint
v1
----
can't make a zero-voter config joint

simple
v1
----
voters=(1)
1: StateProbe match=0 next=3

leave-joint
----
can't leave a non-joint config

# Can enter into joint config.
enter-joint
----
voters=(1)&&(1)
1: StateProbe match=0 next=3

enter-joint
----
config is already joint

leave-joint
----
voters=(1)
1: StateProbe match=0 next=3

leave-joint
----
can't leave a non-joint config

# Can enter again, this time with some ops.
enter-joint
r1 v2 v3 l4
----
voters=(2 3)&&(1) learners=(4)
1: StateProbe match=0 next=3
2: StateProbe match=0 next=9
3: StateProbe match=0 next=9
4: StateProbe match=0 next=9 learner

enter-joint
----
config is already joint

enter-joint
v12
----
config is already joint

simple
l15
----
can't apply simple config change in joint config

leave-joint
----
voters=(2 3) learners=(4)
2: StateProbe match=0 next=9
3: StateProbe match=0 next=9
4: StateProbe match=0 next=9 learner

simple
l9
----
voters=(2 3) learners=(4 9)
2: StateProbe match=0 next=9
3: StateProbe match=0 next=9
4: StateProbe match=0 next=9 learner
9: StateProbe match=0 next=14 learner
