Commit Graph

120 Commits

Author SHA1 Message Date
Adrian Villin
681ff3a02a hs-test: added filenames to test names
- It is now possible to only run tests that are in a certain file

Type: test

Change-Id: I41665dd2bc0942c283be36a5af3e560fd65e9d03
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-06-10 16:42:38 +00:00
Matus Fabian
2d1f0e6c73 hs-test: HTTP download benchmarking
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-10 15:28:53 +00:00
Renato Botelho do Couto
893dacae3f build: Use $(MAKE) instead of direct call to make
No functional changes, just make it to respect original make binary
name used to start building

Type: improvement

Change-Id: Ic8568237fbb39c6a0d3b7405a9670e9410aeb752
Signed-off-by: Renato Botelho do Couto <renato@netgate.com>
2024-06-10 13:13:31 +00:00
Florin Coras
07994a25e8 hs-test: more debug output in http3 test
Type: test

Change-Id: I4d2b949f5ef5446c04ca6f35b0bd659ce389170f
Signed-off-by: Florin Coras <fcoras@cisco.com>
2024-06-06 03:08:27 -04:00
Adrian Villin
7ad37b5cf5 hs-test: keep ab/wrk containers alive until teardown
- 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-05 16:57:00 +00:00
Adrian Villin
f4972f9232 hs-test: fix coverage integration
- fixed 'make test-cov' not generating gcda files

Type: test

Change-Id: I9745c6501a97248ab343a5dbb39dddcc75f715fd
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-06-04 15:20:05 +00:00
Adrian Villin
05b0307962 hs-test: add libunwind dependency to nginx dockerfile
- 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-06-03 04:58:58 -04:00
Adrian Villin
00e35ce8e0 hs-test: temp skip some tests
- 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-31 10:55:40 -04:00
Adrian Villin
fd366b4da6 hs-test: container logging improvements
- 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-31 06:46:52 -04:00
Dave Wallace
d1a5161200 hs-test: add libunwind dependency to vpp dockerfile
- missing from https://gerrit.fd.io/r/c/vpp/+/40929 due to hst not running in CI yet.

Type: fix

Change-Id: Ib5d9b877725624ef7de9f2be5e517609aec7c5a1
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-05-31 00:23:54 +00:00
adrianvillin
8512145d7c hs-test: added targets to makefiles to get coverage from HS tests
Type: make

Change-Id: Iae7998692890264dfeea98c165617d0efa024d42
Signed-off-by: adrianvillin <avillin@cisco.com>
2024-05-30 15:59:07 +00:00
Adrian Villin
93974e281e hs-test: set longer timeouts while debugging
Type: test

Change-Id: I87baba7efa36dd40f086523b35bc6d3b0a26a1b5
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-30 15:59:01 +00:00
Adrian Villin
b9464cde7d hs-test: pin CPUs to containers
Type: test

Change-Id: I412be2dec7ff352740e50e838e0ac466bf0a6674
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-30 15:58:18 +00:00
Matus Fabian
5409d33002 http_static: sanitize path before file read
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-28 20:42:30 +00:00
Adrian Villin
0df582e8ec hs-test: fix CPU alloc when running in parallel
Type: test

Change-Id: I6062eddffb938880d9ec004c8418a9a731891989
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-23 15:48:50 +00:00
Adrian Villin
688ac5ae55 hs-test: fixed timed out tests passing in the CI
Type: test

Change-Id: Id05ea56bc5dfd80d42b8600cf11e763e25420bd0
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-17 16:47:00 +00:00
Matus Fabian
595d8cb668 http: ignore http_proxy env in tests
Type: test

Change-Id: I45a091a43e7ecb3f321fc9ecc761df2b44c9c351
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-17 11:28:43 +02:00
Adrian Villin
46d66000fb hs-test: updated api calls
Type: test

Change-Id: I2583ee74426ef154d03d4991b78ab57c5cec436f
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-17 03:11:13 +00:00
Matus Fabian
3d00893c37 http: notify client when connection failed
Type: fix

Change-Id: I87054e9667fe990d9a2dc3950bc3ce348460018a
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-14 22:38:23 +00:00
Matus Fabian
b7a9ed75fb http: fix server sending all status codes
Type: fix

Change-Id: I4bc748e3091c2fbe0142d1b74d21a543a62c4ce0
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-14 22:36:31 +00:00
Adrian Villin
637edda132 hs-test: logging improvements
Type: test

Change-Id: Iffefe085e846b6ba614b0d74c4ba9907080a9a59
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-10 03:53:42 +00:00
Matus Fabian
2d1bc4c9fe hs-test: add make test-debug target
Run tests on vpp debug build.

Type: test

Change-Id: I51e6f4ac9449c1c5b7eb649af91347188f9227e1
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-09 10:46:58 +02:00
Matus Fabian
616201abe2 http: fix http server in response
App name is used in HTTP response Server header.

Type: fix

Change-Id: Ie3b2d985dd7d554a0352f7e602891f878bebd031
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-05-03 08:17:16 +02:00
Filip Tehlar
d894438f04 http: fix client receiving large data
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-05-01 05:07:26 +00:00
Adrian Villin
fd9efaec17 hs-test: disable color output
Jenkins cannot display colors in console output

Type: fix

Change-Id: I5365dec471d773dae1f139c5fabd0711298f8bea
Signed-off-by: Adrian Villin <avillin@cisco.com>
2024-05-01 00:24:55 +00:00
Matus Fabian
18c9f14037 hs-test: fix cpu allocator
Effective CPUs file is different between cgroups v1 and v2.

Type: test

Change-Id: Ic1b9059435b3f0944624120f57e72da45adca223
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-04-29 15:44:41 +00:00
Dave Wallace
83b12bf895 hs-test: clean up Makefile for compatibility with ci-management
Type: test
Change-Id: Ic767bc1eef0180941dd8730f9fcca1389ad7e043
Signed-off-by: Dave Wallace <dwallacelf@gmail.com>
2024-04-26 01:48:58 +00:00
Matus Fabian
bbee45c80b hs-test: add tests repeat option
Type: test

Change-Id: I0143d26d929f6408a5399d7ca536e48cbd9d46bb
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-04-23 00:37:23 +00:00
Matus Fabian
c899ab4e56 hs-test: fix TCP with loss test
Load NSIM plugin.

Type: test

Change-Id: I250f51e6622419d98fd17216031a5b4d2da07fba
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-04-22 20:37:11 +00:00
Adrian Villin
cee15aa940 hs-test: transition to ginkgo test framework
Type: test

Change-Id: Ia38bf5549d20b22876f6082085b69a52a03d0142
Signed-off-by: Adrian Villin <avillin@cisco.com>
Signed-off-by: Matus Fabian <matfabia@cisco.com>
2024-04-19 14:52:05 +00:00
adrianvillin
28bd8f07d3 hs-test: experimental support for multiple test instances
- 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-03-12 16:48:46 +00:00
adrianvillin
fbf5f2b030 hs-test: shortened interface names to avoid character limit
Type: test

Change-Id: I09df597ccb8a3c4af47b8a36010afb81df533236
Signed-off-by: adrianvillin <avillin@cisco.com>
2024-02-15 18:35:34 +00:00
adrianvillin
7c675471e8 hs-test: improved logging
- 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-02-15 02:38:10 +00:00
Filip Tehlar
f34b6800de hs-test: update docs on debugging
Type: docs

Change-Id: I3bd89feb53a35532c79283bcdac2c87635c60920
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-29 19:59:02 +00:00
Filip Tehlar
a1bd50c7a2 hs-test: use relative paths for docker volumes
Type: test

Change-Id: I9d5c15662e50ceea08d2ccc653db36c5e3df869e
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-29 19:58:37 +00:00
adrianvillin
707210c636 hs-test: updated golang and packages
ioutil.ReadFile is deprecated, replaced with os.ReadFile

Type: test

Change-Id: I9f8075796d05d47ea4dddd7e986026a267a7fe0c
Signed-off-by: adrianvillin <avillin@cisco.com>
2024-01-26 16:59:02 +00:00
Filip Tehlar
9418143bd4 hs-test: change convention for skipping tests
Also re-enable external echo QUIC test.

Type: test

Change-Id: I3973409c31fd7c42b97ac3ceae1a5cbad6f1b2b6
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-19 17:02:03 +00:00
Filip Tehlar
87241fefd9 hs-test: use specific port for http3 test
curl sometimes uses 2 different source ports during the test.

Type: test

Change-Id: Ib27e9d22a9cc951f4729f4bd0ae99d80bf8d938b
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-18 17:06:00 +00:00
Filip Tehlar
56e17cf7a2 hs-test: add more asserts
Type: test

Change-Id: Ia285ff39d9b19464ea086ec847ceaf52c6c0195c
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-11 19:45:06 +00:00
Filip Tehlar
3336eefaa8 hs-test: add tls proxy test
Type: test

Change-Id: I8f3f4c464907356bb1990ea53f0f46befc057acf
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-11 10:35:54 +00:00
Filip Tehlar
4fa0ba6ac0 hs-test: retry command on test setup failure
Type: test

Change-Id: Iad744c4b3f79820e8bd0dd2ef9f18e4f7718e845
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2024-01-11 10:27:09 +00:00
Florin Coras
7428eaa4a1 session: support for cl port reuse
Adds support for connectionless listener port reuse. Until now, cl
listeners had fifos allocated to them and therefore only one app worker
could ever listen, i.e., a session cannot have multiple fifos.

To circumvent the limitation, this separates the fifos from the listener
by allocating new cl sessions for each app worker that reuses the app
listener. Flows are hashed to app worker cl sessions but, for now, this
is not a consistent/fixed hash.

Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: Ic6533cd47f2765903669f88c288bd592fb17a19e
2024-01-09 17:07:54 +00:00
Florin Coras
98d24a5fea hs-test: more proxy vars for docker builds
Type: improvement

Change-Id: Ica9d87abde7a1dc0b4007911a7e0abab46dfb75d
Signed-off-by: Florin Coras <fcoras@cisco.com>
2023-12-23 01:01:09 +00:00
Florin Coras
f26bbeac4b hs-test: use prebuilt curl with http3 support
Type: improvement

Signed-off-by: Florin Coras <fcoras@cisco.com>
Change-Id: I4d17ae3f7736dc10c68ca6e304699ea39d012f6c
2023-12-22 17:19:11 +00:00
Filip Tehlar
48744b9aa3 hs-test: decrease docker image size
Type: test

Change-Id: Ic1ad2f1f983ad8f8e8e8813f941e11757930c92e
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-12-15 17:50:06 +00:00
Filip Tehlar
5ebdd51c60 hs-test: remove unnecessary app ns configs
Type: test

Change-Id: I0226227dc756a5a3af5e9d3b0d65a38c0aa55b3d
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-12-15 13:38:31 +01:00
Filip Tehlar
cc1475cdc2 hs-test: add http prom test
Type: test

Change-Id: Ia15ecc3cf2c087a6959601ff02e187c32570ff60
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-11-30 03:33:02 +00:00
Filip Tehlar
efe875e7cd hsa: unify echo test setup
Type: test

Change-Id: I8665492c2f7755901a428aacdb27e98329ff557a
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-10-26 16:32:17 +00:00
Filip Tehlar
109f3ce4eb hs-test: point gdb to vpp source files
Type: test

Change-Id: Ie5867737e5d49fd45cc15b690af3493263fb2f6f
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-09-05 15:55:55 +00:00
Filip Tehlar
3b770881b9 hs-test: verbose output on single test run
Type: test

Change-Id: I12ae7db36a6f7f9758fd195088877dfcd5606f84
Signed-off-by: Filip Tehlar <ftehlar@cisco.com>
2023-09-05 15:58:28 +02:00