3838from pymongo .write_concern import WriteConcern
3939
4040from test import unittest , client_context , IntegrationTest , SkipTest , client_knobs
41- from test .test_crud_v1 import check_result as crud_v1_check_result
4241from test .utils import (rs_or_single_client ,
4342 DeprecationFilter ,
4443 OvertCommandListener ,
@@ -62,20 +61,15 @@ def get_scenario_coll_name(self, scenario_def):
6261 return scenario_def .get ('collection_name' , 'test' )
6362
6463 def run_test_ops (self , sessions , collection , test ):
64+ # Transform retryable writes spec format into transactions.
65+ operation = test ['operation' ]
6566 outcome = test ['outcome' ]
66- should_fail = outcome .get ('error' )
67- result = None
68- error = None
69- try :
70- result = self .run_operation (
71- sessions , collection , test ['operation' ])
72- except (ConnectionFailure , OperationFailure ) as exc :
73- error = exc
74- if should_fail :
75- self .assertIsNotNone (error , 'should have raised an error' )
76- else :
77- self .assertIsNone (error )
78- crud_v1_check_result (self , outcome ['result' ], result )
67+ if 'error' in outcome :
68+ operation ['error' ] = outcome ['error' ]
69+ if 'result' in outcome :
70+ operation ['result' ] = outcome ['result' ]
71+ test ['operations' ] = [operation ]
72+ super (TestAllScenarios , self ).run_test_ops (sessions , collection , test )
7973
8074
8175def create_test (scenario_def , test , name ):
0 commit comments