aboutsummaryrefslogtreecommitdiffstats
path: root/extras/hs-test/infra
AgeCommit message (Collapse)AuthorFilesLines
2024-12-11hs-test: replaced container/interface getter funcAdrian Villin11-193/+235
- replaced s.GetContainerByName("xyz") with s.Containers.Xyz in tests and suites - same thing for interfaces - each suite has its own structs with containers/interfaces - structs are initialized in SetupSuite Type: test Change-Id: I5bd99605b40921b7b8c844e8650f6fb0915e9e99 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-10hs-test: added multi-threaded proxy testsAdrian Villin6-46/+82
- TCP and UDP iperf proxy tests added Type: test Change-Id: Ic6f429cc6d48388ce9a17f8b9cd7c4b54b9a7e4d Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-10hs-test: skip vppctl assert on teardownAdrian Villin1-1/+18
- core dump check would get skipped if vpp crashed and vppctl was called on teardown Type: test Change-Id: I9dda7036042158332c8ec815f6eb4bb3c2f7000f Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-10http: connection upgrade mechanismMatus Fabian1-0/+2
Handle "Connection" and "Upgrade" headers in http transport layer which are used to create a tunnel for some other protocol on the same connection. Type: improvement Change-Id: Icf5479f36fbcc7259b157eaad957211be5ea2aae Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-12-10hs-test: arm supportMatus Fabian1-0/+6
CPU arch dependencies cleanup. Everything works fine apart from redis-benchmark test. Type: test Change-Id: I4a1e7d3bce994f6ea0681e06955ef9c621468642 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-12-10hs-test: improved iperf testingAdrian Villin2-3/+111
- set iperf to json output - added iperf json parsing function - we can now check if iperf transferred more than X megabytes (other asserts can be added) Type: test Change-Id: I560104a153456b46f22a1affee4301018063b99d Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-10hs-test: remove client app retriesAdrian Villin1-22/+12
- simple fix to avoid apps trying to start after a test timeout/interrupt Type: test Change-Id: I4e6fcbb2bb00c07e35cda1ebf6fcb76a913f7a32 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-27hs-test: don't use reserved UDP ports for bindingAdrian Villin1-2/+36
Type: test Change-Id: Ief0d238bbbf533779618b971f01099aa113c1c08 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-22hs-test: added multithreaded vpp proxy testsAdrian Villin4-14/+40
- if a test is named '...MTTest', 3 cpus will be allocated to vpp - updated docs Type: test Change-Id: I756dfb6cdbff4368d606ca3abbc1a510cd1d6b51 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-21hs-test: added tls tcp iperf testAdrian Villin1-0/+1
Type: test Change-Id: I7ed1a6dea644eb19b8022db07344503121e61517 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-21hsa: added request repeating to http clientAdrian Villin1-1/+1
- added request repeating (repeat <count>|duration <seconds>) - added basic stats Type: feature Change-Id: Ic69eac8029eac31ea5ace5b5c0da1ce7a3543ac0 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-18hs-test: udp proxy testing infraMatus Fabian1-0/+199
Type: test Change-Id: Ib32a48429312a771c6ebe8022c7bdbccdde3a36f Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-29http: "absolute-form" target URL parsingMatus Fabian1-0/+1
Type: improvement Change-Id: If39680a148d39add40433547369b2ddad3c2e226 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-25http: pass timeout using extended configMatus Fabian1-0/+2
App can now pass http connection timeout using extended configuration, ext cfg type TRANSPORT_ENDPT_EXT_CFG_HTTP, value (in seconds) set in ext cfg member opaque. It is optional, default value is 60 seconds. Type: improvement Change-Id: Ibeff4bbd3153421be350ff564ec3c8e52e5b9639 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-15hs-test: various improvementsAdrian Villin10-20/+30
- fixed timed out/panicked tests not copying logs to CI archives - fixed log formatting - renamed SuiteTimeout to TestTimeout - fixed ginkgo node leak on test timeout -> added AssertChannelClosed - updated docs Type: test Change-Id: Ia71d765bd61576230a4cfd26d4b14fd1be1692c7 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-10-10hs-test: added dry run modeAdrian Villin11-98/+240
- DRYRUN=true will set up most containers. Some need to be started manually (curl, nginx...). The framework will create a vpp-config file with interface configs that will get executed on VPP startup. - set Ginkgo to use -v instead of -vv when running a single test - s.Log() now supports formatting - added 'useEnvVars' parameter to container.Exec Type: test Change-Id: Id1da7947a1448ee4b74b86cc4f243442256a5ba8 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-10-07hs-test: force test failure when vpp core presentMatus Fabian1-6/+11
Type: test Change-Id: I874ee185a51dda9b620f3b783e466b8e88600d18 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-04hs-test: fix core_pattern volume mountsFlorin Coras1-3/+7
If system is configured to use something like apport, avoid mounting. Type: fix Change-Id: I6af900bd334acba974c9c4ae30c3b2ce26d1f49b Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-10-03hs-test: prom consecutive connections testMatus Fabian1-2/+2
Type: test Change-Id: Ide4571dd8ac9bcb64fcd5ba408b6d1f99d34185f Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-03hs-test: added nginx multi-thread testsAdrian Villin6-156/+116
- added Dockerfile.envoy - removed nginx vcl.conf file as it's created by the framework now Type: test Change-Id: I5f2be015c864c8d2aa938a22b1abece64989999b Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-10-03hs-test: use nginx 1.26.2 for NginxHttp3TestAdrian Villin2-14/+21
- test is no longer marked as extended - no building required -> removed nginx build scripts Type: test Change-Id: I1814b1e4b7e514f81797efa3b5c1e818d2fe4cda Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-09-28hs-test: replaced gofmt with goimportsAdrian Villin7-7/+14
- goimports properly formats imports Type: test Change-Id: I78c162dd552fd3ee3d59955d7ea215af30601425 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-09-20hs-test: proxy testing improvementsMatus Fabian3-33/+67
- nginx and curl timeouts are extended if debug flag is set - added write-out for curl (outputs extra info after transfer is done) Type: test Change-Id: I3f6c336a14cd00b9ae8669d2fa26e00709162100 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-20hs-test: debugging utility methodsMatus Fabian1-0/+25
Type: test Change-Id: I0c7e8424e53f1ad1896cd8439027e6081ccfeb28 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-18hs-test: containerize iperf testsAdrian Villin1-15/+23
Type: test Change-Id: I2c0bb76d96ccadd5ecfd6a04565420855043699e Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-09-10hs-test: upload via proxy testsMatus Fabian2-2/+26
Type: test Change-Id: Id6b4e2348735081c827f814a814c976b601432ec Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-27hs-test: added a redis-benchmark testAdrian Villin3-79/+334
- basically a copy of LdpIperf test - small update of LdpIperf test - new LDP suite Type: test Change-Id: I3f8653288c6fc6dfd6a061315e983c000974d3ff Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-08-26hs-test: http tests improvementMatus Fabian3-2/+43
- added http specific asserts - added helper functions to NoTopoSuite Type: test Change-Id: I0a7e77ed3ffd938aa3eaa37ed5432fbaab0dab64 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-23hs-test: core dump improvementMatus Fabian1-14/+13
- load vpp plugin libraries path in gdb - if core dump deceted change message in summary and show bt Type: test Change-Id: If5d44d29703edd16c816efc9d29e6a7a1b20613a Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-23hs-test: assert improvementMatus Fabian1-9/+9
Use ExpectWithOffset so Ginkgo's output point to the line in your test. Type: test Change-Id: Icb32c5be683f935a5e86f25c2ec5a6dfad2ec1ea Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-22hs-test: fix after mergeMatus Fabian1-2/+2
Type: test Change-Id: I2a1d35a9e7a6c8e8026388a0baacbc18310f0ba1 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-22hs-test: nginx proxy/mirroring test cleanupMatus Fabian3-144/+182
- test moved to proxy_test.go - topology and suite updated to be vpp/envoy proxy compliant Type: test Change-Id: Iabee50b76bb8d96851f831c0b57d0e98dc4b3a5f Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-22hs-test: proxy testing improvementMatus Fabian3-0/+431
- new container topologies and suites for VPP proxy and Envoy proxy - removed build docker image since it can't be used with CI cache builder, container builders are designed to be stateless, they only preserve build-cache, but not images Type: test Change-Id: I93e4d079780d18d6aa3b5ce807adc4707b6f2d9b Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-21hs-test: fix vppinstance logs and disable traceAdrian Villin1-2/+1
- fixed a bug where vppinstance logs would concatenate -> each test now has its own bind mount - removed "--trace" flag to avoid skipped tests printing a full stack trace. They are now only printed in the summary. Type: test Change-Id: Ib7f4254717cc798e456b9fca6f81685c8153ee2d Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-08-21hs-test: generate core dump, fix docker logs in CIAdrian Villin3-21/+109
Type: test Change-Id: Ie1f66cdc061d3eccefc2ce58e977d88a33340038 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-08-06http: client POST methodMatus Fabian1-1/+19
Type: improvement Change-Id: Iaa70abcee02866f9a6426a6e8e4709eeba0e8114 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-29hs-test: save VPP logs with timestampsMatus Fabian1-9/+9
Type: test Change-Id: Ia76d23a8d57dfb5570eaf44a9fdb3eabeba01a4d Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-24hs-test: check container state after startupAdrian Villin1-1/+24
- tests will now fail if a container exits right after startup - fixed MirroringTest (still broken with multiple workers) Type: test Change-Id: I47b51c2bcf53f535aa2d06c2f5b09a9559631117 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-24hs-test: fix logs once againAdrian Villin1-6/+6
- "/dev/null" and "tail: ..." messages should now be removed properly Type: test Change-Id: I4aa1f1a1cab17dab73f727e40c80a44d6e753bd5 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-23prom: concurrent connections fixMatus Fabian1-0/+1
Type: fix Change-Id: I57814edb735e9dac916f2e01de95ccfb739ce655 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-23http: state machine fixMatus Fabian1-0/+4
When client sends second request without waiting for response of the first request http_ts_rx_callback should drop request (pipelining is not supported) instead of invoking return to state machine which can lead to erroneous state, e.g. reading random data from server app fifo. Added simple http static server url handler for testing to simulate long running request processing, for now hardcoded delay 5 seconds. Type: fix Change-Id: Ied9f7e2e4ee64c982f045c0f7f99a2dc5d7a2108 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-23http: return more than data from server appMatus Fabian1-0/+9
Server app could return headers in front of body/data buffer. Offers apis for building and serialization of headers section. HTTP layer now only add Date, Server and Content-Lengths headers, rest is up to app. Well known header names are predefined. Type: improvement Change-Id: If778bdfc9acf6b0d11a48f0a745a3a56c96c2436 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-22hs-test: memory leak testingMatus Fabian3-1/+100
add infra for memory leak testing Type: test Change-Id: I882e8dbb360597cdb82ad52682725f7d39b2df24 Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-07-19hs-test: fix docker log output when logs are emptyAdrian Villin1-1/+8
- removed "==> /dev/null <==" and "tail: cannot open..." lines when docker logs are empty Type: test Change-Id: Ia51f7aa41d2c6c04c0adcb82142abfd45fbe2728 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-17hs-test: use docker sdkAdrian Villin3-61/+186
Type: test Change-Id: I9d6b15ca6a9aac3343e10f480dec43c4c538f1b7 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-17hs-test: minor cpu pinning suite improvementsAdrian Villin3-16/+29
- added max cpu check for CI - added a check for Ip4AddrAllocator: fixes a case where teardown panics if a test crashes before allocator gets initialized Type: test Change-Id: Ica12366cd79d77801964dfbdc8ee7c9969b4a9ce Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-10hs-test: quick fix for CpuPinningSuiteAdrian Villin1-1/+8
Type: test Change-Id: Iaed08fe23a63562c99012bd469ca3f3271be2564 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-07-09hs-test: Add CPU pinning test suiteHadi Rayan Al-Sandid4-12/+160
Type: test Added suite to verify that VPP launches with provided CPU pinning configurations. CPU configuration is specified per-test. Change-Id: Ic283339676d3b24636fc21156a09a192c1a8d8da Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>
2024-07-08hs-test: CPU allocation improvementsAdrian Villin2-44/+158
- Release build runs on numa node0, debug on node1. Using the last digit of a build number to reserve 4 cores per test mmeans we can run 20 jobs (10 release, 10 debug) on the same machine, assuming we have 111 cores available (not counting core 0). Can be increased if needed, there are still some cores left. - Added separate numa aware cpu allocation - Added CPU0=true|false (useful for users with 4c/8t) Type: test Change-Id: Iba8e492a4e01a7f457e49112303887a2a27f6af9 Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-06-25hs-test: return error if connecting to vpp failsHadi Rayan Al-Sandid1-0/+1
Type: fix Fix case where no error code would be returned if vpp was launched, but then exited due to invalid configuration. Change-Id: I54d526629a2ee0206227615ffb6cb658779f93a0 Signed-off-by: Hadi Rayan Al-Sandid <halsandi@cisco.com>