Skip to content

DataDog/system-tests

Folders and files

NameName
Last commit message
Last commit date

Latest commit

0153b74 · Apr 24, 2025
Apr 22, 2025
Apr 3, 2025
Apr 17, 2025
Oct 4, 2021
Apr 15, 2025
Apr 10, 2025
Apr 24, 2025
Apr 24, 2025
Apr 24, 2025
Aug 30, 2024
Dec 19, 2024
Apr 11, 2025
Apr 10, 2025
Mar 24, 2025
Apr 19, 2023
Feb 12, 2025
Feb 12, 2025
Apr 22, 2025
Oct 11, 2021
Sep 21, 2022
Oct 11, 2021
Feb 17, 2025
Apr 1, 2025
Mar 6, 2023
Mar 25, 2025
Oct 18, 2024
Oct 18, 2024
Oct 18, 2024
Apr 1, 2025
Apr 2, 2025
Mar 31, 2025
Apr 16, 2025
Oct 18, 2024

Repository files navigation

What is system-tests?

A workbench designed to run advanced tests (integration, smoke, functional, fuzzing and performance) against our suite of dd-trace libraries.

Requirements

bash, docker and python3.12.

We recommend to install python3.12 via pyenv: pyenv. Pyenv is a tool for managing multiple python versions and keeping system tests dependencies isolated to their virtual environment. If you don't wish to install pyenv, instructions for downloading python 3.12 on your machine can be found below:

Ubuntu

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt update
sudo apt install python3.12 python3.12-distutils python3.12-venv python3.12-dev
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3.12 get-pip.py
./build.sh -i runner

Windows

TODO

Mac

For Homebrew users :

brew install python@3.12

Getting started

Run a test

Run a test according to the run documentation; note that if you're running an end to end test, you will need to build the test infrastructure according to the build documentation before you can run the test.

Tests will only run if they are not disabled; see how tests are disabled in skip-tests.md and how tests are enabled in enable-test.md. Alternatively, you can force a disabled test to execute according to the force-execute documentation.

Output on success

Edit a test

Refer to the edit docs.

Understand the tests

Complete documentation

System-tests supports various scenarios for running tests; read more about the different kinds of tests that this repo covers in scenarios/README.md.

Understand the test architecture at the architectural overview.

Loading
flowchart TD
    BUILDNODE[./build.sh nodejs] --> BUILT
    BUILDDOTNET[./build.sh dotnet] --> BUILT
    BUILDJAVA[./build.sh java] --> BUILT
    BUILDGO[./build.sh golang] --> BUILT
    BUILDPHP[./build.sh php] --> BUILT
    BUILDPY[./build.sh python] --> BUILT
    BUILDRUBY[./build.sh ruby] --> BUILT
    BUILT[Build complete] --> RUNDEFAULT
    RUNDEFAULT[./run.sh] -->|wait| FINISH
    FINISH[Tests complete] --> LOGS
    FINISH[Tests complete] --> OUTPUT
    OUTPUT[Test output in bash]
    LOGS[Logs directory per scenario]