Brad,

We do have problems with the CI and we have been working on addressing them in the past months. For example, we have tweaked the machine's config quite a few times. Currently we are considering moving the CI to GitHub Actions.

As for a Jira for the failures, we already have one: https://issues.redhat.com/browse/UNDERTOW-1523

But, before tackling this one, I want to have the CI working consistently, i.e., showing always only the real failures instead of random failures as it is occurring right now.

Still, like Stuart, I can build the project with JDK8. Here are the steps I take to build Undertow (and for this one I see no failures):
- make sure you have a JAVA_HOME variable exported
- my maven is 3.6.0 btw
Then do a mvn clean install

For a complete full build, run:
mvn clean package  -Pproxy -Dmaven.test.failure.ignore=true -DfailIfNoTests=false -fae > output.txt
Directing the output to output.txt allows you to view all the failures without depending on scrolling (or you could do a | less instead).

Feel free to ping me on Zulip if you have any issues with building and need help with that. We are online at the #undertow stream at https://wildfly.zulipchat.com/

Regards,
Flavia

On Tue, Jul 7, 2020 at 1:42 PM Brad Wood <bdw429s@gmail.com> wrote:
Can anyone help me with my questions above?  I would really like to have a locally working Undertow build (and tests) before I send over any pull requests, but need some direction on the errors I posted at the start of this thread.  

Thanks!

~Brad

Developer Advocate
Ortus Solutions, Corp 

ColdBox Platform: http://www.coldbox.org 



On Thu, Jun 25, 2020 at 10:15 AM Brad Wood <bdw429s@gmail.com> wrote:
Well, it appears then that you and I are the only two people in the world who have ever tried to run the tests based on the feedback here :)

What steps can I take to address the local build failures I'm seeing?  I posted the errors and test suites that failed at the start of this thread.  Should I enter tickets?  Share more information?  I would prefer to actually have the test suite running before I submit any pulls to the project.

Thanks!

~Brad

Developer Advocate
Ortus Solutions, Corp 

ColdBox Platform: http://www.coldbox.org 



On Thu, Jun 25, 2020 at 1:22 AM Stuart Douglas <sdouglas@redhat.com> wrote:
It works for me on JDK8 locally, I did find some JDK11 and later issues that this PR is looking to address: https://github.com/undertow-io/undertow/pull/906

There does seem to be still more intermittent failures though that have started popping up recently. I am not sure when I will get to them.

Stuart

On Wed, 24 Jun 2020 at 14:28, Brad Wood <bdw429s@gmail.com> wrote:
Hmm, are there any additional tools I need to have setup on my machine?  What version of Java does teamcity run the tests against?  I can confirm they definitely don't "just work" on my machine.

Thanks!

~Brad

Developer Advocate
Ortus Solutions, Corp 

ColdBox Platform: http://www.coldbox.org 



On Tue, Jun 23, 2020 at 11:03 PM Stuart Douglas <sdouglas@redhat.com> wrote:
The tests pass on my machine. Looking at CI though there does appear to currently be an issue with TeamCity when running the H2C proxy tests (basically what happens when you run the tests with -Dtest.h2c=true, which runs all tests through a HTTP/2 based proxy). I am looking into it to see if it is an issue with TeamCity or the test suite itself.

Stuart

On Wed, 24 Jun 2020 at 04:17, Brad Wood <bdw429s@gmail.com> wrote:
Anyone want to take a stab at this?  I'm a little surprised no one will even chime in and let me know if the tests pass for them.  Does everyone just skip the tests?  

Thanks!

~Brad

Developer Advocate
Ortus Solutions, Corp 

ColdBox Platform: http://www.coldbox.org 



On Tue, Jun 16, 2020 at 8:18 PM Brad Wood <bdw429s@gmail.com> wrote:
Wow, that works. Thanks for being explicit.  That was not at all clear to me as someone who really doesn't know anything about Maven nor Surefire.

So, that takes care of the first question-- how to skip the tests.

Now, who wants to tackle all the errors I get when I try to actually run the tests!?  And let me backup and state my assumption here-- I'm assuming that the tests are something anyone can simply clone the repo and run the build and they should all pass.  At least, that's what I'm used to in my projects and other projects I work with.  Is this assumption safe/correct?  Can others run this test suite, or are these errors experienced by everyone else who tries?  I haven't touched any code yet-- this is just a fresh clone here.

Thanks!

~Brad

Developer Advocate
Ortus Solutions, Corp 

ColdBox Platform: http://www.coldbox.org 



On Tue, Jun 16, 2020 at 8:07 PM Jess Sightler <jsightle@redhat.com> wrote:
I'll state it explicitly. The docs that you've pasted say to just run -DskipTests (not with any other skip parameters) if you want to build without running the tests.

On Tue, Jun 16, 2020 at 9:04 PM Brad Wood <bdw429s@gmail.com> wrote:
Hmm, perhaps I was too vague in my original post.  I enjoy the extistial discussion of Maven and things that might be.  But I guess I'm looking for much more concrete answers as to 
  • Why the tests don't pass for me on a plain jane vanilla clone of the master branch
  • Why I can't skip them with the build failing
  • If there's some additional hidden information not found in the docs that is escaping me
I hear you saying "it's probably best to actually run the tests" and "you can always skip the test execution", but I posted all the bad things that happen when I try.  I need help here to know how to get the tests to run and how to successfully skip tests-- because I followed the docs, and they don't work.  So... something's gotta' give here.

Thanks!

~Brad

Developer Advocate
Ortus Solutions, Corp 

ColdBox Platform: http://www.coldbox.org 



On Tue, Jun 16, 2020 at 7:47 PM Bernd Eckenfels <ecki@zusammenkunft.net> wrote:
What the section means you can always skip the test execution with the property (you mainly do that for performance reasons, but sometimes you just cannot get all tests to pass).

But you cannot skip the Maven Test build phase the first time you run the build, because it has to build that test library (and install it into the local Maven "Repo cache").

If you have run the install build once you can - for performance reason also use the Maven.skip.test - at least until you change the project version. However it's probably best to actually run the tests, especially if you plan to submit changes.

Gruss
Bernd


Von: Brad Wood <bdw429s@gmail.com>
Gesendet: Wednesday, June 17, 2020 1:52:46 AM
An: Bernd Eckenfels <ecki@zusammenkunft.net>
Cc: Undertow Developers <undertow-dev@lists.jboss.org>
Betreff: Re: [undertow-dev] Building Undertow
 
Thanks for chiming in, though I'm not sure what that means in regards to whether or not I'm running the build correctly.  Is it your understanding that I should be able to run the build without error if I use both of those skip flags?  Does the syntax that I showed in my original post demonstrate correct usage of those flags?  I'm not a regular Maven user and I've never heard of surefire today, and the docs don't really show a full example of running the build while skipping the tests so I'm unclear on the proper way to do it.  

Of course, ultimately, I need to know why the tests are failing and hanging as well.  But for now, just trying to get the build to run!

On a related note, some runs of the test suite after my original post gave me these failures additional:

[ERROR] testBinary(io.undertow.websockets.core.protocol.WebSocket13ServerTestCase)  Time elapsed: 0.02 s  <<< ERROR!
java.lang.IllegalStateException: ChannelPipeline does not contain an HttpRequestEncoder or HttpClientCodec

[ERROR] testCloseFrame(io.undertow.websockets.core.protocol.WebSocket08ServerTest)  Time elapsed: 0.013 s  <<< ERROR!
java.lang.IllegalStateException: ChannelPipeline does not contain an HttpRequestEncoder or HttpClientCodec

It really is sort of alarming the number of intermittent issues I'm having with the test suite.

Thanks!

~Brad

Developer Advocate
Ortus Solutions, Corp 

ColdBox Platform: http://www.coldbox.org 



On Tue, Jun 16, 2020 at 6:36 PM Bernd Eckenfels <ecki@zusammenkunft.net> wrote:
Maven.skip.test skips the test compile and run, skipTests property only tells surefire to not run and judge the unit tests

Von: undertow-dev-bounces@lists.jboss.org <undertow-dev-bounces@lists.jboss.org> im Auftrag von Brad Wood <bdw429s@gmail.com>
Gesendet: Tuesday, June 16, 2020 9:21:55 PM
An: Undertow Developers <undertow-dev@lists.jboss.org>
Betreff: [undertow-dev] Building Undertow
 
I'm trying to build Undertow using the (sparse) instructions here and having a heck of a time.  


cd undertow && mvn install  

So firstly, I'm not super familiar with Maven (not a full time java dev) but when I skip the tests, the build fails.  Here is the note in the docs, which is confusing for a couple reasons:

If you attempt to build with -Dmaven.test.skip=true for your initial build the build will fail, as the core test jar will not be built and the Servlet module has a test scoped dependency on this jar. Either use -DskipTests, or just let the tests run the first time.  
  • First it says the build will fail if the tests are skipped, but then seems to imply that I can work around this by setting some system properties.  
  • What is the difference between the maven.test.skip property and the skiptests property?  Do I need both of them?  
If I try to run the build like so (Using Maven 3.6.3 and java 11) using a fresh clone of the Undertow repo with the "master" branch checked out:

mvn install -Dmaven.test.skip=true -DskipTests

I get this build failure still:

[ERROR] Failed to execute goal on project undertow-servlet: Could not resolve dependencies for project io.undertow:undertow-servlet:jar:2.1.4.Final-SN
APSHOT: Could not find artifact io.undertow:undertow-core:jar:tests:2.1.4.Final-SNAPSHOT -> [Help 1]

So, I'm not sure what to do there.  The docs state that setting those JVM args is an alternative to running the tests but it doesn't work.

Now, the first thing I tried was actually just to let the tests run, but this proved to be even more troublesome than skipping the tests!  I get tons of test failures and other errors and the behavior differs whether I'm using Java 8 or Java 11 (fun!) and the tests usually just hang and won't complete.  

When I run the build (with tests) on Java 1.8.0_161 they hang on this test and never finish.

[INFO] Running io.undertow.server.handlers.ReceiverTestCase

When I run the build (with tests) on Java 11.0.6, I get the following errors:

[ERROR] testSpnegoSuccess(io.undertow.server.security.SpnegoDigestAuthenticationTestCase)  Time elapsed: 0.01 s  <<< FAILURE!
java.lang.AssertionError: Expected header not found.

[ERROR] testSpnegoSuccess(io.undertow.server.security.SpnegoBasicAuthenticationTestCase)  Time elapsed: 0 s  <<< FAILURE!
java.lang.AssertionError: Expected header not found.

[ERROR] testSpnegoSuccess(io.undertow.server.security.SpnegoAuthenticationTestCase)  Time elapsed: 0 s  <<< FAILURE!
java.lang.AssertionError: expected:<401> but was:<403>

[ERROR] testNonDefaultFileSystem(io.undertow.server.handlers.file.PathResourceManagerTestCase)  Time elapsed: 0.042 s  <<< FAILURE!
java.lang.AssertionError: expected:</dir/resource.txt> but was:</dir/./resource.txt>

[ERROR] testRegexPattern(io.undertow.server.handlers.SameSiteCookieHandlerTestCase)  Time elapsed: 0.027 s  <<< ERROR!
javax.net.ssl.SSLException: Connection reset
 
And then it hangs on the same test case that Java 8 hangs on (io.undertow.server.handlers.ReceiverTestCase)

What does it take to get a local build of Undertow working?  If it matters, I'm trying to build on a Windows 7 machine.

Thanks!

~Brad

Developer Advocate
Ortus Solutions, Corp 

ColdBox Platform: http://www.coldbox.org 

_______________________________________________
undertow-dev mailing list
undertow-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/undertow-dev
_______________________________________________
undertow-dev mailing list
undertow-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/undertow-dev
_______________________________________________
undertow-dev mailing list
undertow-dev@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/undertow-dev


--

Flavia Rainone

Principal Software Engineer

Red Hat

frainone@redhat.com