Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

  • Easily define and run categories of tests
  • Uses the standard gradle test task
  • IDE support for running tests in parallel
  • Built-in allocation testing support for realtime safety
  • Built on JUnit 5, Gradle, and JVM
  • Load resources using file APIs with the resource.dir JVM property
  • runningOnCIServer boolean JVM property to improve running tests locally
  • Support for projects using ihmc-build plugin
  • Generate empty test results when no tests are present to avoid false negative builds
  • Provide list of tests and tags to be run in console output i.e. no uncertainty about which tests are run
  • Set up full lifecycle logging for tests in --info log level i.e. started, passed, failed, skipped

Download

plugins {
   id("us.ihmc.ihmc-build") version "0.15.5"
   id("us.ihmc.ihmc-ci") version "3.4"
}

...

CategoryConfigurationSummary
fastclassesPerJVM = 0 // no limit
maxJVMs = 2
maxParallelTests = 4

Run untagged tests as fast as possible.

Assume no special runtime requirements.

allocationclassesPerJVM = 0
maxJVMs = 2
maxParallelTests = 1
includeTags += "allocation"
jvmArgs += "allocationAgent"
Run only 1 test per JVM process so allocations don't overlap.
Uses provided special accessor, allocationAgentJVMArg,
to get -javaagent:[..]java-allocation-instrumenter[..].jar
scsclassesPerJVM = 1
maxJVMs = 2
maxParallelTests = 1
includeTags += "scs"
minHeapSizeGB = 6
maxHeapSizeGB = 8
Run SCS tests.
(Will eventually move SCS Gradle plugin)
These are the default settings for SCS. Accessible via getSCSDefaultJVMArgs().
videoclassesPerJVM = 1
maxJVMs = 2
maxParallelTests = 1
includeTags += "video"
jvmProperties["create.scs.gui"] = "true"
jvmProperties["show.scs.windows"] = "true"
jvmProperties["create.videos.dir"] = "/home/shadylady/bamboo-videos/"
jvmProperties["show.scs.yographics"] = "true"
jvmProperties["java.awt.headless"] = "false"
jvmProperties["create.videos"] = "true"
jvmProperties["openh264.license"] = "accept"
jvmProperties["disable.joint.subsystem.publisher"] = "true"
jvmProperties["scs.dataBuffer.size"] = "8142"
minHeapSizeGB = 6
maxHeapSizeGB = 8

Run SCS video recordings.

(Will eventually move SCS Gradle plugin)

Custom categories

In your project's build.gradle.kts (Kotlin):

...