# Test Case for dotnet-launcher - INSTALLER-PLUGIN This script(PLUGIN.py) is a test that verifies the behavior of **install plugin**. check the delete_unused_library_plugin, prefer_dotnet_aot_plugin and prefer_nuget_cache_plugin. ``` ``` ### Usage * Build tpk Must be run(./BuildTPK.py) at least once. ``` launcher/tests/Apps$ ./BuildTPK.py ``` * Run **INSTALLER-PLUGIN** test ``` launcher/tests/TCs$ ./2_PLUGIN/PLUGIN.py launcher/tests/TCs/2_PLUGIN$ ./PLUGIN.py ``` * Run individual test ``` launcher/tests/TCs/2_PLUGIN$ ./PLUGIN.py TC_01 ``` ### Description * TC_01 ``` PASS : The Launcher_TC_PLUGIN_01 application should not have a library of other OS. ``` 1. Nuget without `Tizen(tizen-armel, tizen-x86, ...)` related library is used. 2. The library does not exist in the application. * TC_02 ``` PASS : The Launcher_TC_PLUGIN_02 application must have a library of Tizen OS. ``` 1. Nuget with `Tizen(tizen-armel, tizen-x86, ...)` related library is used. 2. The library exists in the application. * TC_03 ``` PASS : The Launcher_TC_PLUGIN_03 application does not generate native image. ``` 1. The `System.Private.CoreLib.ni.dll`(SPC.dll.Backup) file exists. 2. The `prefer_dotnet_aot` metadata value is `false` in the manifest. 3. The `.native_image` folder and `.ni.dll` files do not exist. * TC_04 ``` PASS : The Launcher_TC_PLUGIN_04 application generates native image. ``` 1. The `System.Private.CoreLib.ni.dll`(SPC.dll.Backup) file exists. 2. The `prefer_dotnet_aot` metadata value is `true` in the manifest. 3. The `.native_image` folder and `.ni.dll` files exist. 4. The number of `.dll` and `.ni.dll` in the application is the same. 5. The file name of `.dll` and `.ni.dll` must match in the application * TC_05 ``` PASS : The Launcher_TC_PLUGIN_05 application must not have TAC applied. ``` 1. The `prefer_nuget_cache` metadata value is `false` in the manifest. 2. The `.tac_symlink` folder should not exist. * TC_06 ``` PASS : The Launcher_TC_PLUGIN_06 application must have TAC applied. ``` 1. The `prefer_nuget_cache` metadata value is `true` in the manifest. 2. The `.tac_symlink` folder and `symbolic link` files exist. 3. The number of `.dll` in the `.tac_symlink` folder and `.dll` in the `TAC` must match. 4. The original file of the `symbolic link` must exist in the `TAC`. * TC_07 ``` PASS : The Launcher_TC_PLUGIN_07 application must not have TLC applied. ``` 1. The `prefer_nuget_cache` metadata value is `false` in the manifest. 2. The nuget used has a TFM folder related to Tizen. 3. The `library(.so)` should exist only in the application. 4. The `library(.so)` should not be a symbolic link. 5. The arch of the target and the arch of the library must match. * TC_08 ``` PASS : The Launcher_TC_PLUGIN_08 application must have TLC applied. ``` 1. The `prefer_nuget_cache` metadata value is `true` in the manifest. 2. The nuget used has a TFM folder related to Tizen. 3. The `library(.so)` with `same SHA` value must exist in the application and TLC. 4. The `library(.so)` should be a symbolic link. 5. The arch of the target and the arch of the library must match. * TC_09 ``` PASS : The Launcher_TC_PLUGIN_09 application must have a ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file exist. ``` 1. Applications without Internet privilege must have a ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file. * TC_10 ``` PASS : The Launcher_TC_PLUGIN_10 application must not have a ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file. ``` 1. Applications with Internet privilege must not have a ._TIZEN_DOTNET_SYSTEM_NET_DISABLEIPV6 file. ---- ### Note * Precondition - Clone the **dotnet-launcher** repository. - The prerequisites are **sdb** and **python3.6+**. - The script must be run on the **host PC**. * SDBs sdb with a smart device selector. ``` [1] 192.168.250.250 - 0 [2] 002c02f56c7d6c66 - TW3 Select a device [1-2]: 2 ```