Tests are failing on TC (#39)
Closed
wojciech.kapcia@tigase.net opened 4 years ago

https://tc.tigase.net/buildConfiguration/Halcyon_BuildArtur/58853

:halcyon-core:allTests (Thread[Execution worker for ':',5,main]) completed. Took 0.133 secs.
Execution failed for task ':halcyon-core:allTests'. org.jetbrains.kotlin.gradle.testing.internal.MultiCauseException: Failed to execute all tests:
:halcyon-core:jsBrowserTest: java.lang.IllegalStateException: command '/root/.gradle/nodejs/node-v12.14.0-linux-x64/bin/node' exited with errors (exit code: 1)
wojciech.kapcia@tigase.net commented 4 years ago

@bmalkow do we need to install this specific node version?

It seems to fail on my machine as well:

* What went wrong:
Execution failed for task ':halcyon-core:allTests'.
> Failed to execute all tests:
  :halcyon-core:jsBrowserTest: java.lang.IllegalStateException: command '/Users/wojtek/.gradle/nodejs/node-v12.14.0-darwin-x64/bin/node' exited with errors (exit code: 1)

And I have newer node:

$ node --version
v15.0.1

Where is this version configured?

wojciech.kapcia@tigase.net commented 4 years ago

[2020-10-29 14:01:56] <Malkowski Bartosz #>: Ja nie mam node ani npm zainstalowane!!!!! [2020-10-29 14:03:25] <Malkowski Bartosz #>: Proces przebiega u mnie tak https://gist.github.com/bmalkow/2eaf048d62d257fd88f0c98dbce0faff [2020-10-29 14:07:41] <Malkowski Bartosz #>: Ale znalazłem ls ~/.gradle/nodejs/node-v12.14.0-darwin-x64 [2020-10-29 14:08:15] <Malkowski Bartosz #>: Po usunięciu tego katalogu, Gradle sam sobie dociągnął tego node w tej właśnie wersji [2020-10-29 14:17:31] <Malkowski Bartosz #>: A tutaj wynik działania gw check -d [2020-10-29 14:17:32] <Malkowski Bartosz #>: https://gist.github.com/bmalkow/fa60bbdd1d7ade1a2a310ffb0d88ff81

wojciech.kapcia@tigase.net commented 4 years ago

@bmalkow I tried removing the directory (locally) and it still fails for me:

29 10 2020 17:32:21.907:INFO [karma-server]: Karma v4.4.1 server started at http://0.0.0.0:9876/

29 10 2020 17:32:21.909:INFO [launcher]: Launching browsers ChromeHeadless with concurrency unlimited

29 10 2020 17:32:21.957:INFO [launcher]: Starting browser ChromeHeadless

29 10 2020 17:33:21.959:WARN [launcher]: ChromeHeadless have not captured in 60000 ms, killing.

29 10 2020 17:33:23.966:WARN [launcher]: ChromeHeadless was not killed in 2000 ms, sending SIGKILL.

29 10 2020 17:33:25.967:WARN [launcher]: ChromeHeadless was not killed by SIGKILL in 2000 ms, continuing.


java.lang.IllegalStateException: command '/Users/wojtek/.gradle/nodejs/node-v12.14.0-darwin-x64/bin/node' exited with errors (exit code: 1)
Test report disabled, omitting generation of the HTML test report.

…

tigase.halcyon.core.xmpp.modules.vcard.VCardTest > testStructuredName STANDARD_OUT
    <vcard xmlns="urn:ietf:params:xml:ns:vcard-4.0"><n><surname>Saint-Andre</surname><given>Peter</given></n></vcard>
Test report disabled, omitting generation of the HTML test report.
:halcyon-core:jvmTest (Thread[Execution worker for ':',5,main]) completed. Took 2.072 secs.
:halcyon-core:allTests (Thread[Execution worker for ':',5,main]) started.

> Task :halcyon-core:allTests FAILED
Caching disabled for task ':halcyon-core:allTests' because:
  Build cache is disabled
Task ':halcyon-core:allTests' is not up-to-date because:
  Task has failed previously.
Generating HTML test report...
Finished generating test html results (0.015 secs) into: /Users/wojtek/dev/tigase/halcyon/halcyon-core/build/reports/tests/allTests
:halcyon-core:allTests (Thread[Execution worker for ':',5,main]) completed. Took 0.024 secs.

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':halcyon-core:allTests'.
> Failed to execute all tests:
  :halcyon-core:jsBrowserTest: java.lang.IllegalStateException: command '/Users/wojtek/.gradle/nodejs/node-v12.14.0-darwin-x64/bin/node' exited with errors (exit code: 1)

It looks like for some reason launching ChromeHeadless failed for some reason (?!).

Could you run on your end this exact command (i.e. building and check):

$ ./gradlew clean build check publishToMavenLocal --stacktrace --info
Bartosz Małkowski commented 4 years ago

Compilation report attached.

compilation-report.txt

wojciech.kapcia@tigase.net commented 4 years ago

@bmalkow while checking #issue #24 I got interesting error:

* What went wrong:
Execution failed for task ':allTests'.
> Failed to execute all tests:
  :jsBrowserTest: java.lang.IllegalStateException: Errors occurred during launch of browser for testing.
  - ChromeHeadless
  Please make sure that you have installed browsers.
  Or change it via
  browser {
      testTask {
          useKarma {
              useFirefox()
              useChrome()
              useSafari()
          }
      }
  }

So now I have simple question: do you have Chrome installed on your machine? I think that it fails for me and TeamCity because Chrome is missing. Should we install some "headless browser" maybe? Or is it even possible to run the test in a headless environment?

EDIT: from your logs:

Launching browsers ChromeHeadless with concurrency unlimited
Starting browser ChromeHeadless
Connected on socket ToX0poMP4uF9ij5PAAAA with id 74971693

It fails for me.

Bartosz Małkowski commented 4 years ago

I have Chrome installed. If it should be well tested, then some headless browser should be installed. The other solution is run only jam tests.

wojciech.kapcia@tigase.net commented 4 years ago

OK. I just checked Agen't machine and it does have Chrome (or at least it seems it does): https://github.com/tigase/devops-teamcity-agent/blob/master/dockerimg/Dockerfile#L54…

wojciech.kapcia@tigase.net commented 4 years ago

@bmalkow - is it possible to configure gradle so test failure wouldn't mark whole build as failed (see testFailureIgnore from surefire). It would seem the best option. Alternatively - is it possible to somwhow pass configuration from commandline? You can disable karma tests with:

kotlin {
    js {
        browser {
            testTask {
                enabled = false
            }
        }
        binaries.executable()
        // . . .
    }
}

I was thinking using something like -Djs.browser.testTask.enabled=false could skip running browser test.

I went back to this task as it kind prevents publishing maven artifacts from #issue #25.

wojciech.kapcia@tigase.net commented 4 years ago

Addendum, I tried running the project with -x jsIrBrowserTest, and -x allTests (and even -x test, but that task is not reported by gradle) but each time the build failed one way or another...:

Gradle is truly remarkable...

Bartosz Małkowski commented 4 years ago

I skipped browser tests in TC build configuration.

wojciech.kapcia@tigase.net commented 4 years ago

Great! Thank you.

Passing build with tests: https://tc.tigase.net/buildConfiguration/Halcyon_BuildArtur/67517

Relevant configuration:

-x jsIrBrowserTest -x jsLegacyBrowserTest
issue 1 of 1
Type
Task
Priority
Normal
Assignee
Spent time
4h 15m
Issue Votes (0)
Watchers (0)
Reference
tigase/_libraries/halcyon#39
Please wait...
Page is in error, reload to recover