Skip to content

Latest commit

 

History

History
66 lines (42 loc) · 2.95 KB

development.md

File metadata and controls

66 lines (42 loc) · 2.95 KB

Prerequisites

Development

Please follow the following steps to running tests:

  1. run npm ci in the root folder of the repo.
  2. (Optional) run npm run build in the root folder of the repo to enable WebAssebmly features.
  3. run npm test to run suite0 test cases and check the console output.
    • if (2) is not run, please run npm test -- -b=cpu,webgl to skip WebAssebmly tests

Debugging on Desktop/Chrome

To debug the code from test-runner on Chrome:

  • make sure npm ci executed at least once.
  • use vscode to open the root folder.
  • run npm test -- <your-args> --debug to run one or more test cases.
  • in the open Chrome browser, click the DEBUG button on the top-right of the page.
  • in VSCode, click [menu]->Debug->Start Debugging or press F5, select Karma DEBUG RUNNER to attach.
  • put breakpoints in source code, and Refresh the page to reload.

Note: run npm test -- --help for a full CLI instruction.

Debugging on iOS/Safari

To debug on an Apple iOS device, please refer to the following steps:

  • install RemoteDebug iOS WebKit Adapter by following its instructions.
  • launch the adapter in commandline: remotedebug_ios_webkit_adapter --port=9000.
  • in VSCode, select debug configuration Remote Browser via Webkit Adaptor.
  • follow the steps above to debug.

Debugging on Android/Chrome

To debug on an Android device, please refer to the following steps:

  • Install Android SDK Platform Tools and make sure adb is ready to use.
  • Follow instructions in Remote Debugging on Android to launch adb. Make sure to use port 9000 so that the existing debug configuration works.
  • in VSCode, select debug configuration Remote Browser via Webkit Adaptor.
  • follow the steps above to debug.

Performance profiling

To profile the kernel level execution time, please run the following command:

npm test -- model <model_name> --profile

It generates raw perf data for each kernel, you may want use tools/parse-profiler.ts to parse it.