fix test for RotaryEmbedding (#24022)
### Description
the `BaseTester::Run` function signature is:
```c++
void BaseTester::Run(ExpectResult expect_result, const std::string& expected_failure_string,
const std::unordered_set<std::string>& excluded_provider_types,
const RunOptions* run_options,
std::vector<std::unique_ptr<IExecutionProvider>>* execution_providers,
ExecutionMode execution_mode,
const Graph::ResolveOptions& options);
```
Its behavior is:
- if the parameter `execution_providers` is empty, it will try to
aggregate all execution providers available in the build, and for each
EP, create inference session and perform test.
- if the parameter `execution_providers` is not empty, it will run a
single inference session, use the passed-in `execution_providers` as
session options and perform test.
The old code may put multiple EPs into single inference sessions, but at
runtime there will be only one EP running the test. Specifically, WebGPU
EP is after CPU EP in this case, so the test never run on WebGPU EP.
**To reviewers**: if you see **a lot of** changes, click the "setting"
button next to the "Jump to",
<img width="277" alt="image"
src="https://github.com/user-attachments/assets/e8947ffb-f230-4c59-a5b7-36c0aedd2b7c"
/>
and check the "Hide Whitespace" and load it again.
<img width="137" alt="{4D60F676-35F4-4546-B8E1-E2F42411A9E6}"
src="https://github.com/user-attachments/assets/f4c58e6e-c290-49f7-aca7-c413db1e3c77"
/>