1. 27 4月, 2022 1 次提交
    • T
      [wasm][debugger] Debug on firefox (#61776) · a970720f
      Thays Grazia 提交于
      * 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: NAnkit 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: NAnkit Jain <radical@gmail.com>
      
      * Apply suggestions from code review
      Co-authored-by: NAnkit 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: NAnkit Jain <radical@gmail.com>
      a970720f
  2. 12 2月, 2022 1 次提交
    • V
      Don't use Targets* helper properties in libs (#64500) · 20e8f905
      Viktor Hofer 提交于
      * Don't use Targets* helper properties in libs projs
      
      This change makes it possible to migrate 200+ (ref+src) projects to use
      TargetFramework instead of TargetFrameworks which avoids the additional
      outer build evaluation and invocation which ultimately makes the overall
      build faster.
      
      Targets* properties (i.e. TargetsWindows, TargetsAnyOS, TargetsUnix,
      etc.) rely on the TargetFramework property which usually are set
      inside a project. The TargetFramework property is only
      available before a project specifies it if it's explicitly set in a props
      file or if the project is cross-targeting and the outer-build dispatches
      into the inner-build. During the dispatch, the TargetFramework property
      is passed in as a global property.
      
      Until now that behavior wasn't a problem because every libraries project
      cross-targeted (by setting the TargetFrameworks property) even though
      many only include a single TargetFramework (i.e. NetCoreAppCurrent).
      
      To allow projects to use the TargetFramework property instead of
      TargetFrameworks, the Targets* helper properties can't be calculated
      anymore early in a props file as the TargetFramework property isn't set
      at that time.
      
      In general, the guidance by the SDK/msbuild team is to not read from the
      TargetFramework property before the project sets it
      (in a property group). That effectively means that the TargetFramework
      property shouldn't be used in props files at all.
      
      Therefore these helper properties can't be used anymore for property
      conditions and I'm replacing their usage with TargetPlatformIdentifier
      comparisons for both properties and items.
      In nearly all cases, the Targets* helper properties can be replaced with
      TargetPlatformIdentifier checks on items and in the few cases where
      TargetsUnix or TargetsLinux marks multiple tfms as compatible, the exact
      tfms must be used instead for the TargetPlatformIdentifier comparison.
      
      Whenever a project needs to condition properties on the platform, I'm
      first setting the TargetPlatformIdentifier the same way the SDK sets it
      so that the SDK later doesn't need to set it again to avoid the
      additional expensive msbuild function call.
      
      * Use TargetFramework singular to avoid outer builds
      
      Use TargetFramework instead of TargetFrameworks property whenever a
      projects only targets a single target framework. This avoid unnecessary
      outer builds and evaluations and makes the build faster.
      20e8f905
  3. 02 11月, 2021 1 次提交
    • S
      Bring up full library test CI runs on iOS / tvOS devices (#59503) · 8c6aeea1
      Steve Pfister 提交于
      This change enables device runs on CI by building each test app on the helix instance it was deployed to. In past attempts, we looked at enhancing what takes place on the build machine via build tricks, compressing / cleaning up files early, etc and we could not overcome the need for excessively long timeouts and far more disk space.
      
      The change also adopts the patterns established in the wasm test build, giving us the opportunity to support different scenario runs as well as workloads testing in the future.
      8c6aeea1
  4. 14 7月, 2021 1 次提交
  5. 09 7月, 2021 1 次提交
  6. 10 6月, 2021 1 次提交
    • V
      Run libraries package testing on build agent (#53905) · eb9a5ab0
      Viktor Hofer 提交于
      * Run libraries package testing on build agent
      
      instead of on Helix as with recent changes the entire package testing
      doesn't take more than 2 minutes. Helix created a work item per package
      test even though it only took seconds and the average wait time for
      a client was 10-15min.
      
      Also cleaning up how the generated package test projects are restored
      and incorporating a fix from Eric St John to not hard code the package
      feeds.
      
      * Expose useHelix argument
      eb9a5ab0
  7. 20 5月, 2021 1 次提交
    • V
      Stop reading TargetFramework prop in props files (#52897) · 68c5658b
      Viktor Hofer 提交于
      * Stop reading TargetFramework prop in props files
      
      The TargetFramework property isn't expected to be set in props files
      before a project's body is evaluated.
      
      Don't let BuildTargetFramework property fallback to TargetFramework as
      BTF's sole intent is to convey the TargetFramework to filter to and not
      the current selected TargetFramework. Reduce usage of BTF so that it is
      only used in places where code is actually conditioned on filtering.
      
      In addition to that, specify BuildTargetFramework as a global property for
      all traversal builds so when invoking one of the traversal projects directly
      (src.proj, ref.proj, etc.), BuildTargetFramework doesn't need to specified
      manually to get the default behavior (filter on compatible to net6.0).
      Remove the inferred BuildingNetCoreAppVertical because of that and
      inline its meaning.
      
      Make sendtohelix a normal NoTargets proj so that it has access to the
      properties which were moved into the Directory.Build.targets file as
      otherwise it wouldn't import that file.
      68c5658b
  8. 22 4月, 2021 1 次提交
    • S
      Shift Most of Wasm AOT test build to helix (#48226) · 6ca3d910
      Steve Pfister 提交于
      Since AOT'ing each test suite takes between 3-9 min, we need to shift the burden over to helix.
      
      ## This is done by:
      1. building the test assemblies on the build machine
         - the wasm part of the build is not executed on the build machine,
            because it has the AOT build part
      2. Zip up the test assembly+friends, *and* any bits required to run the wasm
          app build for that on helix (eg. emsdk, wasm app targets, cross compiler etc)
      3. Send all this to helix, and use a custom `aot-build.proj`
           - which recreates all the build inputs for the `WasmBuildApp` target
              using the paths for the assets on helix
           - then we can run `WasmBuildApp` for the build, resulting in a wasm app
             bundle.
      4. Run the tests!
      
      - We already have the bits required for building wasm apps on helix, supported
      for `Wasm.Build.Tests`, which we can use here too.
      
      ## Trimming:
      
      - Since, AOT can be so expensive, we use `EnableAggressiveTrimming=true`(EAT), but
         that means that we could have issues due to trimming.
      - And it can sometimes be unclear whether the build/test failures are due to trimming
           or AOT.
      
      - Because these builds+test runs are different from other builds, owing to the
         "build partially on helix" step, a normal EAT build would not be the same as 
      - to help with testing this, we add two lanes to `runtime-staging`:
         - `*_Mono_AOT`: builds AOT+EAT on helix
         - `*_Mono_EAT`: builds EAT, on helix
            - this is required because we want to run almost the same kinda
               build: 1. build test assembly; *2. send to helix; 3. build wasm app;* 4. run tests
      
      - This should effectively mean that we can see which errors might be due to EAT, and
         which are clearly because of EAT+AOT.
      Co-authored-by: NSteve Pfister <steve.pfister@microsoft.com>
      Co-authored-by: NMarek Safar <marek.safar@gmail.com>
      Co-authored-by: NMitchell Hwang <mitchell.hwang@microsoft.com>
      Co-authored-by: NAnkit Jain <radical@gmail.com>
      6ca3d910
  9. 05 11月, 2020 1 次提交
  10. 03 11月, 2020 1 次提交
    • A
      Changing Windows_NT -> Windows for enabling TargetPlatformMoniker feature of... · b37f10a5
      Anirudh Agnihotry 提交于
      Changing Windows_NT -> Windows for enabling TargetPlatformMoniker  feature of the sdk for platform specific tfms. (#43651)
      
      * eng change
      
      * coreclr change
      
      * libraries change
      
      * tests change
      
      * installer & mono change
      
      * py files changed
      
      * .md change
      
      * .yml change
      
      * remove redundant targetos property
      
      * Windows_NT -> windows after ninja change
      
      * fixing runtime build failure
      b37f10a5
  11. 10 10月, 2020 1 次提交
  12. 30 9月, 2020 2 次提交
  13. 05 9月, 2020 1 次提交
  14. 23 7月, 2020 1 次提交
    • V
      Remove depprojs in favor of PackageReferences (#35606) · 809a06f4
      Viktor Hofer 提交于
      - Remove depprojs which currently binplace external references into the RefPath folders in favor of PackageReference and PackageDownload items.
      - Build all configurations by default when building an individual project (either on the CLI or inside VS) same as with the official SDK. This enables .NETFramework Test Explorer support.
      - Centrally define libraries that compose the shared framework instead of in each Directory.Build.props file to be able to build the targeting pack first and consume it in the OOB libraries.
      - Use ProjectReferences to reference OOB projects. Compile against the reference assembly but use the implementation assembly app-local during runtime.
      - Remove OOBs from the testhost and remove the testhost folder for .NETFramework as it isn't required anymore.
      - Only binplace for $(NetCoreAppCurrent) to compose a) the targeting pack, b) the runtime pack, c) the testhost, d) a full closure for the shims.
      - Use Targeting Packs for OOB projects (with their implicit assembly references) but still explicitly define granular references for .NETCoreApp configurations (DisableImplicitAssemblyReferences switch). Use the implicit targeting pack references in some Microsoft.Extensions.* cases.
      - Remove placeholder configurations as they aren't needed anymore with explicit P2Ps vs Targeting Pack references.
      - Remove implicit assembly references (ie for .NETFramework, mscorlib)
      - Remove AssemblySearchPath hacks that were introduced with b7c4cb71 as the targeting pack is now used by default.
      - Reduce unnecessary .NETFramework configurations that were added to run tests in favor of the already existing ref&src configurations.
      - Stop hardcoding the paths for wasm assemblies and use the returned TargetPath of the ProjectReferences.
      - Addressed formatting (ItemGroups, References at the bottom of the project file, ordering of references, use LibrariesProjectRoot instead of a relative path, unnecessary AssemblyName and RootNamespace properties which are identical to the project name, ordering of tfms)
      - Revert "fix clean (#33758)"
      809a06f4
  15. 16 7月, 2020 1 次提交
    • V
      Allow building libs tests for all configurations (#38993) · 84c2974a
      Viktor Hofer 提交于
      * Allow building libs tests for all configurations
      
      Building libraries tests and passing in the -allconfigurations switch
      results in the libraries packages being built and tested. Conditioning
      the packages build/test on the /p:TestPackages switch.
      84c2974a
  16. 26 6月, 2020 1 次提交
    • J
      Run wasm tests on Helix (#37752) · a9263454
      Jo Shields 提交于
      Build Wasm for testing via Helix. A bunch of test suites are disabled on Wasm here, and will be re-enabled as we get the up and running.
      a9263454
  17. 17 6月, 2020 1 次提交
    • B
      Add JIT stress mode testing using libraries tests (#36486) · 9929c07b
      Bruce Forstall 提交于
      * Add JIT stress mode testing using libraries tests
      
      There are three separate pipelines, with different sets of JIT
      stress modes enabled for each:
      
      - libraries-jitstress.yml
      - libraries-jitstress2-jitstressregs.yml
      - libraries-jitstressregs.yml
      
      The live built Release libraries are used with a Checked CoreCLR.
      
      The non-stress configuration is tested during normal PR testing.
      
      The libraries `sendtohelix.proj` file is changed to take an optional
      list of CoreCLR stress scenarios to run. If given, a set of environment
      setting scripts is created and added to the Helix correlation payload.
      Then, an auxiliary `sendtohelixhelp.proj` file is invoked for each
      scenario (or just the default, empty scenario) to create and run the
      Helix tasks.
      
      * Remove remnants of old corefx-on-coreclr test run infrastructure
      
      * Rename corefx-*.yml to libraries-*.yml
      
      * Disable tests
      
      ```
      src/libraries/System.Numerics.Vectors/tests/Matrix3x2Tests.cs
      https://github.com/dotnet/runtime/issues/36587
      Matrix3x2CreateRotationCenterTest()
      
      https://github.com/dotnet/runtime/issues/36587
      Matrix3x2CreateScaleCenterTest1()
      
      https://github.com/dotnet/runtime/issues/36587
      Matrix3x2CreateScaleCenterTest3()
      
      src/libraries/System.Numerics.Vectors/tests/Matrix4x4Tests.cs
      https://github.com/dotnet/runtime/issues/36586
      Matrix4x4CreateFromAxisAngleTest()
      ```
      
      * Fix run-test-job.yml
      
      * Fix BuildAllConfigurations case
      9929c07b
  18. 29 5月, 2020 1 次提交
  19. 20 5月, 2020 1 次提交
  20. 10 4月, 2020 1 次提交
    • M
      [mono] Remove CoreFX.issues_windows.rsp file (#32592) · ab6e225d
      Maxim Lipnin 提交于
      Changes:
      - enabled `runtime (Libraries Test Run release mono Windows_NT x64 Debug)` CI lane (Windows Nano Server CI leg is disabled);
      - enabled the tests that pass;
      - marked failing test assemblies/classes/methods with `ActiveIssue` attribute using respective GH issues;
      - removed CoreFX.issues_windows.rsp file and related mono rsp arguments.
      
      Fixes #1980
      ab6e225d
  21. 30 3月, 2020 1 次提交
  22. 05 3月, 2020 1 次提交
  23. 21 2月, 2020 1 次提交
  24. 12 2月, 2020 1 次提交
  25. 06 2月, 2020 1 次提交
    • A
      New Configuration System (#1787) · 725968c3
      Anirudh Agnihotry 提交于
      * libraries -restore for vertical build without test restore
      
      * Automatic test change and regex to remove the addition of an extra line at eof
      
      * manual test restore fixed (restore completely done for vertical build)
      
      * build native done
      
      * Automatic ref change and regex to remove the last line
      
      * manual reference assebly change and generated shims build
      
      * automatic src change and regex
      
      * native bin place and src build manual change
      
      * apicompat and pretest.csproj done
      
      * fixing the package build
      
      * fixing all config
      
      * packaging and feedback
      
      * adding back placeholder configuration
      
      * fixing the shims
      
      * delete configuration.props
      
      * making the build work in master
      
      * Test Change
      
      * fixing the packageing, test restore replacing TargetFramework -> OriginalTargetFramework
      
      * delete test configuraiton.props, trailing semicolon and use targetFramework
      
      * reverting the package change
      
      * enable apicompat and fixing configurationGroup for individual projects
      
      * fixing the api compat
      
      * making ilproj work
      
      * adding the outerBuildTest
      
      * adding the arcade package version
      
      * fixing the merge conflicts
      
      * minor changes
      
      * adding additional configs and setting the runtimeOS
      
      * making the  vs stuff work
      
      * removing the target Group to fix the apicompat
      
      * fixing the linux build and some minor changes
      
      * making additionalBuildTargetFramework LOcalProperty
      
      * fixing the allConfigurations build
      
      * fixing the netfx build
      
      * fixing package Testing and restore
      
      * Missing  TargetFrameworks tag
      
      * making the VSdesgin stuff work
      
      * Remove OriginalFramework Entirely
      
      * some minor pr feedback
      
      * RemoveExtraSemicolon
      
      * use boolean exclude flag
      
      * fixing yml scripts to pass tests
      
      * adding comments and some minor feedback
      
      * moving packaging property to correct plave
      
      * fixing the build for web assembly
      
      * Fixing the live ci build
      
      * Fixing the live build for shims
      
      * fixing the tests
      
      * fixing the packaging and enterprise linux
      
      * fixing  package sizes
      
      * Fix the targetFramework
      
      * updating the targetFramework sdl
      
      * removing the buildOS and be able to use OSGroup as done in the old system
      
      * Fixing the osgroup stuff for send to helix task
      
      * Fix OSX failures
      
      * Fixing the osx build
      
      * uploading tmp folder to artifacts
      
      * running restore for runtime.deproj correctly
      725968c3
  26. 04 2月, 2020 1 次提交
  27. 25 1月, 2020 1 次提交
  28. 24 1月, 2020 1 次提交
  29. 23 1月, 2020 1 次提交
  30. 17 1月, 2020 1 次提交
  31. 16 1月, 2020 1 次提交
  32. 15 11月, 2019 1 次提交
  33. 09 11月, 2019 1 次提交
  34. 05 11月, 2019 2 次提交
  35. 04 11月, 2019 1 次提交
  36. 29 10月, 2019 1 次提交
  37. 17 10月, 2019 1 次提交
  38. 19 7月, 2019 1 次提交