Running Tests

Prerequisites

Before running tests, ensure all steps in the BUILDING.md have been performed.

Running Tests By Type

Tests are broken up into five types - unit, integration, distributed, acceptance, and upgrade. They can be executed using the following commands from the Geode repository root directory:

  • Unit tests: generally test a single class and run quickly
    ./gradlew test
  • Integration tests: involve inter-operation of components or subsystems
    ./gradlew integrationTest
  • Distributed tests: involve multiple members of a distributed system.
    ./gradlew distributedTest
  • Acceptance tests: test Geode from end user perspective
    ./gradlew acceptanceTest
  • Upgrade tests: test compatibility between versions of Geode and rolling upgrades
    ./gradlew upgradeTest

Running Individual Tests

To run an individual test, you can either

  1. Run the test in your IDE
  2. Run from terminal by specifying the sub-project and test type:
    ./gradlew project:testType --tests testName
    For example:
    ./gradlew geode-core:test --tests ArrayUtilsTest
    ./gradlew geode-core:distributedTest --tests ConnectionPoolDUnitTest

Running Tests By Category

To run a specific category of tests (eg: GfshTest):
./gradlew project:testType -PtestCategory=fullyQualifiedTestClassName
For example:
./gradlew geode-core:distributedTest -PtestCategory=org.apache.geode.test.junit.categories.GfshTest

Available categories can be found in the geode-junit/src/main/java/org/apache/geode/test/junit/categories in the Geode repository.

Viewing Test Results

Test results can be viewed by navigating to build/reports/combined in the Geode repository, then opening the index.html file in your browser.