1
0
Fork 0
mirror of https://github.com/VSadov/Satori.git synced 2025-06-09 09:34:49 +09:00
Satori/.devcontainer
Thays Grazia a970720fc3
[wasm][debugger] Debug on firefox (#61776)
* First compiling and working version just proxying messages.

* almost working, already showing the cs files

* Working on firefox.

* Use internal e not public.

* Debugging on firefox working.

* Working after the merge

* Keep the TcpListener open and use a random port.

* Show null value.

* - Show JS Callstack
- Skip properties
- Get array value from evaluateAsyncJS and not use the preview value.

* Fix compilation

* Infrastructure to run debugger tests.

* fix merge

* run test.

* Skipping tests that are not passing on Firefox.

* Skipping tests that are not passing on Firefox.

* Passing 13 steppingtests.

* Passing 13 steppingtests.

* Passing 13 steppingtests.

* Failed:     0, Passed:    39, Skipped:   203, Total:   242, Duration: 5 m 6 s - DebuggerTestSuite.dll (net6.0)

* Failed:     0, Passed:    66, Skipped:   195, Total:   261, Duration: 9 m 29 s - DebuggerTestSuite.dll (net6.0)

* Using ConditionalTheory and ConditionalFact implemented by @radical.

* Fixing side effect.

* Implemented conditional breakpoints.
Failed:     0, Passed:    74, Skipped:   189, Total:   263, Duration: 8 m 41 s - DebuggerTestSuite.dll (net6.0)

* Fix special characters and pointers.

Failed:     0, Passed:   116, Skipped:   177, Total:   293

* Fix merge

* Run debugger-tests on firefox using codespace

* Starting firefox correctly not stopping in the breakpoint yet.

* Remove unnecessary change

* Fix pause behavior (now showing correctly, pause on breakpoint, pause while stepping)
Start implementing evaluate expressions, working correctly on VSCode.

* Fix local tests.

* Fix missing )

* Passing 190 tests, evaluate expressions working.

* Remove Task.Delays.
Move some attributes from FirefoxMonoProxy to FirefoxExecutionContext.

* Fix container creation

* Trying to run firefox tests on CI.

* Moving file to the right place.

* Trying to run debugger-tests using firefox on CI.

* fixing path

* Missing url to download firefox on helix.

* On run the tests only on linux.

* Trying to download firefox on helix.

* fix error on helix-wasm.targets.

* trying to fix ci

* trying to install firefox on helix.

* Fixing firefox path

* Fix debugger tests on firefox

* fixing profile path

* Install libdbus-glib-1-2 on docker and on codespace

* Trying to run using firefox on CI

* update docker image

* Adding more messages to see errors on CI

* Trying to make it work on CI

* Real test on CI

* Trying to use the firefox machine only to run firefox tests
Retrying connection to Proxy
Remove extra messages added to help to fix CI

* Fix CI

* Fix CI

* Fix CI.

* Remove unnecessary changes.

* Using machine with sudo installed

* Addressing @lewing comments

* Fix run tests on codespace
Using image with python3

* Use default image to build and new image only to run firefox tests

* Fix unrelated change

* Fix ci

* check python version

* Print python versions

* Using image with PIP installed

* Using image with pip updated

* Remove unrelated changes
Increase time to wait for firefox to be ready

* Trying to fix evaluate tests.

* Fix evaluateoncallframe tests

* Trying to fix evaluation tests.

* trying to fix evaluateoncallframetests

* fiz evaluateoncallframetests

* Trying to kill firefox to avoid errors.

* Trying to fix EvaluateOnCallFrameTests

* Fix CI

* Remove failing test

* Fix misctests

* Fix other build errors.

* Trying to fix CI.

* Fix CI

* Remove unecessary message.

* Update src/tests/BuildWasmApps/Wasm.Debugger.Tests/Wasm.Debugger.Tests.csproj

Co-authored-by: Ankit Jain <radical@gmail.com>

* Addressing @radical comments

* Merge error while accept @radical suggestion

* Merge error while accept @radical suggestion

* Update src/mono/wasm/debugger/BrowserDebugProxy/DebugStore.cs

Co-authored-by: Ankit Jain <radical@gmail.com>

* Apply suggestions from code review

Co-authored-by: Ankit Jain <radical@gmail.com>

* Addressing @radical comments

* Abort the tcp connection if the proxy throws an exception

* Refactor a bit

* Use more compile time checks for chrome vs firefox

* fix pipeline

* Make debugger job names unique by including the browser

* fix runtime-wasm pipeline

* fix firefox ci job

* split into more files

* cleanup

* Add support for running chrome, and firefox tests in the same job

* fix yml

* fix build

* fix build

* fix windows build

* Don't delete profile folder nor pkill firefox

* Delete and create a new profile folder for each execution

* fix helix command line

* [wasm][debugger] Fix tests broken on 'main'

This test broke because it was checking for the number of members on
`System.TimeSpan`, and that changed with
https://github.com/dotnet/runtime/pull/67666 , which added new members
like `TotalNanoseconds`.

The test shouldn't depend on this number anyway, so remove that.

```
  Failed DebuggerTests.MiscTests.InspectLocalsForToStringDescriptions(line: 137, col: 12, method_name: "MethodWithLocalsForToStringTest", call_other: False, invoke_async: False) [758 ms]
  Error Message:
   [ts_props] Number of fields don't match, Expected: 12, Actual: 16
Expected: True
Actual:   False
  Stack Trace:
     at DebuggerTests.DebuggerTestBase.CheckProps(JToken actual, Object exp_o, String label, Int32 num_fields) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 800
   at DebuggerTests.DebuggerTestBase.CompareObjectPropertiesFor(JToken locals, String name, Object o, String label, Int32 num_fields) in /_/src/mono/wasm/debugger/DebuggerTestSuite/DebuggerTestBase.cs:line 908
   at DebuggerTests.MiscTests.InspectLocalsForToStringDescriptions(Int32 line, Int32 col, String method_name, Boolean call_other, Boolean invoke_async) in /_/src/mono/wasm/debugger/DebuggerTestSuite/MiscTests.cs:line 559
```

* wip

* big refactor

* chrome runs

* ff runs

* ff runs

* cleanup

* cleanup

* cleanup

* change console verbosity to info, for proxy

* More refactoring

* More refactoring, and fix some issues with connections, and other
cleanup

* some cleanup

* fix file name

* Improve cleanup after tests

* some refactoring, fixing some hangs, faster failures etc

* Fix BrowserCrash test for chrome

* fix up logging

* Improve error handling for the proxy running independently

* fix debugging from vscode

* proxy host: add --log-path for logs

* support canceling for the proxy host too, and distinguish different instances of the proxy

* Fix debugger after refreshing the debugged page.

* Fixing chrome debugging.

* Fix startup to work on chrome and also on firefox.

Co-authored-by: Ankit Jain <radical@gmail.com>
2022-04-26 16:10:50 -03:00
..
scripts [Codespaces] Make it possible to run wasm samples in the browser (#64277) 2022-01-26 21:00:00 -05:00
devcontainer.json [Codespaces] Make it possible to run wasm samples in the browser (#64277) 2022-01-26 21:00:00 -05:00
Dockerfile [wasm][debugger] Debug on firefox (#61776) 2022-04-26 16:10:50 -03:00