-
Notifications
You must be signed in to change notification settings - Fork 26
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
Investigate time out waiting for test report #934
Comments
In a linux test the log shows what files are being examined:
The files are deleted or they were not there. The error message is
and the file name matches what was deleted earlier. The second file ( |
When it says |
At the beginning of the test we first Delete any existing test report files if already present. So it deletes the |
Maven surefire plugin and maven failsafe plugin updated on Aug 27th. We suspect this release is causing problem with html report. https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-failsafe-plugin |
I tried to specify surefire 3.5.0 in pom.xml in the test case but I could not reproduce the issue. I deleted the .m2/repository locally and forced everything to be downloaded and I did reproduce the issue. To make things simpler for you try just deleting the directory |
We should test the Run Tests and View Test Report actions with our current release (24.0.6) to see if we are broken in production. |
I think we want to try to understand a few things:
|
In dev mode we run this code for unit tests:
which means
We don't specify version numbers so it probably just uses 'RELEASE' to use the latest. |
I tried running this command in the terminal to force v3.4 to be downloaded before starting the server and running tests in the Liberty Tool Window.
I verified that v3.4 was downloaded into the local repository but when I started the server and used Edit: Note that when I specified 3.4 like this 3.4 was downloaded but none of the .pom and .xml files were downloaded. Perhaps because plugin dependency analysis was not required when the version number is specified. |
In the latest version of Maven Surefire (3.5.0), significant changes were introduced, as detailed in SUREFIRE-2161. Among the changes, the names of the generated reports have been updated— Due to this change, our test, which checks for the report in the |
I ran a build by changing the path and name of the report file. The build was success - https://github.com/anusreelakshmi934/liberty-tools-intellij/actions/runs/10628161834/job/29462481922. |
In our LTI code, we are hard coding this path for the actions "view integration test report" and "view unit test report". The change of directory will also affect the functionality of both these liberty actions.
After clearing the m2 in our local and then if we click on "view integration test report" and "view unit test report", it will throw an error "Test report does not exist", as we have hardcoded the above path in our code but the actual test report file is inside "/target/reports". If we change the hardcoded path to "/target/reports" then existing users who use old plugin version, will get the "Test report does not exist", because their report will still generate inside "site" folder. |
In the case it was working there were 4 or 5 different versions of |
I am not sure if the fix for this will be specifying one version of the From a Liberty Tools perspective, even if dev mode specifies a version to download, a user could install any version of these plugins that they would like. Therefore, I think we need to be able to handle the behaviour pre
|
Agree this is really about the change in maven-surefire-report-plugin version than changes in the surefire/failsafe plugin itself. From liberty:dev, IIUC, we are calling maven-surefire-report-plugin without specifying a version, so we're subjecting ourselves to different behavior depending on what the user happens to have installed. This does seem to call out for a design discussion. Should we change dev mode or the Liberty Tools IDE tools? If we're changing Liberty Tools should we just add one more default location or should we go to the step of actually reading the user's config (which could be set to a whole other location). I'm not sure I see us going in a whole other step of using an IDE-specific config of our own... but I'm not sure that's out of the question either. |
Since the next LTI release is coming soon, we are going to move forward with a fix for LTI. We can always make changes if necessary based on the results of the design discussion. For now, we are going to check both test report locations, looking at the new location first. #939 opened to track adding fix to LTI |
Idea #1 wont necessarily work because there are typically multiple versions of a plugin in the local repository. |
I found this issue in recent cron job build failure
Build link : https://github.com/OpenLiberty/liberty-tools-intellij/actions/runs/13028397931/job/36342045159 I could see this intermittent issues in other Cron Job builds as well. |
The builds started consistently failing for each platform. We need to investigate what is causing this.
For Linux and Windows, it looks like each of the failures are coming from tests that attempt to run project tests through dev mode and hit this error:
Refer to this workflow run: https://github.com/OpenLiberty/liberty-tools-intellij/actions/runs/10590421767
This workflow also hit this error in the Linux builds: https://github.com/OpenLiberty/liberty-tools-intellij/actions/runs/10592982820. It should be noted that the PR for this workflow is targeting the feature branch, and the PR for the workflow above is targeting the main branch.
I also kicked off a manual workflow on the main branch: https://github.com/OpenLiberty/liberty-tools-intellij/actions/runs/10598016842. All the test failures for Linux and Windows are the test report timeouts.
Related
The text was updated successfully, but these errors were encountered: