wireshark/test
Peter Wu 52a6671439 wiretap: add read/write support for Decryption Secrets Block (DSB)
Support reading and writing pcapng files with DSBs. A DSB may occur
multiple times but should appear before packets that need those
decryption secrets (so it cannot be moved to the end like NRB). The TLS
dissector will be updated in the future to make use of these secrets.
pcapng spec update: https://github.com/pcapng/pcapng/pull/54

As DSBs may be interleaved with packets, do not even try to read it in
pcapng_open (as is done for IDBs). Instead process them during the
sequential read, appending them to the 'wtap::dsbs' array.

Writing is more complicated, secrets may initially not be available when
'wtap_dumper' is created. As they may become available in 'wtap::dsbs'
as more packets are read, allow 'wtap_dumper::dsbs_growing' to reference
this array. This saves every user from checking/dumping DSBs.

If the wtap user needs to insert extra DSBs (while preserving existing
DSBs), they can set the 'wtap_dumper::dsbs_initial' field.

The test file was creating using a patched editcap (future patch) and
combined using mergecap (which required a change to preserve the DSBs).

Change-Id: I74e4ee3171bd852a89ea0f6fbae9e0f65ed6eda9
Ping-Bug: 15252
Reviewed-on: https://code.wireshark.org/review/30692
Reviewed-by: Peter Wu <peter@lekensteyn.nl>
Petri-Dish: Peter Wu <peter@lekensteyn.nl>
Tested-by: Petri Dish Buildbot
Reviewed-by: Anders Broman <a.broman58@gmail.com>
2018-11-20 05:12:37 +00:00
..
baseline Replace JSON-GLib by custom JSON dumper library 2018-11-20 05:03:56 +00:00
captures wiretap: add read/write support for Decryption Secrets Block (DSB) 2018-11-20 05:12:37 +00:00
config ssl,http: rename http-over-ssl to http-over-tls 2016-09-04 13:18:54 +00:00
keys wiretap: add read/write support for Decryption Secrets Block (DSB) 2018-11-20 05:12:37 +00:00
lua lua: add support for ethernet addresses to the Address class 2018-10-18 07:51:36 +00:00
suite_dfilter test: convert suite_dfilter to use fixtures 2018-11-15 22:57:40 +00:00
README.test Test: Remove the Bash test scripts. 2018-05-02 04:09:26 +00:00
conftest.py test: convert capture tests to use fixtures, fix tests without dumpcap 2018-11-16 13:55:28 +00:00
fixtures.py test: convert capture tests to use fixtures, fix tests without dumpcap 2018-11-16 13:55:28 +00:00
fixtures_ws.py test: finalize suite_capture conversion to fixtures, drop config.py 2018-11-16 13:55:40 +00:00
hosts.custom Continue to remove $Id$ from top of file 2014-03-31 18:48:06 +00:00
hosts.global Continue to remove $Id$ from top of file 2014-03-31 18:48:06 +00:00
hosts.personal Continue to remove $Id$ from top of file 2014-03-31 18:48:06 +00:00
pytest.ini Tests: add minimal pytest support 2018-07-17 09:04:01 +00:00
subprocesstest.py Dumpcap: Fix writing SHBs and IDBs. 2018-11-16 19:28:11 +00:00
suite_capture.py Dumpcap: Fix writing SHBs and IDBs. 2018-11-16 19:28:11 +00:00
suite_clopts.py Replace JSON-GLib by custom JSON dumper library 2018-11-20 05:03:56 +00:00
suite_decryption.py test: convert some more tests to use fixtures 2018-11-14 05:00:37 +00:00
suite_dissection.py test: convert some more tests to use fixtures 2018-11-14 05:00:37 +00:00
suite_fileformats.py wiretap: add read/write support for Decryption Secrets Block (DSB) 2018-11-20 05:12:37 +00:00
suite_follow.py test: convert some more tests to use fixtures 2018-11-14 05:00:37 +00:00
suite_io.py test: convert capture tests to use fixtures, fix tests without dumpcap 2018-11-16 13:55:28 +00:00
suite_mergecap.py test: convert some more tests to use fixtures 2018-11-14 05:00:37 +00:00
suite_nameres.py test: convert suite_nameres to use fixtures 2018-11-15 22:56:47 +00:00
suite_sharkd.py test: convert some more tests to use fixtures 2018-11-14 05:00:37 +00:00
suite_text2pcap.py test: convert suite_text2pcap to use fixtures 2018-11-15 22:56:23 +00:00
suite_unittests.py test: convert capture tests to use fixtures, fix tests without dumpcap 2018-11-16 13:55:28 +00:00
suite_wslua.py test: convert some more tests to use fixtures 2018-11-14 05:00:37 +00:00
test.py test: convert capture tests to use fixtures, fix tests without dumpcap 2018-11-16 13:55:28 +00:00
util_dump_dhcp_pcap.py Dumpcap+Qt: Add support for `-a packets:NUM` and `-b packets:NUM`. 2018-11-09 05:55:11 +00:00

README.test

Wireshark Tests

The main testing script is `test.py`. It will attempt to test as much as
possible by default, including packet capture. This means that you will
probably either have to supply a capture interface (`--capture-interface
<interface>`) or disable capture tests (`--disable-capture`). You must
also build the test-programs target in order for the unittests suite to
pass.

To run all tests from CMake do the following:
- Pass `-DTEST_EXTRA_ARGS=--disable-capture` or
  `-DTEST_EXTRA_ARGS=--capture-interface=<interface>`
  as needed for your system.
- Build the “test” target or run ctest, e.g. `ctest --force-new-ctest-process -j 4 --verbose`.

To run all tests directly, run `test.py -p
/path/to/wireshark-build/run-directory <capture args>`.

To see a list of all options, run `test.py -h` or `test.py --help`.

To see a list of all tests, run `test.py -l`.

See the “Wireshark Tests” chapter of the Developer's Guide for details.