Skip to content

Files

This branch is 4414 commits behind pingcap/tiflow:master.

tests

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
Jul 21, 2020
May 26, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
Feb 4, 2021
Apr 15, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
Feb 26, 2021
Mar 17, 2021
Dec 9, 2020
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
Apr 27, 2021
Feb 4, 2021
Feb 4, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
Jan 27, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 26, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 18, 2021
May 19, 2021
May 18, 2021
Dec 9, 2020
Oct 9, 2020
May 18, 2021

Preparations

  1. The following executables must be copied or generated or linked into these locations, sync_diff_inspector can be downloaded from tidb-community-toolkit, tidb-server related binaries can be downloaded from tidb-community-server:

    • bin/tidb-server # version >= 4.0.0-rc.1
    • bin/tikv-server # version >= 4.0.0-rc.1
    • bin/pd-server # version >= 4.0.0-rc.1
    • bin/pd-ctl # version >= 4.0.0-rc.1
    • bin/tiflash # needs tiflash binary and some necessary so files
    • bin/sync_diff_inspector
    • bin/go-ycsb
    • bin/etcdctl
    • bin/jq
    • bin/minio

    If you are running tests on MacOS, tidb related binaries can be downloaded from tiup mirrors, such as https://tiup-mirrors.pingcap.com/tidb-v4.0.2-darwin-amd64.tar.gz. And sync_diff_inspector can be compiled by yourself from source tidb-tools

    All Tiflash required files can be found in tidb-community-server packages. You should put flash_cluster_manager, libtiflash_proxy.so and tiflash into bin directory in TiCDC code base.

  2. The following programs must be installed:

  3. The user used to execute the tests must have permission to create the folder /tmp/tidb_cdc_test. All test artifacts will be written into this folder.

Running

Unit Test

  1. Unit test does not need any dependencies, just running make unit_test in root dir of source code, or cd into directory of a test case and run single case via GO111MODULE=on go test -check.f TestXXX.

Integration Test

  1. Run make integration_test_build to generate TiCDC related binaries for integration test

  2. Run make integration_test to execute the integration tests. This command will

    1. Check that all required executables exist.
    2. Execute tests/run.sh

    If want to run one integration test case only, just pass the CASE parameter, such as make integration_test CASE=simple.

    There exists some environment variables that you can set by yourself, variable details can be found in test_prepare.

    MySQL sink will be used by default, if you want to test Kafka sink, please run with make integration_test CASE=simple kafka

  3. After executing the tests, run make coverage to get a coverage report at /tmp/tidb_cdc_test/all_cov.html.

Writing new tests

New integration tests can be written as shell scripts in tests/TEST_NAME/run.sh. The script should exit with a nonzero error code on failure.