99class ParamTestBase (unittest .TestCase ):
1010 """Base class for testing params"""
1111
12- def set_up (self , design_name ):
12+ def setUp (self , design_name ):
1313 """
1414 Sets up common member variables.
1515 Assumes we're running in flow directory
@@ -18,8 +18,8 @@ def set_up(self, design_name):
1818 self ._platform = "rapidus2hp"
1919 self ._design = design_name
2020 self ._design_dir = os .path .join ("designs" , self ._platform , self ._design )
21- self ._design_full_dir = os .path .join (os .getcwd (), self ._design_dir )
2221 self ._cmd_base = f"make DESIGN_CONFIG={ self ._design_dir } /config.mk"
22+ self ._design_full_dir = os .path .join (os .getcwd (), self ._design_dir )
2323 self ._result_re = re .compile (r"\S+\s+\=\s+(\S+)" )
2424 self ._front_end_list = ["" , "slang" , "verific" ]
2525 self ._ibm_site_list = ["" , "SC6T" , "SC8T" ]
@@ -34,7 +34,9 @@ def get_track_height(self, place_site):
3434 return "6T"
3535 return "8T"
3636
37- def build_cmd (self , place_site , pdk_version , front_end , param_name ):
37+ def build_cmd (
38+ self , place_site , pdk_version , front_end , param_name , flow_variant = None
39+ ):
3840 """Builds the command to execute"""
3941
4042 str_buf = [self ._cmd_base ]
@@ -44,18 +46,27 @@ def build_cmd(self, place_site, pdk_version, front_end, param_name):
4446 str_buf .append (f"RAPIDUS_PDK_VERSION={ pdk_version } " )
4547 if front_end == "verific" :
4648 str_buf .append (f"SYNTH_HDL_FRONTEND={ front_end } " )
49+ if flow_variant and flow_variant != "" :
50+ str_buf .append (f"FLOW_VARIANT={ flow_variant } " )
4751 str_buf .append (f"print-{ param_name } " )
4852 return " " .join (str_buf )
4953
5054 def execute_cmd (self , place_site , pdk_version , front_end , param_name , exp_result ):
5155 """
5256 Executes command
53- check if return code is 0
54- check if value matches expected result
5557 """
5658
5759 test_tag = f"'{ place_site } ' '{ pdk_version } ' '{ front_end } '"
5860 cmd = self .build_cmd (place_site , pdk_version , front_end , param_name )
61+ self .execute_cmd_int (cmd , test_tag , exp_result )
62+
63+ def execute_cmd_int (self , cmd , test_tag , exp_result ):
64+ """
65+ Executes command
66+ check if return code is 0
67+ check if value matches expected result
68+ """
69+
5970 out = subprocess .run (
6071 cmd , check = True , shell = True , capture_output = True , text = True
6172 )
0 commit comments