38
38
from pymongo .write_concern import WriteConcern
39
39
40
40
from test import unittest , client_context , IntegrationTest , SkipTest , client_knobs
41
- from test .test_crud_v1 import check_result as crud_v1_check_result
42
41
from test .utils import (rs_or_single_client ,
43
42
DeprecationFilter ,
44
43
OvertCommandListener ,
@@ -62,20 +61,15 @@ def get_scenario_coll_name(self, scenario_def):
62
61
return scenario_def .get ('collection_name' , 'test' )
63
62
64
63
def run_test_ops (self , sessions , collection , test ):
64
+ # Transform retryable writes spec format into transactions.
65
+ operation = test ['operation' ]
65
66
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 )
79
73
80
74
81
75
def create_test (scenario_def , test , name ):
0 commit comments