Skip to content

Commit

Permalink
[browser][wbt] Fix not failing download for `DownloadProgressFinishes…
Browse files Browse the repository at this point in the history
…` test when randomly picked index is zero (#98985)
  • Loading branch information
maraf authored Feb 28, 2024
1 parent 81f0e34 commit a2761cc
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 2 deletions.
15 changes: 15 additions & 0 deletions src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
## WasmBasicTestApp

This is a test application used by various Wasm.Build.Tests. The idea is to share a common behavior (so that we don't have to maintain many test apps) and tweak it for the test case.
It typically suits scenario where you need more than a plain template app. If the test case is too different, feel free to create another app.

### Usage

The app reads `test` query parameter and uses it to switch between test cases. Entrypoint is `main.js`.
There is common unit, then switch based on test case for modifying app startup, then app starts and executes next switch based on test case for actually running code.

Some test cases passes additional parameters to differentiate behavior, see `src/mono/wasm/Wasm.Build.Tests/TestAppScenarios`.

### Running out side of WBT

One of the benefits is that you can copy the app out of intree and run the app without running Wasm.Build.Tests with just `dotnet run`.
5 changes: 3 additions & 2 deletions src/mono/wasm/testassets/WasmBasicTestApp/App/wwwroot/main.js
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ switch (testCase) {
Math.floor(Math.random() * 5) + 5,
Math.floor(Math.random() * 5) + 10
];
console.log(`Failing test at assembly indexes [${failAtAssemblyNumbers.join(", ")}]`);
let alreadyFailed = [];
dotnet.withDiagnosticTracing(true).withResourceLoader((type, name, defaultUri, integrity, behavior) => {
if (type === "dotnetjs") {
Expand All @@ -45,8 +46,8 @@ switch (testCase) {
return defaultUri;
}

assemblyCounter++;
if (!failAtAssemblyNumbers.includes(assemblyCounter) || alreadyFailed.includes(defaultUri))
const currentCounter = assemblyCounter++;
if (!failAtAssemblyNumbers.includes(currentCounter) || alreadyFailed.includes(defaultUri))
return defaultUri;

alreadyFailed.push(defaultUri);
Expand Down

0 comments on commit a2761cc

Please sign in to comment.