@@ -302,15 +302,15 @@ def generate_payload(self, scenario: bzt.engine.Scenario):
302302
303303 if self .input_strings :
304304 with open (self .input_strings , 'w' ) as fp :
305- fp .writelines (x + "\n " for x in str_list )
305+ fp .writelines (x + "\n " for x in str_list [ 1 :] )
306306
307307 else :
308308 self .input_strings = self .engine .find_file (scenario .get ("input-strings" ))
309309
310310 return uses_regex
311311
312312 def _generate_payload_inner (self , scenario ):
313- str_list = []
313+ str_list = ["" ] # we always assume #0 is empty str, because encarno binary does
314314 all_consumes = set ()
315315 all_extracts = set ()
316316
@@ -388,16 +388,16 @@ def _get_metadata_indexed(self, request, host, consumes, ext_tpls, asserts, str_
388388
389389 metadata = {
390390 "plen" : len (tcp_payload .encode ('utf-8' )),
391- "a" : str_list .index (host ) + 1 ,
392- "l" : str_list .index (request .label ) + 1 ,
391+ "a" : str_list .index (host ),
392+ "l" : str_list .index (request .label ),
393393 }
394394
395395 for val in consumes :
396396 if val not in str_list :
397397 str_list .append (val )
398398
399399 if consumes :
400- metadata ["r" ] = [str_list .index (x ) + 1 for x in consumes ]
400+ metadata ["r" ] = [str_list .index (x ) for x in consumes ]
401401
402402 if ext_tpls :
403403 metadata ["e" ] = []
@@ -406,7 +406,7 @@ def _get_metadata_indexed(self, request, host, consumes, ext_tpls, asserts, str_
406406 if s_data not in str_list :
407407 str_list .append (s_data )
408408
409- metadata ["e" ].append (str_list .index (s_data ) + 1 )
409+ metadata ["e" ].append (str_list .index (s_data ))
410410
411411 if asserts :
412412 metadata ["c" ] = []
@@ -415,7 +415,7 @@ def _get_metadata_indexed(self, request, host, consumes, ext_tpls, asserts, str_
415415 if item not in str_list :
416416 str_list .append (item )
417417
418- metadata ["c" ].append (str_list .index (item ) + 1 )
418+ metadata ["c" ].append (str_list .index (item ))
419419
420420 return metadata
421421
@@ -598,7 +598,7 @@ def __init__(self, filename, str_filename, parent_logger, health_filename):
598598 self .log = parent_logger .getChild (self .__class__ .__name__ )
599599 self .file = FileReader (filename = filename , file_opener = lambda x : open (x , 'rb' ), parent_logger = self .log )
600600 self .str_file = FileReader (filename = str_filename , parent_logger = self .log )
601- self .str_map = {}
601+ self .str_map = {0 : "" }
602602 self .partial_buffer = bytes ()
603603 self .health_reader = HealthReader (health_filename , parent_logger )
604604
@@ -658,7 +658,7 @@ def _get_strindex(self, idx):
658658 self .log .error ("String index %s is not present in %s even after retries" , idx , self .str_file .name )
659659 return "INDEX_NOT_FOUND"
660660
661- return self .str_map [idx - 1 ]
661+ return self .str_map [idx ]
662662
663663
664664class HealthReader :
0 commit comments