set=''
tfile=open(TFILE)
fil=open(FILE, 'w')
-
# begin
fil.write('<?xml version="1.0" encoding="UTF-8"?>\n')
fil.write(' <?xml-stylesheet type="text/xsl" href="./testcase.xsl"?>\n')
for element in feature:
fil.write(' <capability name="'+element+'"/>\n')
fil.write(' </capabilities>\n')
+
tcname=fields[0]
tcname=tcname.strip()
+
tcpurpose=''
+
+ script_dir = os.path.dirname(os.path.abspath(__file__))
+ api_dir = os.path.dirname(script_dir)
+ path_to_tc = os.path.join(api_dir, f'src/{BUILD_TYPE}/{MODULE_NAME}')
+
+ if os.path.isdir(path_to_tc):
+ c_files = [f for f in os.listdir(path_to_tc) if f.endswith('.c')]
+ if c_files:
+ grep_command = ['grep', '-B', '20', '-w', tcname] + [os.path.join(path_to_tc, f) for f in c_files]
+ else:
+ return
+ else:
+ return
+
+ try:
+ result = subprocess.run(grep_command, capture_output=True, text=True, check=True)
+ except subprocess.CalledProcessError as e:
+ print("Command failed with error: " + e.stderr + "\n")
+
+ except Exception as e:
+ print("An unexpected error occurred: " + str(e) + "\n")
+
+ output = result.stdout.strip()
+ lines = output.split('\n')
+ reversed_output = '\n'.join(reversed(lines))
+
+ purpose_pattern = re.compile(r'//& purpose:\s*(.*)')
+ description_pattern = re.compile(r'\* @description\s*(.*)')
+
+ purpose_match = purpose_pattern.search(reversed_output)
+ if purpose_match:
+ tcpurpose = purpose_match.group(1).strip()
+ if tcpurpose.startswith('/'):
+ tcpurpose = ""
+ if tcpurpose == "":
+ description_match = description_pattern.search(reversed_output)
+ if description_match:
+ tcpurpose = description_match.group(1).strip()
+ else:
+ tcpurpose = ""
+ if tcpurpose.startswith('/'):
+ tcpurpose = ""
+
+ pattern = r'[&]'
+ tcpurpose = re.sub(pattern, '&', tcpurpose)
+ pattern = r'[<]'
+ tcpurpose = re.sub(pattern, '<', tcpurpose)
+ pattern = r'[>]'
+ tcpurpose = re.sub(pattern, '>', tcpurpose)
+ pattern = r'["]'
+ tcpurpose = re.sub(pattern, '"', tcpurpose)
+
fil.write(' <testcase component="NativeAPI/'+MODULE_NAME_C+'/'+set+'" execution_type="auto" id="'+tcname+'" purpose="'+tcpurpose+'">\n')
fil.write(' <description>\n')
fil.write(' <test_script_entry test_script_expected_result="0">'+'{DEVICE_SUITE_TARGET_30}/external_wrapper.sh '+MODULE_FULL_NAME+' '+tcname+' '+BUILD_TYPE+'</test_script_entry>\n')
shutil.copy(NEWFILE,TFILE)
#####exclude.list#####
-gen(TFILE)
+gen(TFILE)
\ No newline at end of file