@@ -144,3 +144,64 @@ def test_default_set_get_3_runs(env):
144
144
overall_request_count = agg_info_commandstats (master_nodes_connections , merged_command_stats )
145
145
assert_minimum_memtier_outcomes (config , env , memtier_ok , merged_command_stats , overall_expected_request_count ,
146
146
overall_request_count )
147
+
148
+
149
+ def test_key_placeholder (env ):
150
+ env .skipOnCluster ()
151
+ run_count = 1
152
+ benchmark_specs = {"name" : env .testName , "args" : ['--command=HSET __key__ f __data__' ]}
153
+ addTLSArgs (benchmark_specs , env )
154
+ config = get_default_memtier_config ()
155
+ master_nodes_list = env .getMasterNodesList ()
156
+ overall_expected_request_count = get_expected_request_count (config ) * run_count
157
+
158
+ add_required_env_arguments (benchmark_specs , config , env , master_nodes_list )
159
+
160
+ # Create a temporary directory
161
+ test_dir = tempfile .mkdtemp ()
162
+
163
+ config = RunConfig (test_dir , env .testName , config , {})
164
+ ensure_clean_benchmark_folder (config .results_dir )
165
+
166
+ benchmark = Benchmark .from_json (config , benchmark_specs )
167
+
168
+ # benchmark.run() returns True if the return code of memtier_benchmark was 0
169
+ memtier_ok = benchmark .run ()
170
+ debugPrintMemtierOnError (config , env , memtier_ok )
171
+
172
+ master_nodes_connections = env .getOSSMasterNodesConnectionList ()
173
+ merged_command_stats = {'cmdstat_hset' : {'calls' : 0 }}
174
+ overall_request_count = agg_info_commandstats (master_nodes_connections , merged_command_stats )
175
+ assert_minimum_memtier_outcomes (config , env , memtier_ok , merged_command_stats , overall_expected_request_count ,
176
+ overall_request_count )
177
+
178
+
179
+ # key placeholder combined with other data
180
+ def test_key_placeholder_togetherwithdata (env ):
181
+ env .skipOnCluster ()
182
+ run_count = 1
183
+ benchmark_specs = {"name" : env .testName , "args" : ['--command=HSET prefix:__key__:suffix f __data__' ]}
184
+ addTLSArgs (benchmark_specs , env )
185
+ config = get_default_memtier_config ()
186
+ master_nodes_list = env .getMasterNodesList ()
187
+ overall_expected_request_count = get_expected_request_count (config ) * run_count
188
+
189
+ add_required_env_arguments (benchmark_specs , config , env , master_nodes_list )
190
+
191
+ # Create a temporary directory
192
+ test_dir = tempfile .mkdtemp ()
193
+
194
+ config = RunConfig (test_dir , env .testName , config , {})
195
+ ensure_clean_benchmark_folder (config .results_dir )
196
+
197
+ benchmark = Benchmark .from_json (config , benchmark_specs )
198
+
199
+ # benchmark.run() returns True if the return code of memtier_benchmark was 0
200
+ memtier_ok = benchmark .run ()
201
+ debugPrintMemtierOnError (config , env , memtier_ok )
202
+
203
+ master_nodes_connections = env .getOSSMasterNodesConnectionList ()
204
+ merged_command_stats = {'cmdstat_hset' : {'calls' : 0 }}
205
+ overall_request_count = agg_info_commandstats (master_nodes_connections , merged_command_stats )
206
+ assert_minimum_memtier_outcomes (config , env , memtier_ok , merged_command_stats , overall_expected_request_count ,
207
+ overall_request_count )
0 commit comments