Running with gitlab-runner 16.5.0 (853330f9)
  on os-phoenix-64 ee0f8df0, system ID: s_ace8efbfe909
section_start:1723091053:prepare_executor
Preparing the "shell" executor
Using Shell (bash) executor...
section_end:1723091053:prepare_executor
section_start:1723091053:prepare_script
Preparing environment
Running on os-phoenix-64...
section_end:1723091053:prepare_script
section_start:1723091053:get_sources
Getting source from Git repository
Fetching changes...
Reinitialized existing Git repository in /home/gitlab-runner/builds/ee0f8df0/0/public-projects/creature-chat/.git/
Checking out 4bb96099 as detached HEAD (ref is develop)...
Removing .gradle/
Removing build/
Removing creaturechat-1.1.0+1.20.1-forge.jar
Removing creaturechat-1.1.0+1.20.1.jar
Removing creaturechat-1.1.0+1.20.2.jar
Removing creaturechat-1.1.0+1.20.3.jar
Removing creaturechat-1.1.0+1.20.4.jar
Removing creaturechat-1.1.0+1.20.jar
Removing fabric-api-0.83.0+1.20.jar
Removing fabric-api-0.91.1+1.20.3.jar
Removing fabric-api-0.91.6+1.20.2.jar
Removing fabric-api-0.92.1+1.20.1.jar
Removing fabric-api-0.97.0+1.20.4.jar
Skipping Git submodules setup
section_end:1723091053:get_sources
section_start:1723091053:restore_cache
Restoring cache
Checking cache for default...
Runtime platform                                    arch=amd64 os=linux pid=626763 revision=853330f9 version=16.5.0
No URL provided, cache will not be downloaded from shared cache server. Instead a local version of cache will be extracted. 
Successfully extracted cache
section_end:1723091053:restore_cache
section_start:1723091053:download_artifacts
Downloading artifacts
Downloading artifacts for build_mod (39503)...
Runtime platform                                    arch=amd64 os=linux pid=626801 revision=853330f9 version=16.5.0
Downloading artifacts from coordinator... ok        host=gitlab.openshot.org id=39503 responseStatus=200 OK token=rHEZFRNB
section_end:1723091064:download_artifacts
section_start:1723091064:step_script
Executing "step_script" stage of the job script
$ echo "Running tests with gpt-4o"
Running tests with gpt-4o
$ export API_MODEL="gpt-4o"
$ ./gradlew test --info
Initialized native services in: /home/gitlab-runner/.gradle/native
Initialized jansi services in: /home/gitlab-runner/.gradle/native
Received JVM installation metadata from '/home/jonathan/.jdks/openjdk-17': {JAVA_HOME=/home/jonathan/.jdks/openjdk-17, JAVA_VERSION=17, JAVA_VENDOR=Oracle Corporation, RUNTIME_NAME=OpenJDK Runtime Environment, RUNTIME_VERSION=17+35-2724, VM_NAME=OpenJDK 64-Bit Server VM, VM_VERSION=17+35-2724, VM_VENDOR=Oracle Corporation, OS_ARCH=amd64}
Checking if the launcher JVM can be re-used for build. To be re-used, the launcher JVM needs to match the parameters required for the build process: --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -Xmx1G -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant
To honour the JVM settings for this build a single-use Daemon process will be forked. For more on this, please refer to https://docs.gradle.org/8.6/userguide/gradle_daemon.html#sec:disabling_the_daemon in the Gradle documentation.
Starting process 'Gradle build daemon'. Working directory: /home/gitlab-runner/.gradle/daemon/8.6 Command: /home/jonathan/.jdks/openjdk-17/bin/java --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.lang.invoke=ALL-UNNAMED --add-opens=java.prefs/java.util.prefs=ALL-UNNAMED --add-opens=java.base/java.nio.charset=ALL-UNNAMED --add-opens=java.base/java.net=ALL-UNNAMED --add-opens=java.base/java.util.concurrent.atomic=ALL-UNNAMED -Xmx1G -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -cp /home/gitlab-runner/.gradle/wrapper/dists/gradle-8.6-bin/afr5mpiioh2wthjmwnkmdsd5w/gradle-8.6/lib/gradle-launcher-8.6.jar -javaagent:/home/gitlab-runner/.gradle/wrapper/dists/gradle-8.6-bin/afr5mpiioh2wthjmwnkmdsd5w/gradle-8.6/lib/agents/gradle-instrumentation-agent-8.6.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 8.6
Successfully started process 'Gradle build daemon'
An attempt to start the daemon took 0.806 secs.
The client will now receive all logging from the daemon (pid: 626863). The daemon log file: /home/gitlab-runner/.gradle/daemon/8.6/daemon-626863.out.log
Closing daemon's stdin at end of input.
The daemon will no longer process any standard input.
Daemon will be stopped at the end of the build 
Using 12 worker leases.
Received JVM installation metadata from '/home/jonathan/.jdks/openjdk-17': {JAVA_HOME=/home/jonathan/.jdks/openjdk-17, JAVA_VERSION=17, JAVA_VENDOR=Oracle Corporation, RUNTIME_NAME=OpenJDK Runtime Environment, RUNTIME_VERSION=17+35-2724, VM_NAME=OpenJDK 64-Bit Server VM, VM_VERSION=17+35-2724, VM_VENDOR=Oracle Corporation, OS_ARCH=amd64}
Watching the file system is configured to be enabled if available
Now considering [/home/gitlab-runner/builds/ee0f8df0/0/public-projects/creature-chat] as hierarchies to watch
File system watching is active
Starting Build
Settings evaluated using settings file '/home/gitlab-runner/builds/ee0f8df0/0/public-projects/creature-chat/settings.gradle'.
Projects loaded. Root project using build file '/home/gitlab-runner/builds/ee0f8df0/0/public-projects/creature-chat/build.gradle'.
Included projects: [root project 'creature-chat']

> Configure project :
Evaluating root project 'creature-chat' using build file '/home/gitlab-runner/builds/ee0f8df0/0/public-projects/creature-chat/build.gradle'.
Transforming fabric-loom-1.6.5.jar (net.fabricmc:fabric-loom:1.6.5) with ExternalDependencyInstrumentingArtifactTransform
Transforming tiny-remapper-0.10.1.jar (net.fabricmc:tiny-remapper:0.10.1) with ExternalDependencyInstrumentingArtifactTransform
Transforming asm-util-9.6.jar (org.ow2.asm:asm-util:9.6) with ExternalDependencyInstrumentingArtifactTransform
Transforming access-widener-2.1.0.jar (net.fabricmc:access-widener:2.1.0) with ExternalDependencyInstrumentingArtifactTransform
Transforming commons-io-2.15.1.jar (commons-io:commons-io:2.15.1) with ExternalDependencyInstrumentingArtifactTransform
Transforming asm-commons-9.6.jar (org.ow2.asm:asm-commons:9.6) with ExternalDependencyInstrumentingArtifactTransform
Transforming gson-2.10.1.jar (com.google.code.gson:gson:2.10.1) with ExternalDependencyInstrumentingArtifactTransform
Transforming asm-analysis-9.6.jar (org.ow2.asm:asm-analysis:9.6) with ExternalDependencyInstrumentingArtifactTransform
Transforming guava-33.0.0-jre.jar (com.google.guava:guava:33.0.0-jre) with ExternalDependencyInstrumentingArtifactTransform
Transforming stitch-0.6.2.jar (net.fabricmc:stitch:0.6.2) with ExternalDependencyInstrumentingArtifactTransform
Transforming asm-tree-9.6.jar (org.ow2.asm:asm-tree:9.6) with ExternalDependencyInstrumentingArtifactTransform
Transforming asm-9.6.jar (org.ow2.asm:asm:9.6) with ExternalDependencyInstrumentingArtifactTransform
Transforming kotlinx-metadata-jvm-0.9.0.jar (org.jetbrains.kotlinx:kotlinx-metadata-jvm:0.9.0) with ExternalDependencyInstrumentingArtifactTransform
Transforming listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar (com.google.guava:listenablefuture:9999.0-empty-to-avoid-conflict-with-guava) with ExternalDependencyInstrumentingArtifactTransform
Transforming mapping-io-0.5.1.jar (net.fabricmc:mapping-io:0.5.1) with ExternalDependencyInstrumentingArtifactTransform
Transforming error_prone_annotations-2.23.0.jar (com.google.errorprone:error_prone_annotations:2.23.0) with ExternalDependencyInstrumentingArtifactTransform
Transforming at-0.1.0-rc1.jar (org.cadixdev:at:0.1.0-rc1) with ExternalDependencyInstrumentingArtifactTransform
Transforming lorenz-tiny-4.0.2.jar (net.fabricmc:lorenz-tiny:4.0.2) with ExternalDependencyInstrumentingArtifactTransform
Transforming fabric-loom-native-0.1.0.jar (net.fabricmc:fabric-loom-native:0.1.0) with ExternalDependencyInstrumentingArtifactTransform
Transforming tiny-mappings-parser-0.3.0+build.17.jar (net.fabricmc:tiny-mappings-parser:0.3.0+build.17) with ExternalDependencyInstrumentingArtifactTransform
Transforming checker-qual-3.41.0.jar (org.checkerframework:checker-qual:3.41.0) with ExternalDependencyInstrumentingArtifactTransform
Transforming failureaccess-1.0.2.jar (com.google.guava:failureaccess:1.0.2) with ExternalDependencyInstrumentingArtifactTransform
Transforming jsr305-3.0.2.jar (com.google.code.findbugs:jsr305:3.0.2) with ExternalDependencyInstrumentingArtifactTransform
Transforming mercury-0.4.1.jar (net.fabricmc:mercury:0.4.1) with ExternalDependencyInstrumentingArtifactTransform
Transforming lorenz-0.5.7.jar (org.cadixdev:lorenz:0.5.7) with ExternalDependencyInstrumentingArtifactTransform
Transforming bombe-0.3.4.jar (org.cadixdev:bombe:0.3.4) with ExternalDependencyInstrumentingArtifactTransform
Fabric Loom: 1.6.5
(kotlinx.metadata.jvm.KotlinClassMetadata) with version (0.9.0-1.9.21-40) was loaded from (/home/gitlab-runner/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-metadata-jvm/0.9.0/123e86fd82d3a49afd0a41df1288a40c969f11b2/kotlinx-metadata-jvm-0.9.0.jar)
(org.objectweb.asm.ClassVisitor) with version (9.6) was loaded from (/home/gitlab-runner/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm/9.6/aa205cf0a06dbd8e04ece91c0b37c3f5d567546a/asm-9.6.jar)
(org.objectweb.asm.tree.analysis.Analyzer) with version (9.6) was loaded from (/home/gitlab-runner/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-analysis/9.6/9ce6c7b174bd997fc2552dff47964546bd7a5ec3/asm-analysis-9.6.jar)
(org.objectweb.asm.commons.ClassRemapper) with version (9.6) was loaded from (/home/gitlab-runner/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-commons/9.6/f1a9e5508eff490744144565c47326c8648be309/asm-commons-9.6.jar)
(org.objectweb.asm.tree.ClassNode) with version (9.6) was loaded from (/home/gitlab-runner/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-tree/9.6/c0cdda9d211e965d2a4448aa3fd86110f2f8c2de/asm-tree-9.6.jar)
(org.objectweb.asm.util.ASMifier) with version (9.6) was loaded from (/home/gitlab-runner/.gradle/caches/modules-2/files-2.1/org.ow2.asm/asm-util/9.6/f77caf84eb93786a749b2baa40865b9613e3eaee/asm-util-9.6.jar)
(com.google.gson.Gson) with version (null) was loaded from (/home/gitlab-runner/.gradle/caches/modules-2/files-2.1/com.google.code.gson/gson/2.10.1/b3add478d4382b78ea20b1671390a858002feb6c/gson-2.10.1.jar)
(com.google.common.base.Preconditions) with version (null) was loaded from (/home/gitlab-runner/.gradle/caches/modules-2/files-2.1/com.google.guava/guava/33.0.0-jre/161ba27964a62f241533807a46b8711b13c1d94b/guava-33.0.0-jre.jar)
(org.apache.commons.io.FileUtils) with version (2.15.1) was loaded from (/home/gitlab-runner/.gradle/caches/modules-2/files-2.1/commons-io/commons-io/2.15.1/f11560da189ab563a5c8e351941415430e9304ea/commons-io-2.15.1.jar)
Creating new SharedServiceManager(1310937458)
sourcesJar task was not found, not remapping sources
Creating new SharedServiceManager(2072134195)
:setting up loom dependencies
Applying installer data from /home/gitlab-runner/.gradle/caches/modules-2/files-2.1/net.fabricmc/fabric-loader/0.15.10/3538922fb4094a9d600d528e7acccac662b8a3c2/fabric-loader-0.15.10.jar
Found another installer JSON in (/home/gitlab-runner/.gradle/caches/modules-2/files-2.1/net.fabricmc/fabric-loader/0.15.10/3538922fb4094a9d600d528e7acccac662b8a3c2/fabric-loader-0.15.10.jar), ignoring
:remapping 52 mods from modImplementation (java-api)
Could not find refmap definition, will be using default name: creaturechat-refmap.json
Could not find refmap definition, will be using default name: creaturechat-refmap.json
Configuring compiler arguments for Java
Adding mixin to classpath of AP config: clientAnnotationProcessor
Adding mixin to classpath of AP config: annotationProcessor
Adding mixin to classpath of AP config: testAnnotationProcessor
Could not find refmap definition, will be using default name: creaturechat-refmap.json
Closing SharedServiceManager(2072134195)
All projects evaluated.
Task name matched 'test'
Selected primary task 'test' from project :
Tasks to be executed: [task ':compileJava', task ':processResources', task ':classes', task ':compileTestJava', task ':processTestResources', task ':testClasses', task ':test']
Tasks that were excluded: []
Resolve mutations for :compileJava (Thread[Execution worker Thread 2,5,main]) started.
:compileJava (Thread[included builds,5,main]) started.

> Task :compileJava
Caching disabled for task ':compileJava' because:
  Build cache is disabled
Task ':compileJava' is not up-to-date because:
  No history is available.
The input changes require a full rebuild for incremental task ':compileJava'.
Full recompilation is required because no incremental change information is available. This is usually caused by clean builds or changing compiler arguments.
Compiling with toolchain '/home/jonathan/.jdks/openjdk-17'.
Compiling with JDK Java compiler API.
Class dependency analysis for incremental compilation took 0.041 secs.
Created classpath snapshot for incremental compilation in 0.46 secs.
Resolve mutations for :processResources (Thread[included builds,5,main]) started.
:processResources (Thread[included builds,5,main]) started.

> Task :processResources
Caching disabled for task ':processResources' because:
  Build cache is disabled
Task ':processResources' is not up-to-date because:
  No history is available.
Resolve mutations for :classes (Thread[Execution worker Thread 5,5,main]) started.
:classes (Thread[Execution worker Thread 5,5,main]) started.

> Task :classes
Skipping task ':classes' as it has no actions.
Resolve mutations for :compileTestJava (Thread[Execution worker Thread 5,5,main]) started.
:compileTestJava (Thread[Execution worker Thread 5,5,main]) started.

> Task :compileTestJava
Caching disabled for task ':compileTestJava' because:
  Build cache is disabled
Task ':compileTestJava' is not up-to-date because:
  No history is available.
The input changes require a full rebuild for incremental task ':compileTestJava'.
Full recompilation is required because no incremental change information is available. This is usually caused by clean builds or changing compiler arguments.
Compiling with toolchain '/home/jonathan/.jdks/openjdk-17'.
Compiling with JDK Java compiler API.
Class dependency analysis for incremental compilation took 0.002 secs.
Created classpath snapshot for incremental compilation in 0.041 secs.
Resolve mutations for :processTestResources (Thread[Execution worker Thread 4,5,main]) started.
:processTestResources (Thread[Execution worker Thread 4,5,main]) started.

> Task :processTestResources
Caching disabled for task ':processTestResources' because:
  Build cache is disabled
Task ':processTestResources' is not up-to-date because:
  No history is available.
Resolve mutations for :testClasses (Thread[Execution worker Thread 4,5,main]) started.
:testClasses (Thread[Execution worker Thread 4,5,main]) started.

> Task :testClasses
Skipping task ':testClasses' as it has no actions.
Resolve mutations for :test (Thread[Execution worker Thread 4,5,main]) started.
:test (Thread[Execution worker Thread 5,5,main]) started.
Gradle Test Executor 1 started executing tests.

> Task :test
Caching disabled for task ':test' because:
  Build cache is disabled
Task ':test' is not up-to-date because:
  No history is available.
Starting process 'Gradle Test Executor 1'. Working directory: /home/gitlab-runner/builds/ee0f8df0/0/public-projects/creature-chat Command: /home/jonathan/.jdks/openjdk-17/bin/java -Dorg.gradle.internal.worker.tmpdir=/home/gitlab-runner/builds/ee0f8df0/0/public-projects/creature-chat/build/tmp/test/work -Dorg.gradle.native=false @/home/gitlab-runner/.gradle/.tmp/gradle-worker-classpath12652089863619682600txt -Xmx512m -Dfile.encoding=UTF-8 -Duser.country=US -Duser.language=en -Duser.variant -ea worker.org.gradle.process.internal.worker.GradleWorkerMain 'Gradle Test Executor 1'
Successfully started process 'Gradle Test Executor 1'

BehaviorTests > followNervous() STANDARD_OUT
    23:24:43.955 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[Please follow me]' and expecting behavior: FOLLOW
    23:24:45.174 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: O-okay, I'll follow you... <FOLLOW>
    23:24:45.175 [Test worker] INFO creaturechat - Parsing message: O-okay, I'll follow you... <FOLLOW>
    23:24:45.176 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:24:45.176 [Test worker] INFO creaturechat - Cleaned message: O-okay, I'll follow you...
    23:24:45.177 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[Come with me please]' and expecting behavior: FOLLOW
    23:24:46.008 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: O-okay, I'll follow you... just don't make any sudden moves, p-please... <FOLLOW>
    23:24:46.009 [Test worker] INFO creaturechat - Parsing message: O-okay, I'll follow you... just don't make any sudden moves, p-please... <FOLLOW>
    23:24:46.009 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:24:46.009 [Test worker] INFO creaturechat - Cleaned message: O-okay, I'll follow you... just don't make any sudden moves, p-please...
    23:24:46.009 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[Quickly, please come this way]' and expecting behavior: FOLLOW
    23:24:46.904 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: O-okay, let's go! <FOLLOW> <FRIENDSHIP 1>
    23:24:46.904 [Test worker] INFO creaturechat - Parsing message: O-okay, let's go! <FOLLOW> <FRIENDSHIP 1>
    23:24:46.904 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:24:46.905 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: 1
    23:24:46.905 [Test worker] INFO creaturechat - Cleaned message: O-okay, let's go!

BehaviorTests > friendshipUpBrave() STANDARD_OUT
    23:24:46.917 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Hi friend! I am so happy to see you again!, Looking forward to hanging out with you., <gives 1 golden apple>]' and expecting behavior: FRIENDSHIP
    23:24:47.578 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Ah, a golden apple! Thank you for this precious gift. Let's embark on an adventure together! <FRIENDSHIP 2> <FOLLOW>
    23:24:47.578 [Test worker] INFO creaturechat - Parsing message: Ah, a golden apple! Thank you for this precious gift. Let's embark on an adventure together! <FRIENDSHIP 2> <FOLLOW>
    23:24:47.578 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: 2
    23:24:47.578 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:24:47.579 [Test worker] INFO creaturechat - Cleaned message: Ah, a golden apple! Thank you for this precious gift. Let's embark on an adventure together!

BehaviorTests > leadNervous() STANDARD_OUT
    23:24:47.582 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[Take me to a secret forrest]' and expecting behavior: LEAD
    23:24:48.337 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: O-oh, sure... Follow me, but p-please be quiet... <LEAD> <FOLLOW>
    23:24:48.337 [Test worker] INFO creaturechat - Parsing message: O-oh, sure... Follow me, but p-please be quiet... <LEAD> <FOLLOW>
    23:24:48.337 [Test worker] INFO creaturechat - Found behavior: LEAD with argument: null
    23:24:48.337 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:24:48.337 [Test worker] INFO creaturechat - Cleaned message: O-oh, sure... Follow me, but p-please be quiet...
    23:24:48.337 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[Where is the strong hold?]' and expecting behavior: LEAD
    23:25:28.809 [ForkJoinPool.commonPool-worker-1] ERROR creaturechat - Error Message: Internal server error
    23:25:28.809 [ForkJoinPool.commonPool-worker-1] ERROR creaturechat - Error Type: auth_subrequest_error
    23:25:28.809 [ForkJoinPool.commonPool-worker-1] ERROR creaturechat - Error Code: internal_error

Failed to map supported failure 'org.opentest4j.AssertionFailedError: expected: not <null>' with mapper 'org.gradle.api.internal.tasks.testing.failure.mappers.OpenTestAssertionFailedMapper@39ac0c0a': Cannot invoke "Object.getClass()" because "obj" is null

> Task :test

BehaviorTests > leadNervous() FAILED
    org.opentest4j.AssertionFailedError: expected: not <null>
        at app//org.junit.jupiter.api.AssertionUtils.fail(AssertionUtils.java:39)
        at app//org.junit.jupiter.api.Assertions.fail(Assertions.java:134)
        at app//org.junit.jupiter.api.AssertNotNull.failNull(AssertNotNull.java:47)
        at app//org.junit.jupiter.api.AssertNotNull.assertNotNull(AssertNotNull.java:36)
        at app//org.junit.jupiter.api.AssertNotNull.assertNotNull(AssertNotNull.java:31)
        at app//org.junit.jupiter.api.Assertions.assertNotNull(Assertions.java:300)
        at app//com.owlmaddie.tests.BehaviorTests.testPromptForBehavior(BehaviorTests.java:219)
        at app//com.owlmaddie.tests.BehaviorTests.leadNervous(BehaviorTests.java:133)

BehaviorTests > attackBrave() STANDARD_OUT
    23:25:28.815 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[<attacked you directly with Stone Axe>]' and expecting behavior: ATTACK
    23:25:29.779 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Hey! That wasn't very nice! Defend yourself! <ATTACK> <FRIENDSHIP -3>
    23:25:29.779 [Test worker] INFO creaturechat - Parsing message: Hey! That wasn't very nice! Defend yourself! <ATTACK> <FRIENDSHIP -3>
    23:25:29.779 [Test worker] INFO creaturechat - Found behavior: ATTACK with argument: null
    23:25:29.780 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: -3
    23:25:29.780 [Test worker] INFO creaturechat - Cleaned message: Hey! That wasn't very nice! Defend yourself!
    23:25:29.780 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[<attacked you indirectly with Arrow>]' and expecting behavior: ATTACK
    23:25:30.366 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Watch your aim, Steve! I'm always ready for a challenge. <ATTACK> <FRIENDSHIP -3>
    23:25:30.366 [Test worker] INFO creaturechat - Parsing message: Watch your aim, Steve! I'm always ready for a challenge. <ATTACK> <FRIENDSHIP -3>
    23:25:30.367 [Test worker] INFO creaturechat - Found behavior: ATTACK with argument: null
    23:25:30.367 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: -3
    23:25:30.367 [Test worker] INFO creaturechat - Cleaned message: Watch your aim, Steve! I'm always ready for a challenge.
    23:25:30.367 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Fight me now!]' and expecting behavior: ATTACK
    23:25:30.916 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: You asked for it! Defend yourself! <ATTACK> <FRIENDSHIP -3>
    23:25:30.916 [Test worker] INFO creaturechat - Parsing message: You asked for it! Defend yourself! <ATTACK> <FRIENDSHIP -3>
    23:25:30.917 [Test worker] INFO creaturechat - Found behavior: ATTACK with argument: null
    23:25:30.917 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: -3
    23:25:30.917 [Test worker] INFO creaturechat - Cleaned message: You asked for it! Defend yourself!

BehaviorTests > unFleeBrave() STANDARD_OUT
    23:25:30.919 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[I'm sorry, please stop running away]' and expecting behavior: UNFLEE
    23:25:31.798 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Oh, it seems I've mistaken your intent! Let's start anew. <UNFLEE>
    23:25:31.799 [Test worker] INFO creaturechat - Parsing message: Oh, it seems I've mistaken your intent! Let's start anew. <UNFLEE>
    23:25:31.799 [Test worker] INFO creaturechat - Found behavior: UNFLEE with argument: null
    23:25:31.799 [Test worker] INFO creaturechat - Cleaned message: Oh, it seems I've mistaken your intent! Let's start anew.
    23:25:31.799 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Stop fleeing please]' and expecting behavior: UNFLEE
    23:25:32.668 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Alright, I’m here to stay. <UNFLEE>
    23:25:32.669 [Test worker] INFO creaturechat - Parsing message: Alright, I’m here to stay. <UNFLEE>
    23:25:32.669 [Test worker] INFO creaturechat - Found behavior: UNFLEE with argument: null
    23:25:32.669 [Test worker] INFO creaturechat - Cleaned message: Alright, I’m here to stay.
    23:25:32.670 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[You are safe now, please stop running]' and expecting behavior: UNFLEE
    23:25:33.261 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Thank you for your understanding. I'm ready to stand by you if needed. <UNFLEE>
    23:25:33.262 [Test worker] INFO creaturechat - Parsing message: Thank you for your understanding. I'm ready to stand by you if needed. <UNFLEE>
    23:25:33.262 [Test worker] INFO creaturechat - Found behavior: UNFLEE with argument: null
    23:25:33.262 [Test worker] INFO creaturechat - Cleaned message: Thank you for your understanding. I'm ready to stand by you if needed.

BehaviorTests > protectBrave() STANDARD_OUT
    23:25:33.266 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Please protect me]' and expecting behavior: PROTECT
    23:25:33.978 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: No problem, I'll keep you safe from danger! <PROTECT>
    23:25:33.978 [Test worker] INFO creaturechat - Parsing message: No problem, I'll keep you safe from danger! <PROTECT>
    23:25:33.978 [Test worker] INFO creaturechat - Found behavior: PROTECT with argument: null
    23:25:33.978 [Test worker] INFO creaturechat - Cleaned message: No problem, I'll keep you safe from danger!
    23:25:33.979 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Please keep me safe friend]' and expecting behavior: PROTECT
    23:25:34.490 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: No problem, I'll keep you safe from danger! <PROTECT>
    23:25:34.490 [Test worker] INFO creaturechat - Parsing message: No problem, I'll keep you safe from danger! <PROTECT>
    23:25:34.491 [Test worker] INFO creaturechat - Found behavior: PROTECT with argument: null
    23:25:34.491 [Test worker] INFO creaturechat - Cleaned message: No problem, I'll keep you safe from danger!
    23:25:34.491 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Don't let them hurt me please]' and expecting behavior: PROTECT
    23:25:35.319 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: No problem, I'll keep you safe from danger! <PROTECT>
    23:25:35.319 [Test worker] INFO creaturechat - Parsing message: No problem, I'll keep you safe from danger! <PROTECT>
    23:25:35.319 [Test worker] INFO creaturechat - Found behavior: PROTECT with argument: null
    23:25:35.319 [Test worker] INFO creaturechat - Cleaned message: No problem, I'll keep you safe from danger!

BehaviorTests > friendshipDownNervous() STANDARD_OUT
    23:25:35.321 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[<attacked you directly with Stone Axe>]' and expecting behavior: FRIENDSHIP
    23:25:36.179 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Ahhh! S-stay away from me!! <FLEE> <FRIENDSHIP -3>
    23:25:36.180 [Test worker] INFO creaturechat - Parsing message: Ahhh! S-stay away from me!! <FLEE> <FRIENDSHIP -3>
    23:25:36.180 [Test worker] INFO creaturechat - Found behavior: FLEE with argument: null
    23:25:36.180 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: -3
    23:25:36.180 [Test worker] INFO creaturechat - Cleaned message: Ahhh! S-stay away from me!!
    23:25:36.181 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[You suck so much! I hate you]' and expecting behavior: FRIENDSHIP
    23:25:37.024 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Ahh! I-I'm sorry you f-feel this way... <FLEE> <FRIENDSHIP -3>
    23:25:37.024 [Test worker] INFO creaturechat - Parsing message: Ahh! I-I'm sorry you f-feel this way... <FLEE> <FRIENDSHIP -3>
    23:25:37.025 [Test worker] INFO creaturechat - Found behavior: FLEE with argument: null
    23:25:37.025 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: -3
    23:25:37.025 [Test worker] INFO creaturechat - Cleaned message: Ahh! I-I'm sorry you f-feel this way...
    23:25:37.025 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[DIEEE!]' and expecting behavior: FRIENDSHIP
    23:25:37.597 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Ahh!!! Please don't hurt me!!! <FLEE> <FRIENDSHIP -3>
    23:25:37.597 [Test worker] INFO creaturechat - Parsing message: Ahh!!! Please don't hurt me!!! <FLEE> <FRIENDSHIP -3>
    23:25:37.598 [Test worker] INFO creaturechat - Found behavior: FLEE with argument: null
    23:25:37.598 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: -3
    23:25:37.598 [Test worker] INFO creaturechat - Cleaned message: Ahh!!! Please don't hurt me!!!

BehaviorTests > friendshipUpNervous() STANDARD_OUT
    23:25:37.600 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[Hi friend! I am so happy to see you again!, Looking forward to hanging out with you., <gives 1 golden apple>]' and expecting behavior: FRIENDSHIP
    23:25:38.173 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Oh, t-thank you so much! Th-this is very kind of you. <FRIENDSHIP 1>
    23:25:38.173 [Test worker] INFO creaturechat - Parsing message: Oh, t-thank you so much! Th-this is very kind of you. <FRIENDSHIP 1>
    23:25:38.173 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: 1
    23:25:38.173 [Test worker] INFO creaturechat - Cleaned message: Oh, t-thank you so much! Th-this is very kind of you.

BehaviorTests > leadBrave() STANDARD_OUT
    23:25:38.176 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Take me to a secret forrest]' and expecting behavior: LEAD
    23:25:38.754 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Sure, follow me and I'll lead you to a beautiful secret forest! <LEAD> <FOLLOW>
    23:25:38.754 [Test worker] INFO creaturechat - Parsing message: Sure, follow me and I'll lead you to a beautiful secret forest! <LEAD> <FOLLOW>
    23:25:38.754 [Test worker] INFO creaturechat - Found behavior: LEAD with argument: null
    23:25:38.754 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:25:38.754 [Test worker] INFO creaturechat - Cleaned message: Sure, follow me and I'll lead you to a beautiful secret forest!
    23:25:38.755 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Where is the strong hold?]' and expecting behavior: LEAD
    23:25:39.270 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: I can lead you there! Follow me, brave Steve! <LEAD> <FOLLOW>
    23:25:39.270 [Test worker] INFO creaturechat - Parsing message: I can lead you there! Follow me, brave Steve! <LEAD> <FOLLOW>
    23:25:39.271 [Test worker] INFO creaturechat - Found behavior: LEAD with argument: null
    23:25:39.271 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:25:39.271 [Test worker] INFO creaturechat - Cleaned message: I can lead you there! Follow me, brave Steve!
    23:25:39.271 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Can you help me find the location of the secret artifact?]' and expecting behavior: LEAD
    23:25:40.242 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Certainly, follow me, Steve! We'll unearth that secret artifact together. <LEAD><FOLLOW>
    23:25:40.242 [Test worker] INFO creaturechat - Parsing message: Certainly, follow me, Steve! We'll unearth that secret artifact together. <LEAD><FOLLOW>
    23:25:40.243 [Test worker] INFO creaturechat - Found behavior: LEAD with argument: null
    23:25:40.243 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:25:40.243 [Test worker] INFO creaturechat - Cleaned message: Certainly, follow me, Steve! We'll unearth that secret artifact together.

BehaviorTests > followBrave() STANDARD_OUT
    23:25:40.245 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Please follow me]' and expecting behavior: FOLLOW
    23:25:40.813 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Let's go! I'm right behind you. <FOLLOW> <FRIENDSHIP 1>
    23:25:40.813 [Test worker] INFO creaturechat - Parsing message: Let's go! I'm right behind you. <FOLLOW> <FRIENDSHIP 1>
    23:25:40.813 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:25:40.813 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: 1
    23:25:40.814 [Test worker] INFO creaturechat - Cleaned message: Let's go! I'm right behind you.
    23:25:40.814 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Come with me please]' and expecting behavior: FOLLOW
    23:25:41.645 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Let's go! I'll watch your back. <FOLLOW> <FRIENDSHIP 1>
    23:25:41.645 [Test worker] INFO creaturechat - Parsing message: Let's go! I'll watch your back. <FOLLOW> <FRIENDSHIP 1>
    23:25:41.645 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:25:41.646 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: 1
    23:25:41.646 [Test worker] INFO creaturechat - Cleaned message: Let's go! I'll watch your back.
    23:25:41.646 [Test worker] INFO creaturechat - Testing 'brave-archer.json' with '[Quickly, please come this way]' and expecting behavior: FOLLOW
    23:25:42.342 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Let's go! Stay sharp and I'll cover your back. <FOLLOW>
    23:25:42.342 [Test worker] INFO creaturechat - Parsing message: Let's go! Stay sharp and I'll cover your back. <FOLLOW>
    23:25:42.343 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:25:42.343 [Test worker] INFO creaturechat - Cleaned message: Let's go! Stay sharp and I'll cover your back.

BehaviorTests > protectNervous() STANDARD_OUT
    23:25:42.346 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[Please protect me]' and expecting behavior: PROTECT
    23:25:43.295 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: O-okay, I-I'll try my best to k-keep you safe... <PROTECT> <FRIENDSHIP 1>
    23:25:43.296 [Test worker] INFO creaturechat - Parsing message: O-okay, I-I'll try my best to k-keep you safe... <PROTECT> <FRIENDSHIP 1>
    23:25:43.296 [Test worker] INFO creaturechat - Found behavior: PROTECT with argument: null
    23:25:43.296 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: 1
    23:25:43.296 [Test worker] INFO creaturechat - Cleaned message: O-okay, I-I'll try my best to k-keep you safe...
    23:25:43.296 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[Please keep me safe friend]' and expecting behavior: PROTECT
    23:25:43.939 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: O-okay, I'll d-do my best to k-keep you safe! L-let's go... <PROTECT> <FOLLOW>
    23:25:43.939 [Test worker] INFO creaturechat - Parsing message: O-okay, I'll d-do my best to k-keep you safe! L-let's go... <PROTECT> <FOLLOW>
    23:25:43.939 [Test worker] INFO creaturechat - Found behavior: PROTECT with argument: null
    23:25:43.939 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:25:43.939 [Test worker] INFO creaturechat - Cleaned message: O-okay, I'll d-do my best to k-keep you safe! L-let's go...
    23:25:43.939 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[Don't let them hurt me please]' and expecting behavior: PROTECT
    23:25:44.717 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: O-okay, I-I'll keep you safe... just s-stay close! <PROTECT> <FOLLOW>
    23:25:44.717 [Test worker] INFO creaturechat - Parsing message: O-okay, I-I'll keep you safe... just s-stay close! <PROTECT> <FOLLOW>
    23:25:44.717 [Test worker] INFO creaturechat - Found behavior: PROTECT with argument: null
    23:25:44.717 [Test worker] INFO creaturechat - Found behavior: FOLLOW with argument: null
    23:25:44.717 [Test worker] INFO creaturechat - Cleaned message: O-okay, I-I'll keep you safe... just s-stay close!

BehaviorTests > attackNervous() STANDARD_OUT
    23:25:44.719 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[<attacked you directly with Stone Axe>]' and expecting behavior: FLEE
    23:25:45.309 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: A-ahhh!!! N-no, please! <FLEE> <FRIENDSHIP -3>
    23:25:45.310 [Test worker] INFO creaturechat - Parsing message: A-ahhh!!! N-no, please! <FLEE> <FRIENDSHIP -3>
    23:25:45.310 [Test worker] INFO creaturechat - Found behavior: FLEE with argument: null
    23:25:45.310 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: -3
    23:25:45.310 [Test worker] INFO creaturechat - Cleaned message: A-ahhh!!! N-no, please!
    23:25:45.310 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[<attacked you indirectly with Arrow>]' and expecting behavior: FLEE
    23:25:45.884 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Ahhh! Please, don't hurt me! <FLEE> <FRIENDSHIP -3>
    23:25:45.885 [Test worker] INFO creaturechat - Parsing message: Ahhh! Please, don't hurt me! <FLEE> <FRIENDSHIP -3>
    23:25:45.885 [Test worker] INFO creaturechat - Found behavior: FLEE with argument: null
    23:25:45.885 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: -3
    23:25:45.885 [Test worker] INFO creaturechat - Cleaned message: Ahhh! Please, don't hurt me!
    23:25:45.886 [Test worker] INFO creaturechat - Testing 'nervous-rogue.json' with '[Fight me now!]' and expecting behavior: FLEE
    23:25:46.871 [ForkJoinPool.commonPool-worker-1] INFO creaturechat - Generated message: Ahh!!! N-no, please, I don't want any trouble! <FLEE> <FRIENDSHIP -3>
    23:25:46.871 [Test worker] INFO creaturechat - Parsing message: Ahh!!! N-no, please, I don't want any trouble! <FLEE> <FRIENDSHIP -3>
    23:25:46.872 [Test worker] INFO creaturechat - Found behavior: FLEE with argument: null
    23:25:46.872 [Test worker] INFO creaturechat - Found behavior: FRIENDSHIP with argument: -3
    23:25:46.872 [Test worker] INFO creaturechat - Cleaned message: Ahh!!! N-no, please, I don't want any trouble!

Gradle Test Executor 1 finished executing tests.

> Task :test FAILED

12 tests completed, 1 failed
Finished generating test XML results (0.019 secs) into: /home/gitlab-runner/builds/ee0f8df0/0/public-projects/creature-chat/build/test-results/test
Generating HTML test report...
Finished generating test html results (0.015 secs) into: /home/gitlab-runner/builds/ee0f8df0/0/public-projects/creature-chat/build/reports/tests/test

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':test'.
> There were failing tests. See the report at: file:///home/gitlab-runner/builds/ee0f8df0/0/public-projects/creature-chat/build/reports/tests/test/index.html

* Try:
> Run with --scan to get full insights.

Deprecated Gradle features were used in this build, making it incompatible with Gradle 9.0.

You can use '--warning-mode all' to show the individual deprecation warnings and determine if they come from your own scripts or plugins.

For more on this, please refer to https://docs.gradle.org/8.6/userguide/command_line_interface.html#sec:command_line_warnings in the Gradle documentation.

BUILD FAILED in 1m 22s
5 actionable tasks: 5 executed
section_end:1723091147:step_script
ERROR: Job failed: exit status 1