-
Notifications
You must be signed in to change notification settings - Fork 10.4k
Reenable Components E2E #9076
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Reenable Components E2E #9076
Conversation
Looks looks like we are blocked until they push node.js to the helix queues (which they are waiting for after preview 4 stabailizes to do)... these are failing with missing npm errors now
|
Getting a little farther now: error is with selenium-standalone not being found now. Is this something that should get installed as part of the run or something that we need to pull down before running these Component E2E tests?
|
It’s installed at build time with yarn install |
So for the helix machines which aren't building the app, we'll need to add some custom commands to install things? |
Is there a simple runtime command we can do that's equivalent to this? Like before running the tests, do a 'yarn install packages.json' in the directory? |
You need the packages.json along with the yarn.lock and you should have yarn installed globally. |
So include packages.json and yarn.lock, and then run "yarn install" before running the tests should do the trick? |
@javiercn before I dig too much farther, these tests should run on OSX and linux right? Currently seeing
It seems to be weird getting Win32 exceptions on Non Windows machines...? |
We only run them on windows, but we have plans to run them on Linux and MAC too. I believe @ryanbrandenburg was working on that. |
Actually, I found that all of our tests actually already run on Linux and Mac. That's weird to me considering it's specifically disabled. My preliminary guess is that a property got messed up when we added the RunTemplatesTests property to split the tests into different tasks. |
No they don't. The Selenium part only runs on Windows. Other parts run cross-plat. (Create/Restore/Build/Publish, etc). |
@MattGal looks like something got borked after we install yarn on windows, any ideas what happened to this job?
The other non windows queues were able to continue after the yarn install. |
@HaoK this happened because your command caused exit to happen at that point with code 0. I would expect that something is wrong with how the script being called is invoked which is promoting some other thing's |
I tried this Kusto query:
and I find no evidence that this worked on "some other Windows queue" or was ever run there. I suggest trying the guidance here: npm/npm#2938. I was able to repro this and fix it by just adding a call, e.g. try these versions of it in a local .bat file @echo off
REM Shows the problem you were talking about
echo BEFORE
npm i yarn
echo AFTER
REM Gets past the problem you were talking about
echo BEFORE
call npm i yarn
echo AFTER
|
Thanks @MattGal yeah the other queues were non windows that weren't hitting this issue |
Almost there it looks like, @javiercn hopefully the last issue is just another case of resolving the content root properly on helix. Its looking for the sources using repo root which isn't there on helix
Looks like the logic is coming from here https://github.com/aspnet/AspNetCore/blob/helix-comp/src/Components/test/E2ETest/Infrastructure/ServerFixtures/ServerFixture.cs#L31 which is using the props setting the content root here: https://github.com/aspnet/AspNetCore/blob/5889aea06cc7ed5c2f743e2fd8ed8abcb7c2d957/src/Shared/E2ETesting/E2ETesting.targets#L93 Are you ok if I add a if helix branch which just hardcodes the content root to AppContext.BaseDirectory + "/testassets/AppName" which we can just include everything testassets in the helix payload |
Set SeleniumProcessTrackingFolder Include package.json Yarn install Update Microsoft.AspNetCore.Components.E2ETests.csproj Update Microsoft.AspNetCore.Components.E2ETests.csproj Install yarn first Update Microsoft.AspNetCore.Components.E2ETests.csproj Update SeleniumStandaloneServer.cs Update runtests.cmd Update SeleniumStandaloneServer.cs Update SeleniumStandaloneServer.cs Update SeleniumStandaloneServer.cs Update SeleniumStandaloneServer.cs Only target VS windows helix queue Only run on windows, fix npm call Update Microsoft.AspNetCore.Components.E2ETests.csproj Update Microsoft.AspNetCore.Components.E2ETests.csproj Try resolving content root path on helix to current dir Strip out extra assembly name gunk from content root publish test assets use AppContext.BaseDirectory
Replaced by #10997 |
No description provided.