add smoke tests for sqlite + dnf

testing both dnf5 and dnf-3
This commit is contained in:
Zuzana Miklankova 2023-06-23 12:47:55 +02:00
commit ad22d20557
No known key found for this signature in database
GPG key ID: 46A18EF4D17103A0
10 changed files with 122 additions and 2 deletions

View file

@ -0,0 +1,3 @@
PURPOSE of /CoreOS/sqlite3/Sanity/basic/sqlite3-python
Description: Basic test for python and sqlite3 DB
Author: Branislav Nater <bnater@redhat.com>

View file

@ -0,0 +1,15 @@
summary: Sanity test for sqlite database
description: ''
contact: Filip Janus <fjanus@redhat.com>
component:
- sqlite
path: /basic/sqlite3-python
framework: beakerlib
recommend:
- python36
- sqlite
duration: 5m
enabled: true
tag:
- Tier1
- sqlite

56
basic/sqlite3-python/runtest.sh Executable file
View file

@ -0,0 +1,56 @@
#!/bin/bash
# vim: dict=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# runtest.sh of /CoreOS/sqlite3/Sanity/basic
# Description: Basic test for python and sqlite3 DB
# Author: Branislav Nater <bnater@redhat.com>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
# Copyright (c) 2013 Red Hat, Inc. All rights reserved.
#
# 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 beakerlib environment
. /usr/share/beakerlib/beakerlib.sh || exit 1
PACKAGES=${PACKAGE:-"python36 sqlite"}
PYTHON=${PYTHON:-python3}
REQUIRES=${REQUIRES:-sqlite}
rlJournalStart
rlPhaseStartSetup
#rlAssertRpm --all
#rlAssertBinaryOrigin $PYTHON
rlRun "TmpDir=\$(mktemp -d)" 0 "Creating tmp directory"
rlRun "cp sqlite3-test.py $TmpDir" 0 "Copy test script to $TmpDir"
rlRun "pushd $TmpDir"
rlPhaseEnd
rlGetTestState && {
rlPhaseStartTest
rlRun "$PYTHON sqlite3-test.py"
rlPhaseEnd
}
rlPhaseStartCleanup
rlRun "popd"
rlRun "rm -r $TmpDir" 0 "Removing tmp directory"
rlPhaseEnd
rlJournalEnd
rlJournalPrintText

View file

@ -0,0 +1,37 @@
#!/usr/bin/python
import sqlite3
import sys
conn = None
try:
conn = sqlite3.connect('test.db')
cur = conn.cursor()
cur.execute('SELECT SQLITE_VERSION()')
ver = cur.fetchone()
print("SQLite version: %s" % ver)
# Create a new table 'Writers'
cur.execute("CREATE TABLE Writers(Id INTEGER PRIMARY KEY AUTOINCREMENT, \
Name VARCHAR(25))")
cur.execute("INSERT INTO Writers(Name) VALUES('Jack London')")
cur.execute("INSERT INTO Writers(Name) VALUES('Honore de Balzac')")
cur.execute("INSERT INTO Writers(Name) VALUES('Lion Feuchtwanger')")
# Retrieve data
for row in cur.execute("SELECT * FROM Writers"):
print(row)
cur.execute("DROP TABLE Writers")
except (sqlite3.Error) as e:
print("Error %s:" % e.args[0])
sys.exit(1)
finally:
if conn:
conn.close()