Use tmt plan from c10s for gating c9s as well

Related: RHELMISC-7568
This commit is contained in:
Lukáš Zachar 2024-10-16 18:25:48 +02:00
parent 70e1549fe5
commit b3d1406961
8 changed files with 134 additions and 0 deletions

1
.fmf/version Normal file
View File

@ -0,0 +1 @@
1

5
gating.yaml Normal file
View File

@ -0,0 +1,5 @@
--- !Policy
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

4
plan.fmf Normal file
View File

@ -0,0 +1,4 @@
discover:
how: fmf
execute:
how: tmt

12
tests/smoke/main.fmf Normal file
View File

@ -0,0 +1,12 @@
summary: Run examples
description: |
Runs simple examples which already caused problems while fixing CVE.
run-parser is taken from the source
component:
- libyaml
test: ./runtest.sh
framework: beakerlib
require:
- libyaml-devel
- gcc
duration: 5m

View File

@ -0,0 +1,4 @@
%YAML 1.1
---
{Backoff: 1}
...

View File

@ -0,0 +1,6 @@
%YAML 1.1
--- # Indented Block
name: John Smith
age: 33
--- # Inline Block
{name: John Smith, age: 33}

63
tests/smoke/run-parser.c Normal file
View File

@ -0,0 +1,63 @@
#include <yaml.h>
#include <stdlib.h>
#include <stdio.h>
#ifdef NDEBUG
#undef NDEBUG
#endif
#include <assert.h>
int
main(int argc, char *argv[])
{
int number;
if (argc < 2) {
printf("Usage: %s file1.yaml ...\n", argv[0]);
return 0;
}
for (number = 1; number < argc; number ++)
{
FILE *file;
yaml_parser_t parser;
yaml_event_t event;
int done = 0;
int count = 0;
int error = 0;
printf("[%d] Parsing '%s': ", number, argv[number]);
fflush(stdout);
file = fopen(argv[number], "rb");
assert(file);
assert(yaml_parser_initialize(&parser));
yaml_parser_set_input_file(&parser, file);
while (!done)
{
if (!yaml_parser_parse(&parser, &event)) {
error = 1;
break;
}
done = (event.type == YAML_STREAM_END_EVENT);
yaml_event_delete(&event);
count ++;
}
yaml_parser_delete(&parser);
assert(!fclose(file));
printf("%s (%d events)\n", (error ? "FAILURE" : "SUCCESS"), count);
}
return 0;
}

39
tests/smoke/runtest.sh Executable file
View File

@ -0,0 +1,39 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/libyaml/Sanity/smoke
# Description: What the test does
# Author: Lukas Zachar <lzachar@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2014 Red Hat, Inc.
#
# This copyrighted material is made available to anyone wishing
# to use, modify, copy, or redistribute it subject to the terms
# and conditions of the GNU General Public License version 2.
#
# This program is distributed in the hope that it will be
# useful, but WITHOUT ANY WARRANTY; without even the implied
# warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
# PURPOSE. See the GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public
# License along with this program; if not, write to the Free
# Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
# Boston, MA 02110-1301, USA.
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# Include Beaker environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
rlJournalStart
rlPhaseStartTest
rlRun "gcc -O2 -Wall -W -g run-parser.c -lyaml -o run-parser"
rlRun "./run-parser regression_1063866.yaml"
rlRun "./run-parser regression_1033990.yaml"
rlPhaseEnd
rlJournalPrintText
rlJournalEnd