mirror of
https://github.com/curl/curl.git
synced 2024-12-15 06:40:09 +08:00
tests/unit/README: convert to markdown
... and add to dist! Closes #6028
This commit is contained in:
parent
422f610b40
commit
8aeb82eeca
@ -5,7 +5,7 @@
|
|||||||
# | (__| |_| | _ <| |___
|
# | (__| |_| | _ <| |___
|
||||||
# \___|\___/|_| \_\_____|
|
# \___|\___/|_| \_\_____|
|
||||||
#
|
#
|
||||||
# Copyright (C) 1998 - 2019, Daniel Stenberg, <daniel@haxx.se>, et al.
|
# Copyright (C) 1998 - 2020, Daniel Stenberg, <daniel@haxx.se>, et al.
|
||||||
#
|
#
|
||||||
# This software is licensed as described in the file COPYING, which
|
# This software is licensed as described in the file COPYING, which
|
||||||
# you should have received as part of this distribution. The terms
|
# you should have received as part of this distribution. The terms
|
||||||
@ -48,7 +48,7 @@ AM_CPPFLAGS = -I$(top_srcdir)/include \
|
|||||||
-I$(top_srcdir)/tests/libtest
|
-I$(top_srcdir)/tests/libtest
|
||||||
endif
|
endif
|
||||||
|
|
||||||
EXTRA_DIST = Makefile.inc CMakeLists.txt
|
EXTRA_DIST = Makefile.inc CMakeLists.txt README.md
|
||||||
|
|
||||||
CFLAGS += @CURL_CFLAG_EXTRAS@
|
CFLAGS += @CURL_CFLAG_EXTRAS@
|
||||||
|
|
||||||
|
@ -1,50 +1,44 @@
|
|||||||
Unit tests
|
# Unit tests
|
||||||
==========
|
|
||||||
|
|
||||||
The goal is to add tests for *ALL* functions in libcurl. If functions are too
|
The goal is to add tests for *all* functions in libcurl. If functions are too
|
||||||
big and complicated, we should split them into smaller and testable ones.
|
big and complicated, we should split them into smaller and testable ones.
|
||||||
|
|
||||||
Build Unit Tests
|
## Build Unit Tests
|
||||||
================
|
|
||||||
|
|
||||||
'./configure --enable-debug' is required for the unit tests to build. To
|
`./configure --enable-debug` is required for the unit tests to build. To
|
||||||
enable unit tests, there will be a separate static libcurl built that will be
|
enable unit tests, there will be a separate static libcurl built that will be
|
||||||
used exclusively for linking unit test programs. Just build everything as
|
used exclusively for linking unit test programs. Just build everything as
|
||||||
normal, and then you can run the unit test cases as well.
|
normal, and then you can run the unit test cases as well.
|
||||||
|
|
||||||
Run Unit Tests
|
## Run Unit Tests
|
||||||
==============
|
|
||||||
|
|
||||||
Unit tests are run as part of the regular test suite. If you have built
|
Unit tests are run as part of the regular test suite. If you have built
|
||||||
everything to run unit tests, to can do 'make test' at the root level. Or you
|
everything to run unit tests, to can do 'make test' at the root level. Or you
|
||||||
can 'cd tests' and 'make' and then invoke individual unit tests with
|
can `cd tests` and `make` and then invoke individual unit tests with
|
||||||
./runtests.pl NNNN where NNNN is the specific test number.
|
`./runtests.pl NNNN` where `NNNN` is the specific test number.
|
||||||
|
|
||||||
Debug Unit Tests
|
## Debug Unit Tests
|
||||||
================
|
|
||||||
|
|
||||||
If a specific test fails you will get told. The test case then has output left
|
If a specific test fails you will get told. The test case then has output left
|
||||||
in the log/ subdirectory, but most importantly you can re-run the test again
|
in the log/ subdirectory, but most importantly you can re-run the test again
|
||||||
using gdb by doing ./runtests.pl -g NNNN. That is, add a -g to make it start
|
using gdb by doing `./runtests.pl -g NNNN`. That is, add a `-g` to make it
|
||||||
up gdb and run the same case using that.
|
start up gdb and run the same case using that.
|
||||||
|
|
||||||
Write Unit Tests
|
## Write Unit Tests
|
||||||
================
|
|
||||||
|
|
||||||
We put tests that focus on an area or a specific function into a single C
|
We put tests that focus on an area or a specific function into a single C
|
||||||
source file. The source file should be named 'unitNNNN.c' where NNNN is a
|
source file. The source file should be named 'unitNNNN.c' where NNNN is a
|
||||||
number that starts with 1300 and you can pick the next free number.
|
previously unused number.
|
||||||
|
|
||||||
Add your test to tests/unit/Makefile.inc (if it is a unit test).
|
Add your test to `tests/unit/Makefile.inc` (if it is a unit test). Add your
|
||||||
Add your test data to tests/data/Makefile.inc
|
test data file name to `tests/data/Makefile.inc`
|
||||||
|
|
||||||
You also need a separate file called tests/data/testNNNN (using the same
|
You also need a separate file called `tests/data/testNNNN` (using the same
|
||||||
number) that describes your test case. See the test1300 file for inspiration
|
number) that describes your test case. See the test1300 file for inspiration
|
||||||
and the tests/FILEFORMAT documentation.
|
and the `tests/FILEFORMAT.md` documentation.
|
||||||
|
|
||||||
For the actual C file, here's a very simple example:
|
For the actual C file, here's a very simple example:
|
||||||
|
~~~c
|
||||||
----------------------- start -------------------------------
|
|
||||||
#include "curlcheck.h"
|
#include "curlcheck.h"
|
||||||
|
|
||||||
#include "a libcurl header.h" /* from the lib dir */
|
#include "a libcurl header.h" /* from the lib dir */
|
||||||
@ -70,5 +64,3 @@ UNITTEST_START
|
|||||||
/* you end the test code like this: */
|
/* you end the test code like this: */
|
||||||
|
|
||||||
UNITTEST_STOP
|
UNITTEST_STOP
|
||||||
|
|
||||||
----------------------- end -------------------------------
|
|
Loading…
Reference in New Issue
Block a user