[OISF/outreachy] issue 3082

Sumera Priyadarsini sylphrenadin at gmail.com
Fri Oct 23 09:21:05 UTC 2020


On Fri, Oct 23, 2020 at 12:49 PM Claudius Muzimba via Outreachy <
outreachy at lists.openinfosecfoundation.org> wrote:

> Can someone help me how can I get started working on this issue? I have
> successfully set up my environment but I still do not know how I can start.
> Any help would be appreciated.
> thank you.
>

Hi Claudius,

I have not really played around with suricata verify just yet, but I will
try to see if I can
understand the issue.

So, suricata verify mostly has tests for the output generated when suricata
is run with certain input/configs.
If you explore the code, you will notice that these test
<https://github.com/OISF/suricata-verify/tree/master/tests> have .yaml file
for them to add features.

Sometimes, you may not want to run all tests that are present, so you can
skip the test with certain conditions.
For example, the dns-udp-dns-log answered test(don't worry about what it
tests for, I am just using an example)
needs to be run when suricata has not been built with Rust. If you see
the .yaml
file
<https://github.com/OISF/suricata-verify/blob/13cf3c73ffd176038298841979eb4ec244bd52ec/tests/dns-udp-dns-log-unanswered/test.yaml>,
you will notice there is a skip section
that specifies RUST.

This tells suricata-verify to not run (or skip) the test if suricata has
been built with RUST.

Now, coming to the issue. You will see there are a whole lot of HTTP-EVADER
tests
<https://github.com/OISF/suricata-verify/tree/4f5bb129fff28fbc1b8d1faafaef369112041b93/tests/http-evader>
present.  Depending on
unresolved bugs related to suricata, some of these tests are supposed to be
skipped. However, as more code changes are made,
we want to know which of these tests are not supposed to be skipped
anymore.

So, what can be done is to add a flag to run.py
<https://github.com/OISF/suricata-verify/blob/075d7ccfd21b0e792dd1b8631b80c14ec487a5ac/run.py>
to run these 'skip' tests if a certain feature is present in the `requires`
section of
their .yaml file. So, even if 'skip' is specified, if they have this
certain feature in their `requires` section then the test will be run.

Say, if you have a feature HTTP_EVADER_OK in the `requires` section for a
test, you want to run the test that would normally be skipped.

So, you add a flag --test-skip which takes HTTP_EVADER_OK as an argument,
looks for files that have HTTP_EVADER_OK in their `requires`
section which might have been skipped and runs those test files anyway.

Phew, that was long! I hope I did not interpret the issue wrong or end up
adding to the confusion (I am not really great at explaining things).
I will be glad even if it helps you a little.

warm regards,
Sumera


Outreachy mailing list
> Outreachy at lists.openinfosecfoundation.org
> https://lists.openinfosecfoundation.org/listinfo/outreachy
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.openinfosecfoundation.org/pipermail/outreachy/attachments/20201023/d53dbf48/attachment.html>


More information about the Outreachy mailing list