summaryrefslogtreecommitdiffstats
path: root/extras/hs-test/http_test.go
AgeCommit message (Collapse)AuthorFilesLines
2024-06-12hs-test: improved suite teardown and replaced PIDs with PPIDsAdrian Villin1-2/+0
- Fixed an issue where containers wouldn't stop and get removed when a test run is interrupted - Replaced PIDs with Ginkgo process indexes + PPIDs - Fixed CPU allocation for envoy and nginx-ldp containers - All container logs should now get saved properly Type: test Change-Id: I4c737c1d326390494c0dda1ec6d3fc1f04f51663 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-06-10hs-test: HTTP download benchmarkingMatus Fabian1-18/+25
HttpTpsTest now use Gomega's gmeasure package and go internal http client. With gmeasure you can create "Experiments" which can produce reports to show the statistical distribution of measurement. Potentially experiments can also be cached and used to identify regression in performance. Type: test Change-Id: Id049fb0344d8ebed71b15e706b053b5c2a18e0de Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-06-06hs-test: more debug output in http3 testFlorin Coras1-0/+1
Type: test Change-Id: I4d2b949f5ef5446c04ca6f35b0bd659ce389170f Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-06-05hs-test: keep ab/wrk containers alive until teardownAdrian Villin1-0/+2
- Fixes errors while obtaining container logs on test failure (NginxPerf tests), ab/wrk containers are now stopped on test teardown like other containers. Type: test Change-Id: Ic336fcd3ed6bf68dd345d378262cb28eb5efc789 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-06-03hs-test: add libunwind dependency to nginx dockerfileAdrian Villin1-4/+0
- Libunwind was missing in Dockerfile.nginx, causing some tests to fail. Tests that were temporarily disabled because of that issue are now re-enabled. Type: test Change-Id: I3f544be483784e8a7a1f22737cafca615b9f836b Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-31hs-test: temp skip some testsAdrian Villin1-0/+4
- Some tests are broken in the CI, skipping them for now Type: test Change-Id: I3d4efeee63b819956e5ffa1b3920e81962a2fcc9 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-31hs-test: container logging improvementsAdrian Villin1-1/+0
- Reduced the amount of error messages while obtaining container logs when a test fails by keeping track of started containers. NginxPerf tests still have those error messages, because wrk/ab containers shut themselves down before the test ends. Type: test Change-Id: I40a193345e5b46aec1834774f23aebc822eee885 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-28http_static: sanitize path before file readMatus Fabian1-26/+31
Romove dot segments from requested target path before start reading file in file handler to prevent path traversal. Type: fix Change-Id: I3bdd3e9d7fffd33c9c8c608169c1dc73423b7078 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-23hs-test: fix CPU alloc when running in parallelAdrian Villin1-0/+2
Type: test Change-Id: I6062eddffb938880d9ec004c8418a9a731891989 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-17http: ignore http_proxy env in testsMatus Fabian1-4/+19
Type: test Change-Id: I45a091a43e7ecb3f321fc9ecc761df2b44c9c351 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-14http: notify client when connection failedMatus Fabian1-1/+15
Type: fix Change-Id: I87054e9667fe990d9a2dc3950bc3ce348460018a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-14http: fix server sending all status codesMatus Fabian1-8/+71
Type: fix Change-Id: I4bc748e3091c2fbe0142d1b74d21a543a62c4ce0 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-03http: fix http server in responseMatus Fabian1-1/+16
App name is used in HTTP response Server header. Type: fix Change-Id: Ie3b2d985dd7d554a0352f7e602891f878bebd031 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-01http: fix client receiving large dataFilip Tehlar1-1/+1
HTTP client was relying on synchronous rx notifications to the client app when moving lage data from underlying transport proto. Recent change in session layer made such notifications asynchronous making http client not working. This patch fixes the issue. Type: fix Change-Id: I4b24c6185a594a0fe8d5d87c149c53d3b40d7110 Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-04-19hs-test: transition to ginkgo test frameworkAdrian Villin1-16/+40
Type: test Change-Id: Ia38bf5549d20b22876f6082085b69a52a03d0142 Signed-off-by: Adrian Villin <avillin@cisco.com> Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-03-12hs-test: experimental support for multiple test instancesadrianvillin1-7/+7
- appending PID to interface and container names - added a check for used IP addresses - TestEnvoyProxyHttpTcp and TestTcpWithLoss are broken when running multiple instances Type: test Change-Id: Ib917079ec7cf851dee59ff9c67e74f48c7c5e3c6 Signed-off-by: adrianvillin <avillin@cisco.com>
2024-02-15hs-test: shortened interface names to avoid character limitadrianvillin1-2/+3
Type: test Change-Id: I09df597ccb8a3c4af47b8a36010afb81df533236 Signed-off-by: adrianvillin <avillin@cisco.com>
2024-02-15hs-test: improved loggingadrianvillin1-5/+5
- improved readability of some error messages - printing container logs to stdout on test failure (last 20 lines) Type: test Change-Id: Idbb358bdd89aa7b1a6bdc9d96bf029d4c299ce64 Signed-off-by: adrianvillin <avillin@cisco.com>
2024-01-18hs-test: use specific port for http3 testFilip Tehlar1-1/+1
curl sometimes uses 2 different source ports during the test. Type: test Change-Id: Ib27e9d22a9cc951f4729f4bd0ae99d80bf8d938b Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-11-30hs-test: add http prom testFilip Tehlar1-0/+12
Type: test Change-Id: Ia15ecc3cf2c087a6959601ff02e187c32570ff60 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-09-04hs-test: log external appsFilip Tehlar1-2/+2
Type: test Change-Id: Id2b0d408bd46f20b81422506f9db4eb655feddac Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-06-27hs-test: add nginx+quic testFilip Tehlar1-0/+20
Type: test Change-Id: I15e4f2fb84cb4f34b6fea95978db000854a63e78 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-04-24hs-test: adjust performace testing parametersFilip Tehlar1-1/+3
Apache ab sometimes fails during extensive performace testing. This patch makes sure hs-test perf tests always pass. Type: test Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: I0921682f0f07df3af45b342b9a7ddfa1af037ceb
2023-04-18hs-test: filter relevant data from perf tests outputFilip Tehlar1-2/+15
Type: test Change-Id: I90faed91639ce1792646531cfc0cac649d737f16 Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-03-29hs-test: containerize ab and wrkFilip Tehlar1-24/+21
Type: test Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: I66af84257fa0692d9be3445d49b52fb7ca810d27
2023-03-16hs-test: check exit value of ab/wrkFilip Tehlar1-1/+2
Type: test Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: I967e91e4ea97edff427013c92376b388d6ce5d85
2023-03-15hs-test: use consistent naming conventionMaros Ondrejicka1-4/+4
Exported indentifiers in Go start with capital letters. Only few fields in hs-test, which are being unmarshaled from yaml are required to be exported. Every other field name or method name should start with lower-case letter, to be consistent with this naming convention. Type: test Signed-off-by: Maros Ondrejicka <mondreji@cisco.com> Change-Id: I7eab0eef9fd08a7890c77b6ce1aeb3fa4b80f3cd
2023-03-01hs-test: fix wait for app after ldp changeFlorin Coras1-2/+2
After gerrit 38370 (729b9c94), apps are registered via ldp using program name. Update tests to support that. Also add make file help for UNCONFIGURE. Type: test Signed-off-by: Florin Coras <fcoras@cisco.com> Change-Id: I4ad50abfd175664b47b358df1a72e0758f51190d
2023-02-28hs-test: test vpp+nginx mirroring with tap ifacesMaros Ondrejicka1-4/+2
Type: test Signed-off-by: Maros Ondrejicka <mondreji@cisco.com> Change-Id: I05bbed8fd9d40929f040574044aed5292a475e91
2023-02-27hs-test: refactor netconfigMaros Ondrejicka1-2/+2
This joins separate representations of veth and tap interfaces into a single struct. It removes the need for type interface and embedding which simplifies the code. Type: test Signed-off-by: Maros Ondrejicka <mondreji@cisco.com> Change-Id: I1b2c368bfe90a5bdfaaa9a5129c27d7d96f8fe3b
2023-02-24hs-test: modify nginx testsMaros Ondrejicka1-2/+2
This will make name of the test unique so that executing specifically this test won't execute also other tests starting with same name. Type: test Signed-off-by: Maros Ondrejicka <mondreji@cisco.com> Change-Id: I8013aa453c2a1c3c156e6476a93fd58bbb850b93
2023-02-16hs-test: check for missing output in nginx testsMaros Ondrejicka1-0/+1
Type: test Signed-off-by: Maros Ondrejicka <mondreji@cisco.com> Change-Id: I08cd492fff4b9d50a1761a29c2b231cc8544313b
2023-02-10hs-test: refactor test cases from no-topo suiteMaros Ondrejicka1-30/+15
This converts remaining tests to configation of VPP from test context. Type: test Change-Id: I386714f6b290e03d1757c2a033a25fae0340f5d6 Signed-off-by: Maros Ondrejicka <mondreji@cisco.com>
2023-02-10hs-test: refactor test cases from ns suiteMaros Ondrejicka1-19/+12
This converts more tests to configure VPP from test context. Type: test Signed-off-by: Maros Ondrejicka <maros.ondrejicka@pantheon.tech> Change-Id: Idf26b0c16f87e87c97b198412af39b99d947ced6
2023-02-09hs-test: configure VPP from test contextMaros Ondrejicka1-10/+6
Instead of configuring VPP instances running inside of a container, now the configuration is going to be done from within the test context by using binary API and shared volume that exposes api socket. This converts just some of the test cases, rest is to follow. Type: test Signed-off-by: Maros Ondrejicka <maros.ondrejicka@pantheon.tech> Change-Id: I87e4ab15de488f0eebb01ff514596265fc2a787f
2023-02-06hs-test: add nginx perf testsFilip Tehlar1-1/+70
Type: test Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: Ic609cf70c1d381afa78f393700359434c8bd0452
2023-01-09hs-test: remove exec flags from source filesFilip Tehlar1-0/+0
Type: style Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: Ia87b28e81b6fd06c8c3681bf3cb1dd6ce8c84f41
2023-01-09hs-test: add nginx testFilip Tehlar1-1/+24
Type: test Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: Idd5352f254df0d1f36c1270e73440c9287247b81
2022-12-20hs-test: add runtime optionsMaros Ondrejicka1-6/+3
Options "-p" to not remove topology elements after the test finishes "-v" from now on extra output from tests is hidden by default, this will show it again Type: test Signed-off-by: Maros Ondrejicka <maros.ondrejicka@pantheon.tech> Change-Id: I626188561c883534e9004d5130ee2a972d12b4e2
2022-12-19hs-test: abstract away topology from test casesMaros Ondrejicka1-20/+9
Definition of shared volumes and containers has been moved to yaml files to be together with network topology. Containers are automatically run at the beginning of each test case and stopped afterward. Type: test Signed-off-by: Maros Ondrejicka <maros.ondrejicka@pantheon.tech> Change-Id: I264cbb4f1355f8bd7aade221e9609fb5b9bd693e
2022-12-07hs-test: use assert-like approach in test casesMaros Ondrejicka1-46/+13
Type: test Signed-off-by: Maros Ondrejicka <maros.ondrejicka@pantheon.tech> Change-Id: I1653001461d4dfc52f1fb3a9e0cf458a506b8324
2022-12-02hs-test: add test suite featuresMaros Ondrejicka1-1/+1
Test suite now supports assertions which on fail stop test case run, also it allows to create docker containers which are going to be stopped automatically after the test run is finished. Type: improvement Signed-off-by: Maros Ondrejicka <maros.ondrejicka@pantheon.tech> Change-Id: I2834709b1efd17b8182d36cc0404b986b4ed595d Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2022-11-25hs-test: auto register test actionsFilip Tehlar1-5/+5
Type: improvement Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: Icb5db6f69eda93181aba69b1f8676a73c0a4561b
2022-11-10hs-test: add http client connect testFilip Tehlar1-0/+90
Type: test Signed-off-by: Filip Tehlar <ftehlar@cisco.com> Change-Id: If705d311065e128b4b6df7d8d80910e4be72d3e6