--- /dev/null
+\r
+Microsoft Visual Studio Solution File, Format Version 12.00\r
+# Visual Studio Version 16\r
+VisualStudioVersion = 16.0.29613.14\r
+MinimumVisualStudioVersion = 10.0.40219.1\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launcher_TC_TOOL_09", "Launcher_TC_TOOL_09\Launcher_TC_TOOL_09\Launcher_TC_TOOL_09.csproj", "{B27E2BEF-15AE-474C-AF4F-D693ECEB4044}"\r
+EndProject\r
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Launcher_TC_TOOL_09.Tizen", "Launcher_TC_TOOL_09\Launcher_TC_TOOL_09.Tizen\Launcher_TC_TOOL_09.Tizen.csproj", "{B924E435-937E-4C43-8E7D-A81138D91C1B}"\r
+EndProject\r
+Global\r
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution\r
+ Debug|Any CPU = Debug|Any CPU\r
+ Release|Any CPU = Release|Any CPU\r
+ EndGlobalSection\r
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution\r
+ {B27E2BEF-15AE-474C-AF4F-D693ECEB4044}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {B27E2BEF-15AE-474C-AF4F-D693ECEB4044}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {B27E2BEF-15AE-474C-AF4F-D693ECEB4044}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {B27E2BEF-15AE-474C-AF4F-D693ECEB4044}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ {B924E435-937E-4C43-8E7D-A81138D91C1B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU\r
+ {B924E435-937E-4C43-8E7D-A81138D91C1B}.Debug|Any CPU.Build.0 = Debug|Any CPU\r
+ {B924E435-937E-4C43-8E7D-A81138D91C1B}.Release|Any CPU.ActiveCfg = Release|Any CPU\r
+ {B924E435-937E-4C43-8E7D-A81138D91C1B}.Release|Any CPU.Build.0 = Release|Any CPU\r
+ EndGlobalSection\r
+ GlobalSection(SolutionProperties) = preSolution\r
+ HideSolutionNode = FALSE\r
+ EndGlobalSection\r
+ GlobalSection(ExtensibilityGlobals) = postSolution\r
+ SolutionGuid = {E3C6E5D0-17F2-4BBD-A824-34CE92D118E4}\r
+ EndGlobalSection\r
+EndGlobal\r
return "PASS"
-#def TC_19():
+# The `Launcher_TC_TOOL_09` application of read-only type generates native image.
+def TC_19():
+ sln_name = "Launcher_TC_TOOL_09.Tizen"
+
+ tpk_path = get_tpk_path(tpk_list, f"{sln_name}")
+ if tpk_path == None:
+ return f"FAIL : Get the tpk path for {sln_name}"
+
+ raw = cmd(f"push {tpk_path} /usr/apps/.preload-tpk/")
+ if "1 file(s) pushed. 0 file(s) skipped." in raw:
+ cmd(f"shell install_preload_pkg")
+
+ pkg_id = f"org.tizen.example.Launcher_TC_TOOL_09.Tizen"
+
+ root_path = get_root_path(f"{pkg_id}")
+ if root_path == "None":
+ return f"FAIL : Get the root path for {pkg_id}"
+
+ if exist(f"{root_path}/bin/.native_image"):
+ return "FAIL : The .native_image folder not should exist"
+
+ cmd(f"shell dotnettool --ni-ro-pkg {pkg_id}")
+
+ if not exist(f"{DOTNET_DIR}apps/{pkg_id}/bin/.native_image"):
+ return "FAIL : The .native_image folder should exist"
+
+ raw = cmd(f"shell find {DOTNET_DIR}apps/{pkg_id}/bin/.native_image/ -name *.ni.dll")
+ lines1 = [l for l in raw.splitlines()]
+ raw = cmd(f"shell find {root_path}/bin/ -maxdepth 1 -name *.dll -not -name *.ni.dll")
+ lines2 = [l for l in raw.splitlines()]
+ if len(lines1) != len(lines2):
+ return "FAIL : The number of .dll and .ni.dll must match in the application"
+
+ for ni in lines1:
+ is_same = False
+ for dll in lines2:
+ if Path(ni).name.replace(".ni.dll", "") == Path(dll).name.replace(".dll", ""):
+ is_same = True
+ break
+ if not is_same:
+ return "FAIL : The file name of .dll and .ni.dll must match in the application"
+
+ return "PASS"
+
+#def TC_20():
#dotnettool --resolve-all-app
cmd(f"shell rm -rf {IBCDATA_DIR}")
cmd(f"shell rm -rf {DOTNET_DIR}apps/org.tizen.example.Launcher_TC_TOOL_08.Tizen")
+ cmd(f"shell rm -rf {DOTNET_DIR}apps/org.tizen.example.Launcher_TC_TOOL_09.Tizen")
# Main entry point
def main():
else:
tc_array.append(funcMap[tc_num])
else:
- tc_array = [TC_01, TC_02, TC_03, TC_04, TC_05, TC_06, TC_07, TC_08, TC_09, TC_10, TC_11, TC_12, TC_13, TC_14, TC_15, TC_16, TC_17, TC_18]
+ tc_array = [TC_01, TC_02, TC_03, TC_04, TC_05, TC_06, TC_07, TC_08, TC_09, TC_10, TC_11, TC_12, TC_13, TC_14, TC_15, TC_16, TC_17, TC_18, TC_19]
global serial
if len(sys.argv) >= 2 and "TC_" not in sys.argv[1]:
funcMap = {
'TC_01': TC_01, 'TC_02': TC_02, 'TC_03': TC_03, 'TC_04': TC_04, 'TC_05': TC_05, 'TC_06': TC_06,
'TC_07': TC_07, 'TC_08': TC_08, 'TC_09': TC_09, 'TC_10': TC_10, 'TC_11': TC_11, 'TC_12': TC_12,
-'TC_13': TC_13, 'TC_14': TC_14, 'TC_15': TC_15, 'TC_16': TC_16, 'TC_17': TC_17, 'TC_18': TC_17_18,
+'TC_13': TC_13, 'TC_14': TC_14, 'TC_15': TC_15, 'TC_16': TC_16, 'TC_17': TC_17, 'TC_18': TC_17_18, 'TC_19': TC_19,
'TOOL_TC_01': TC_01, 'TOOL_TC_02': TC_02, 'TOOL_TC_03': TC_03, 'TOOL_TC_04': TC_04, 'TOOL_TC_05': TC_05, 'TOOL_TC_06': TC_06,
'TOOL_TC_07': TC_07, 'TOOL_TC_08': TC_08, 'TOOL_TC_09': TC_09, 'TOOL_TC_10': TC_10, 'TOOL_TC_11': TC_11, 'TOOL_TC_12': TC_12,
-'TOOL_TC_13': TC_13, 'TOOL_TC_14': TC_14, 'TOOL_TC_15': TC_15, 'TOOL_TC_16': TC_16, 'TOOL_TC_17': TC_17, 'TOOL_TC_18': TC_17_18
+'TOOL_TC_13': TC_13, 'TOOL_TC_14': TC_14, 'TOOL_TC_15': TC_15, 'TOOL_TC_16': TC_16, 'TOOL_TC_17': TC_17, 'TOOL_TC_18': TC_17_18, 'TOOL_TC_19': TC_19
}