744 Commits

Author SHA1 Message Date
Adrian Villin
f5b832e729 hs-test: always build when running 'make build'
- running 'make build' will now always build docker images,
  'make test' will try to skip building them unless FORCE_BUILD=true
- now also checking ubuntu version

Type: make

Change-Id: Ie16e8dc4712963de19e2450e058b867c1cede7ee
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-13 12:53:10 +01:00
Adrian Villin
ea360b570b hs-test: skip building images if no new changes
- skip building if new changes are .go, .sum, .mod, .txt, .test,
  IP address files or dotfiles

Type: test

Change-Id: Ib041a077fa34120e86ebb43cd19e50142ef01f16
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-12 19:59:24 +00:00
Adrian Villin
2c4b699359 hs-test: update docs, makefile, maintainers
- don't run 'make list-tests' after 'make help'

Type: docs

Change-Id: I1b2ae02faf53b072b96c91f2e1fead52128f4710
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-12 19:56:37 +00:00
Adrian Villin
f901f13b2c hs-test: added a test counter and time elapsed
- only works when not running in parallel

Type: test

Change-Id: Iab9881f8a2a93c6ef5129742e3c0ad950f9e5328
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-12 19:54:53 +00:00
Adrian Villin
fb0cbc64e6 hs-test: fix a runtime error
- framework panicked if core_pattern was set to "core"

Type: test

Change-Id: I14211cc59779090a61e6e08a18d16fd7399b2bed
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-12 16:46:35 +00:00
Adrian Villin
0f97947f36 hs-test: fix nginx http3 dockerfile
- now working with UBUNTU_VERSION=24.04

Type: test

Change-Id: I60aa62b8dcf3e96392af7179925e0f0fa3e15f11
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-11 17:47:34 +00:00
Adrian Villin
af5fcbfa71 hs-test: replaced container/interface getter func
- 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-11 17:47:04 +00:00
Adrian Villin
dd02eb893b hs-test: added multi-threaded proxy tests
- TCP and UDP iperf proxy tests added

Type: test

Change-Id: Ic6f429cc6d48388ce9a17f8b9cd7c4b54b9a7e4d
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-12-10 23:10:59 +00:00
Adrian Villin
1c2f0f22d9 hs-test: skip vppctl assert on teardown
- 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-10 23:05:53 +00:00
Matus Fabian
499a9dd875 http: fix http_free_header_table
Type: fix

Change-Id: I014aebc84d0c219cc0c99120e9cd51fcc520a41c
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-12-10 17:54:54 +00:00
Matus Fabian
82b3cc1826 http: connection upgrade mechanism
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-10 05:10:41 +00:00
Matus Fabian
c4b4cd5e77 hs-test: arm support
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-10 05:06:06 +00:00
Adrian Villin
8b2a67c8f3 hs-test: improved iperf testing
- 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-10 05:03:54 +00:00
Adrian Villin
a661b90a4c hs-test: remove client app retries
- 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-12-10 05:03:54 +00:00
Matus Fabian
3d0b4ab20c http: http_decap_udp_payload_datagram fix
Properly handle incomplete capsule.

Type: fix

Change-Id: Ied7fca861f02e401451beaff09e612bcf471d8e0
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-12-08 22:56:40 +00:00
Adrian Villin
3628353e09 hs-test: added ldp iperf tcp test
- renamed other iperf tests

Type: test

Change-Id: I9cc7b49f23e9e0c6a01d2f74aef722d580478f75
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-27 16:52:42 +00:00
Adrian Villin
f9f5717633 hs-test: don't use reserved UDP ports for binding
Type: test

Change-Id: Ief0d238bbbf533779618b971f01099aa113c1c08
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-27 16:51:38 +00:00
Adrian Villin
d05f16d124 hs-test: added multithreaded vpp proxy tests
- 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-22 22:24:37 +00:00
Adrian Villin
ff36307b5b hs-test: added tls tcp iperf test
Type: test

Change-Id: I7ed1a6dea644eb19b8022db07344503121e61517
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-21 19:03:12 +00:00
Adrian Villin
d74e440f2f hsa: added request repeating to http client
- 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-21 07:52:58 +00:00
Matus Fabian
aa488dd3f7 hs-test: udp proxy testing infra
Type: test

Change-Id: Ib32a48429312a771c6ebe8022c7bdbccdde3a36f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-18 20:06:40 +00:00
Matus Fabian
80ae7e5307 hs-test: reduce curl image size
before:
REPOSITORY    TAG      IMAGE ID       CREATED          SIZE
hs-test/curl  latest   4eededa5f68a   27 minutes ago   973MB

now:
REPOSITORY    TAG      IMAGE ID       CREATED              SIZE
hs-test/curl  latest   1a8faf0cbf8b   About a minute ago   110MB

Type: improvement

Change-Id: I7da5f5f26c3738e022225b1bb66d75f748074496
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-14 19:00:59 +00:00
Matus Fabian
1c9d1de9bc http: state machine improvement
Split in two, one for rx and second for tx, which is more suitable for
http tunnels. Updated state names too, some of them were bit confusing.

Type: improvement

Change-Id: I2310deaa49196819f9d8147a5d9af188465dbd65
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-14 18:59:45 +00:00
Matus Fabian
1fe2501702 hs-test: fix memleak testing
Type: fix

Change-Id: I8d88fc5ccb37cc18c785b5dca47c7f66afefb73a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-14 18:25:31 +00:00
Adrian Villin
5a612a4699 hsa: added GET method to client
Type: improvement

Change-Id: I46f7e1e2b509a463ff4b2492bf6412b67a1afdc4
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-11-04 18:07:10 +00:00
Matus Fabian
afce287645 http: CONNECT method for tunnelling
Type: improvement

Change-Id: I6af16ddcc6734bb831227ce65cb39e87294fc4cd
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-11-01 22:25:45 +00:00
Matus Fabian
769a3b7256 http: "absolute-form" target URL parsing
Type: improvement

Change-Id: If39680a148d39add40433547369b2ddad3c2e226
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-29 17:26:04 +01:00
Ole Troan
8987d3a4ca vppapigen: fix f-string in crcchecker
Type: fix
Change-Id: I9ae35b34cfd7de96726aa0b45987a896783ef7e0
Signed-off-by: Ole Troan <otroan@employees.org>
2024-10-26 02:17:10 +00:00
Matus Fabian
841672258a http: pass timeout using extended config
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-25 23:33:15 +00:00
Adrian Villin
514098ee82 hs-test: various improvements
- 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-15 16:49:40 +00:00
Matus Fabian
15106becc5 http: Content-Length value parsing improvement
Type: improvement

Change-Id: Ida8ca43b5fed41fc0b13a2dde97e7e35c55283c9
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-14 19:26:45 +00:00
Matus Fabian
6885d5f9eb hs-test: http_static wrk tests
Type: test

Change-Id: I87cddb88f2a62e79d66832827134ddaa95740839
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-14 17:05:49 +00:00
Adrian Villin
2acdf1e629 hs-test: added dry run mode
- 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-10 15:50:15 +00:00
Adrian Villin
f151640bb1 hs-test: support running multiple specific tests
- make test TEST=[test1],[test2] runs those two tests in random order

Type: test

Change-Id: I1a1af7c99ef7867ca94cec4175605f428dcd58fd
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-10-09 11:03:35 +02:00
Matus Fabian
a3efc38e15 hs-test: force test failure when vpp core present
Type: test

Change-Id: I874ee185a51dda9b620f3b783e466b8e88600d18
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-07 17:27:26 +00:00
Florin Coras
89969288d3 hs-test: fix core_pattern volume mounts
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-04 05:40:15 +00:00
Matus Fabian
fa5defdc2d hs-test: prom consecutive connections test
Type: test
Change-Id: Ide4571dd8ac9bcb64fcd5ba408b6d1f99d34185f
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-10-03 19:25:21 +00:00
Adrian Villin
46ab0b22bb hs-test: added nginx multi-thread tests
- 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-03 19:23:49 +00:00
Adrian Villin
7bae9b0e82 hs-test: use nginx 1.26.2 for NginxHttp3Test
- 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-10-03 04:56:10 +00:00
Adrian Villin
5a4c7a9ce4 hs-test: replaced gofmt with goimports
- goimports properly formats imports

Type: test

Change-Id: I78c162dd552fd3ee3d59955d7ea215af30601425
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-09-28 02:11:59 +00:00
Matus Fabian
05f7137389 hs-test: proxy testing improvements
- 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-20 16:06:17 +00:00
Matus Fabian
147585e7f6 hs-test: debugging utility methods
Type: test

Change-Id: I0c7e8424e53f1ad1896cd8439027e6081ccfeb28
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-20 10:44:08 +02:00
Adrian Villin
3ecd6840af hs-test: containerize iperf tests
Type: test

Change-Id: I2c0bb76d96ccadd5ecfd6a04565420855043699e
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-09-18 18:09:44 +00:00
Aritra Basu
70d2a08e7e vcl: add http support to vcl_test_protos
Type: improvement

Change-Id: Ibb493f1d7713d0e10b8bd1d5ff17b89967b53b8a
Signed-off-by: Aritra Basu <aritrbas@cisco.com>
2024-09-17 15:59:00 +00:00
Matus Fabian
5b175eca2d hs-test: upload via proxy tests
Type: test
Change-Id: Id6b4e2348735081c827f814a814c976b601432ec
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-10 16:35:23 +00:00
Matus Fabian
9bb0762357 http: large POST handling
Type: improvement
Change-Id: I28b8e8ccbff6f97e669b0048011b187decbfc892
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-09-08 22:41:27 +00:00
Matus Fabian
56cefc89e2 http: http_state_wait_app_reply improvement
set http status according to whether app also sent the body

Type: improvement
Change-Id: Ia41603cc21b410ca6929ec3d3e7c4c6808305769
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-28 06:08:04 +00:00
Adrian Villin
d01a63abd4 hs-test: added a redis-benchmark test
- 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-27 19:05:36 +00:00
Matus Fabian
a647a83496 hs-test: http tests improvement
- added http specific asserts
- added helper functions to NoTopoSuite

Type: test
Change-Id: I0a7e77ed3ffd938aa3eaa37ed5432fbaab0dab64
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-26 18:03:31 +02:00
Matus Fabian
62b508b396 hs-test: failed summary fix
Remove failed-summary.log from the previous run, otherwise it might be
displayed if all tests pass.

Type: test
Change-Id: I435de37e298105ed5b92012fe4da3cda3a0670b6
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-08-26 11:59:16 +02:00