-
Notifications
You must be signed in to change notification settings - Fork 5
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Rework the test suite #56
Labels
good to start
Start form this tasks if you're new in the framework
Infrastructure
The framework reworking and extensions
Milestone
Comments
krizhanovsky
added
enhancement
New feature or request
question
Further information is requested
labels
Nov 15, 2018
krizhanovsky
added
crucial
Infrastructure
The framework reworking and extensions
labels
Nov 25, 2018
krizhanovsky
added a commit
that referenced
this issue
Jun 24, 2019
Fix ugly assertion 'False is not true'. Print warnings on higest verbose level about deprecated classes (#56).
krizhanovsky
added a commit
that referenced
this issue
Dec 1, 2020
Essencial parts of the library are moved into tls/ directory and are supposed for further truncation, fixes and migration to Python 3.
krizhanovsky
added a commit
that referenced
this issue
Dec 11, 2020
Essencial parts of the library are moved into tls/ directory and are supposed for further truncation, fixes and migration to Python 3.
7 tasks
krizhanovsky
added
the
good to start
Start form this tasks if you're new in the framework
label
Aug 3, 2022
Merged
This was referenced Jan 8, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
good to start
Start form this tasks if you're new in the framework
Infrastructure
The framework reworking and extensions
There are several architectural issues in the current test suite (the list is going to be updated):
/framework
is the new one. Need to finish moving to the new framework.The test framework must use HTTP/2 client connections by default.HTTP/2 has several drawbacks, performance and observability, so it actually doesn't replace HTTP/1 in all the cases (e.g. server management) and we should not throw HTTP/1 out./framework
and/helpers
separation is unclear:helpers
are expected to contain generic classes, e.g. dmesg or analyzer, useful in different tests directly, whiledeproxy.Client
seems purely dedicated to the framework itself and it's strange to seedeproxy.py
in/helpers
while all the related logic is in/framework
.tests_disabled.json
with a special version field, e.g."version" : "0.7"
means that the test is disabled for Tempesta version below 0.7. In the new framework, the full Tempesta configuration is listed in the test description file, not compiled from parts, so we can give very specific configuration for exact Tempesta version. Some good and generic solution is required. (Duplicate of Tests for stable versions #55)dmesg
is analysed after every test case to search for possible oopses and warnings. Current way of analysis(dmesg | tac | grep -m 1 "Start test" -B %i | tac)
is not effective for long running tests, so dmesg will be called once again. Instead we can simply usejournalctl -k --since=${date}
to show all required content with one call. More over,journalctl
can be configured to use really big buffers, and full system log will be available at any time.The both the current test frameworks use HTTP/1.1 in plain test mode, w/o TLS, while the most real life traffic is at least encrypted and HTTP/2 grows. It means that out test suite tests the most crucial components in only ad hoc tests. That doesn't make much sense, so I mark the issue as crucial.
The text was updated successfully, but these errors were encountered: