Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plugin test suite와 plugin page변경 관련 문의 #363

Closed
yman-son opened this issue Apr 18, 2022 · 5 comments
Closed

Plugin test suite와 plugin page변경 관련 문의 #363

yman-son opened this issue Apr 18, 2022 · 5 comments
Labels
question Further information is requested

Comments

@yman-son
Copy link

yman-son commented Apr 18, 2022

안녕하세요. VD사업부 손용만입니다.

TV내에서 Tizen-Flutter가 정상동작 여부를 검토중 요청 사항이 있어 메일 드립니다.

Tizen Flutter team에서 개발한 여러 Plugin이 있고, 이것의 정상동작 가능 여부를 검토하기에
plugin기능이나 API갯수가 다수 있어서 직접 sample app을 만들어 테스트하기 어려움이 있습니다.
개발시 작성하신 TC나 sample app들이 있으시면 공유 부탁 드립니다.

감사합니다.

@swift-kim
Copy link
Member

안녕하세요.

개별 plugin 별로 example 앱과 integration test가 존재하며 (예: audioplayers_tizen) 지원되는 기기에서 실행해보실 수 있습니다.

cd packages/audioplayers/example
flutter-tizen pub get
flutter-tizen run
flutter-tizen test integration_test

전체나 여러 plugin들을 한번에 테스트할 수 있는 sample app은 현재 마련되어있지 않습니다. Test의 검증은 TV emulator에서 이루어지고 있습니다 (workflowrecipe 참조).

@swift-kim swift-kim added the question Further information is requested label Apr 18, 2022
@yman-son
Copy link
Author

저도 일단 개별 plugin에 대해 테스트를 진행해 보겠습니다.

여러 plugin들을 테스트 가능한 부분에 대해서는 개발된다면 나중에 유용하게 사용할 수 있을 것 같습니다.
tizen 버전별로 flutter-tizen plugin or 전체 기능이 제대로 동작하는지 여부등을 확인하는데 좋을 것 같습니다.

@yman-son
Copy link
Author

yman-son commented Apr 20, 2022

안녕하세요!
말씀하신 방법으로 plugin들을 TV에서 테스틀 결과 아래 URL과 크게 다르지 않은 결과를 얻었습니다.
https://github.com/flutter-tizen/plugins#device-limitations

진행 후 궁금한 부분이 있어 글을 남깁니다. (자세한 내용은 아래 URL참조)
http://wiki.vd.sec.samsung.net/display/WAC/Plugin+Test+Result

  1. tizen_log, tizen_notification, wearable_rotary에 대해 동일한 빌드 error가 발생하는데 SR에서도 같은 결과를 보이나요?

Running "flutter pub get" in example... 2,266ms
Error: cannot run without a dependency on either "package:flutter_test" or "package:test". Ensure the following lines are present in your pubspec.yaml:
dev_dependencies:
flutter_test:
sdk: flutter

.
.
.
2. camera, geolocator, permission_handler 에 대해서도 test app실행시 plugin.so loading issue로 실행 안되는 것 같습니다.
이부분도 SR에서 테스트 하실때 동일한 상황인가요?

_3755.180 E/ConsoleMessage(P15549, T15571): [WARN][(tid:15549)(_wl_egl_tizen_get_tizen_private)] Should create tpl_surface with this wl_egl_window first.
3755.180 E/ConsoleMessage(P15549, T15571): [WARN][(tid:15549)(wl_egl_tizen_get_tizen_private)] All wl_egl_window_tizen APIs will be ignored.
3755.193 I/ConsoleMessage(P15549, T15570): [EGL_DBG]: eglGetDisplay:2119, Winsys [tizen] path
3755.193 I/ConsoleMessage(P15549, T15570): [EGL_DBG]: eglInitialize:2263, [Samsung][libmali.so][rel]: Rev: v1.r23p0-01rel0.1c78beda6ce72456465265750e463359, Winsys: tizen + fbdev, nikem(0), nikel(0), pontusm(1), internal AFBC disable
3755.265 E/ConsoleMessage(P15549, T15571): [WARN][(tid:15549)(wl_egl_window_tizen_set_buffer_transform)] wl_egl_window(0x13dbc30) wl_output_transform(0) already rotated
3755.265 E/ConsoleMessage(P15549, T15571): [WARN][(tid:15549)(wl_egl_window_tizen_set_window_transform)] wl_egl_window(0x13dbc30) window_transform(0) already rotated
3755.379 E/ConsoleMessage(P15549, T15549): FlutterApplication.cs: Run(86) > Unhandled exception: System.DllNotFoundException: Unable to load shared library 'flutter_plugins.so' or one of its dependencies. In order to help diagnose loading problems, consider setting the LD_DEBUG environment variable: libflutter_plugins.so: cannot open shared object file: No such file or directory
3755.379 E/ConsoleMessage(P15549, T15549): at Runner.GeneratedPluginRegistrant.IntegrationTestPluginRegisterWithRegistrar(FlutterDesktopPluginRegistrar registrar)
3755.379 E/ConsoleMessage(P15549, T15549): at Runner.GeneratedPluginRegistrant.RegisterPlugins(IPluginRegistry registry) in C:\flutter-tizen\plugins\plugins\packages\permission_handler\example\tizen\flutter\GeneratedPluginRegistrant.cs:line 23
3755.379 E/ConsoleMessage(P15549, T15549): at Runner.App.OnCreate() in C:\flutter-tizen\plugins\plugins\packages\permission_handler\example\tizen\App.cs:line 11
3755.379 E/ConsoleMessage(P15549, T15549): at Tizen.Applications.CoreBackend.UICoreBackend.OnCreateNative(IntPtr data) in /home/abuild/rpmbuild/BUILD/csapi-tizenfx-9.0.0.16878+nui22045/src/Tizen.Applications.UI/Tizen.Applications.CoreBacken

.
.
.
3. tizen_app_control example을 TV에서 실행해 보면, launch 시도중 "security-manager"에 의해 종료를 당하고 있습니다.
이 부분은 tpk앱의 signing에 의한 것으로 생각이 되는데요. 이를 회피하기 위해서 KUEP를 disable을 하여 테스트를 진행했습니다.
"Device limitations"항목을 보면 app_control이 TV에서 사용가능 한 것으로 되어 있습니다.
혹시 이런 이슈가 없었는지 공유 부탁 드립니다.
https://mosaic.sec.samsung.net/kms/comty.do?comtyId=3713838&menuId=177635658&postId=3720265&page=view&type=ANONYMOUS
https://isms.sec.samsung.net/isms/securityInformation/kUEPCertificate/kUEPCert.do?_menuId=AVoSd7g6A6soQZIV&_menuF=true#
.
.
.
4. TV app개발을 하려고 하면 video_player를 가장 많이 사용할 plugin으로 보이는데요.
일부 항목이 fail되는 것은 일반적인 재생동작에 문제는 없는걸까요?
어떤 부분이 제한되는지도 알려주시면 감사하겠습니다.

감사합니다.

@swift-kim
Copy link
Member

swift-kim commented Apr 20, 2022

  1. 해당 패키지들은 현재 테스트 코드가 존재하지 않습니다 (recipe 참조).
  2. 해당 패키지들이 사용하는 API는 TV에서 지원되지 않습니다. Device limitations에 사용 가능 여부가 표기되어 있습니다.
  3. tizen_app_control의 example 앱은 기능 테스트를 위해 multi-app으로 (패키지 하나에 두 개의 앱이 포함) 구성되어 있습니다. 때문에 .NET 앱이 아닌 native 앱으로 작성되어있으며 3rd-party native 앱은 TV에서 실행이 불가합니다. 일반적인 .NET 앱에서 해당 플러그인을 사용할 때는 문제가 없을 것으로 생각됩니다.
  4. video_player_tizen의 테스트는 여러 비디오를 동시에 재생하기 때문에 out-of-memory 에러가 발생하여 현재 테스트가 비활성화되어 있습니다 (recipe 참조). Out-of-memory가 아닌 다른 failure가 발생한다면 확인이 필요할 것 같습니다.
    • video_player_tizen의 현재까지 알려진 문제점들은 README#58에 정리되어 있습니다.
    • 현재 video_player_tizen 플러그인은 Tizen 공통 API인 mmplayer 기반으로 작성되어 있으며, TV 표준인 plusplayer 기반으로 migration 작업이 진행 중입니다. 현재의 문제점들은 VD의 mmplayer 지원 중단으로 인한 것이 대부분이어서 plusplayer 기반으로 변경 시 많은 변경점들이 있을 것으로 예상됩니다.

@yman-son
Copy link
Author

상세한 답변 감사드립니다.
말씀하신 recipe, #58은 종종 참조하도록 하겠습니다.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants