Contents

 

See also the Testing and QA Projects page and the Quality Assurance JIRA Component.

Coverity

One of the static analysis tools we run on Traffic Server to find problems in the code.

See the Development Process#Coverity page, the Coverity Scan and the currently active (per release) Coverity Jira.

The coverity-submit tool makes it pretty easy to post new builds up to the Coverity scanning service.

Clang

Building Traffic Server with Clang also exposes problems in the code.

See the Building#Clang page, the clang-analyzer.sh script and TS-427.

You can also run clang-analyzer via the CI image with this:

docker run --rm -it -v $(git rev-parse --show-toplevel 2>/dev/null || pwd):/src -v $(git rev-parse --show-toplevel 2>/dev/null || pwd)/clang-analyzer:/tmp -w /src ci.trafficserver.apache.org/ats/centos:7 /src/ci/jenkins/bin/clang-analyzer.sh

 

apichecker.pl

Script to check API signatures for inconsistencies.

See the apichecker.pl script and TS-590.

InkAPI-ensure-funcs-present.pl

Checks that all API functions declared in a header file (e.g. ts/ts.h) are defined in a source file (e.g. InkAPI.cc).

  $ proxy/InkAPI-ensure-funcs-present.pl proxy/api/ts/ts.h proxy/InkAPI.cc

See the InkAPI-ensure-funcs-present.pl script.

compare_RecordsConfigcc.py

Compares the default values in RecordsConfig.cc with the values in records.config.default.in and the documented values in the records.config reference.

See the compare_RecordsConfigcc.py script and TS-1789.

RAT

Audits license headers, the boilerplate text needed in most source files.

The $ make rat Makefile target performs a RAT report.

See the Continuous Integration#RATreports page and TS-28 and TS-2266.

Regression and Unit Tests

Run $ traffic_server -R 1 to run regression tests.

The $ make test Makefile target runs unit tests.

See the RegressionAndUnitTests page and Building Traffic Server in the Administrator's Guide.

regression.pl

Harness to run the following tests:

  • bad-header
  • cache
  • garbage-1
  • garbage-2
  • inkbench
  • jtest

See the regression.pl script.

Profiling

Dynamic analysis tools for profiling e.g. memory and CPU usage.

See the Profiling page.

TSQA

TSQA is a set of python libraries used in conjunction with python's unittest to create an integration testing framework for ATS. The python library is a sub-project of TrafficServer (trafficserver-qa). For examples of how to write tests, you can look at trafficserver-qa, example tests in trafficserver, or by looking at other tests. Details on how to run the tests are located in the README.

DEFT

Interesting test suite work.

See https://github.com/mingzym/trafficserver/blob/refine_test/test/docs/index.html

Co-Advisor

Commercial suite of tests that checks for violations of the HTTP protocol.

The results of testing Traffic Server as well as other open source proxies are discussed in this presentation.

See the Acknowledgements page and TS-2038.

http_load

Load testing and benchmarking tool.

See the README.

jtest

Load testing and benchmarking tool.

See the README.

lighthttp_mod_generator

Load testing and benchmarking tool.

See the README.  and Markdown README in Chinese: tools/jtest/README.zh.md

Continuous Integration

The Jenkins continuous integration infrastructure regularly confirms that Traffic Server successfully builds on a variety of platforms. It also automates additional quality assurance tasks:

CoveritySee the coverity.sh script and TS-2039.
RATMaybe? See the rat.sh script.
Regression and Unit TestsYes, see the regression.sh script.
tsqaYes, See TS-3574 - Getting issue details... STATUS
Co-AdvisorSee TS-2038.

See the Jenkins dashboard and the Continuous Integration page.

JIRA Component

T Key Summary Assignee Reporter P Status Resolution Created Updated Due
Loading...
Refresh

  • No labels