Initial commit for Atomic Host Tests
This commit is contained in:
parent
7c21fa8d9a
commit
ed120bbfb6
88
tests/cmd-line-options/Makefile
Normal file
88
tests/cmd-line-options/Makefile
Normal file
@ -0,0 +1,88 @@
|
|||||||
|
# Copyright (c) 2006 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 v.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.
|
||||||
|
#
|
||||||
|
# Author: Milos Malik <mmalik@redhat.com>
|
||||||
|
|
||||||
|
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
|
||||||
|
# Example Makefile for RHTS #
|
||||||
|
# This example is geared towards a test for a specific package #
|
||||||
|
# It does most of the work for you, but may require further coding #
|
||||||
|
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~#
|
||||||
|
|
||||||
|
# The toplevel namespace within which the test lives.
|
||||||
|
# FIXME: You will need to change this:
|
||||||
|
TOPLEVEL_NAMESPACE=CoreOS
|
||||||
|
|
||||||
|
# The name of the package under test:
|
||||||
|
# FIXME: you wil need to change this:
|
||||||
|
PACKAGE_NAME=acl
|
||||||
|
|
||||||
|
# The path of the test below the package:
|
||||||
|
# FIXME: you wil need to change this:
|
||||||
|
RELATIVE_PATH=Sanity/cmd-line-options
|
||||||
|
|
||||||
|
# Version of the test. Used with make tag.
|
||||||
|
export TESTVERSION=1.0
|
||||||
|
|
||||||
|
# The combined namespace of the test.
|
||||||
|
export TEST=/$(TOPLEVEL_NAMESPACE)/$(PACKAGE_NAME)/$(RELATIVE_PATH)
|
||||||
|
|
||||||
|
|
||||||
|
# A phony target is one that is not really the name of a file.
|
||||||
|
# It is just a name for some commands to be executed when you
|
||||||
|
# make an explicit request. There are two reasons to use a
|
||||||
|
# phony target: to avoid a conflict with a file of the same
|
||||||
|
# name, and to improve performance.
|
||||||
|
.PHONY: all install download clean
|
||||||
|
|
||||||
|
# executables to be built should be added here, they will be generated on the system under test.
|
||||||
|
BUILT_FILES=
|
||||||
|
|
||||||
|
# data files, .c files, scripts anything needed to either compile the test and/or run it.
|
||||||
|
FILES=$(METADATA) runtest.sh Makefile PURPOSE test-core.sh
|
||||||
|
|
||||||
|
run: $(FILES) build
|
||||||
|
./runtest.sh
|
||||||
|
|
||||||
|
build: $(BUILT_FILES)
|
||||||
|
chmod a+x ./runtest.sh ./test-core.sh
|
||||||
|
|
||||||
|
clean:
|
||||||
|
rm -f *~ *.rpm $(BUILT_FILES)
|
||||||
|
|
||||||
|
# You may need to add other targets e.g. to build executables from source code
|
||||||
|
# Add them here:
|
||||||
|
|
||||||
|
|
||||||
|
# Include Common Makefile
|
||||||
|
include /usr/share/rhts/lib/rhts-make.include
|
||||||
|
|
||||||
|
# Generate the testinfo.desc here:
|
||||||
|
$(METADATA): Makefile
|
||||||
|
@touch $(METADATA)
|
||||||
|
# Change to the test owner's name
|
||||||
|
@echo "Owner: Milos Malik <mmalik@redhat.com>" > $(METADATA)
|
||||||
|
@echo "Name: $(TEST)" >> $(METADATA)
|
||||||
|
@echo "Path: $(TEST_DIR)" >> $(METADATA)
|
||||||
|
@echo "TestVersion: $(TESTVERSION)" >> $(METADATA)
|
||||||
|
@echo "Type: Sanity" >> $(METADATA)
|
||||||
|
@echo "Description: utilities are tested if they support basic command line options" >> $(METADATA)
|
||||||
|
@echo "TestTime: 2m" >> $(METADATA)
|
||||||
|
@echo "RunFor: $(PACKAGE_NAME)" >> $(METADATA)
|
||||||
|
# add any other packages for which your test ought to run here
|
||||||
|
@echo "Requires: $(PACKAGE_NAME)" >> $(METADATA)
|
||||||
|
# add any other requirements for the script to run here
|
||||||
|
@echo "License: GPLv2" >> $(METADATA)
|
||||||
|
|
||||||
|
# You may need other fields here; see the documentation
|
||||||
|
rhts-lint $(METADATA)
|
5
tests/cmd-line-options/PURPOSE
Normal file
5
tests/cmd-line-options/PURPOSE
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
Test Name: cmd-line-options
|
||||||
|
Author: Milos Malik <mmalik@redhat.com>
|
||||||
|
Location: /CoreOS/acl/Sanity/cmd-line-options
|
||||||
|
Short Description: Utilities are tested if they support basic command line options.
|
||||||
|
Safe: yes
|
18
tests/cmd-line-options/runtest.sh
Executable file
18
tests/cmd-line-options/runtest.sh
Executable file
@ -0,0 +1,18 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Copyright (c) 2006 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 v.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.
|
||||||
|
#
|
||||||
|
# Author: Milos Malik <mmalik@redhat.com>
|
||||||
|
|
||||||
|
rhts-run-simple-test $TEST ./test-core.sh
|
113
tests/cmd-line-options/test-core.sh
Executable file
113
tests/cmd-line-options/test-core.sh
Executable file
@ -0,0 +1,113 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# Description: sanity test for acl package
|
||||||
|
# Author: Milos Malik <mmalik@redhat.com>
|
||||||
|
|
||||||
|
##### Variable Declaration #####
|
||||||
|
VERSION=1.0
|
||||||
|
|
||||||
|
# FAIL unless test explicitly passes
|
||||||
|
RESULT=FAIL
|
||||||
|
|
||||||
|
# Each pass increases SCORE by 1
|
||||||
|
SCORE=0
|
||||||
|
TOTAL=8
|
||||||
|
|
||||||
|
# Set language so we know what results to test for
|
||||||
|
set_lang=0
|
||||||
|
old_lang=$LANG
|
||||||
|
new_lang=en_US.UTF-8
|
||||||
|
|
||||||
|
# Which package and which utility do we test?
|
||||||
|
PACKAGE=acl
|
||||||
|
|
||||||
|
##### Function Declaration #####
|
||||||
|
|
||||||
|
log () {
|
||||||
|
printf "\n:: $1 ::\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
check_exit_code () {
|
||||||
|
echo -e "\t* exit code: $1"
|
||||||
|
if [ $1 $2 $3 ] ; then
|
||||||
|
let "SCORE += 1"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
##### Begin Test #####
|
||||||
|
|
||||||
|
log "[`date +%H:%M:%S`] Begin Test - $TEST-$VERSION"
|
||||||
|
|
||||||
|
# Warn if not running as root that test might fail
|
||||||
|
e_user=$(whoami)
|
||||||
|
if [[ x"${e_user}" != x"root" ]]; then
|
||||||
|
log "Warning, not running as root! This test might fail."
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Temporarily set LANG to value we can trust results from
|
||||||
|
if [[ x"${LANG}" != x"${new_lang}" ]]; then
|
||||||
|
log "Warning, LANG not set to ${new_lang}!"
|
||||||
|
log "Temporarily setting LANG to ${new_lang}, was ${old_lang}"
|
||||||
|
|
||||||
|
set_lang=1
|
||||||
|
export LANG=${new_lang}
|
||||||
|
log "Done, LANG=${new_lang}."
|
||||||
|
fi
|
||||||
|
|
||||||
|
log "getfacl -h"
|
||||||
|
getfacl -h >& /dev/null
|
||||||
|
check_exit_code $? -eq 0
|
||||||
|
|
||||||
|
log "getfacl --help"
|
||||||
|
getfacl --help >& /dev/null
|
||||||
|
check_exit_code $? -eq 0
|
||||||
|
|
||||||
|
log "getfacl -v"
|
||||||
|
getfacl -v >& /dev/null
|
||||||
|
check_exit_code $? -eq 0
|
||||||
|
|
||||||
|
log "getfacl --version"
|
||||||
|
getfacl --version >& /dev/null
|
||||||
|
check_exit_code $? -eq 0
|
||||||
|
|
||||||
|
log "setfacl -h"
|
||||||
|
setfacl -h >& /dev/null
|
||||||
|
check_exit_code $? -eq 0
|
||||||
|
|
||||||
|
log "setfacl --help"
|
||||||
|
setfacl --help >& /dev/null
|
||||||
|
check_exit_code $? -eq 0
|
||||||
|
|
||||||
|
log "setfacl -v"
|
||||||
|
setfacl -v >& /dev/null
|
||||||
|
check_exit_code $? -eq 0
|
||||||
|
|
||||||
|
log "setfacl --version"
|
||||||
|
setfacl --version >& /dev/null
|
||||||
|
check_exit_code $? -eq 0
|
||||||
|
|
||||||
|
# Reset LANG to original value
|
||||||
|
if [[ ${set_lang} == 1 ]]; then
|
||||||
|
log "Resetting LANG to ${old_lang}."
|
||||||
|
export LANG=${old_lang}
|
||||||
|
log "Done, LANG=${old_lang}."
|
||||||
|
fi
|
||||||
|
|
||||||
|
log "[`date +%H:%M:%S`] End Test - $TEST-$VERSION"
|
||||||
|
|
||||||
|
##### Report results #####
|
||||||
|
|
||||||
|
log "SCORE: ${SCORE}/${TOTAL}"
|
||||||
|
|
||||||
|
if [ ${SCORE} -eq ${TOTAL} ] ; then
|
||||||
|
# everything was OK
|
||||||
|
log "RESULT: PASS"
|
||||||
|
printf "\n\n"
|
||||||
|
exit 0
|
||||||
|
else
|
||||||
|
# something failed
|
||||||
|
log "RESULT: FAIL"
|
||||||
|
printf "\n\n"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
##### End Test #####
|
13
tests/tests.yml
Normal file
13
tests/tests.yml
Normal file
@ -0,0 +1,13 @@
|
|||||||
|
---
|
||||||
|
# This first play always runs on the local staging system
|
||||||
|
- hosts: localhost
|
||||||
|
roles:
|
||||||
|
- role: standard-test-beakerlib
|
||||||
|
tags:
|
||||||
|
- classic
|
||||||
|
- container
|
||||||
|
- atomic
|
||||||
|
tests:
|
||||||
|
- cmd-line-options
|
||||||
|
required_packages:
|
||||||
|
- which # which package required for cmd-line-options
|
Loading…
Reference in New Issue
Block a user