summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorClark Williams <williams@redhat.com>2010-07-30 16:57:31 -0500
committerClark Williams <williams@redhat.com>2010-07-30 16:57:31 -0500
commit92752aaed2f961677fce673f22b02f49f2140974 (patch)
tree34ded01ceb4a77130c177840d9f9b50c702e3fd1
parentb21b3348bfdef0145ade83158f90d4206d46397e (diff)
downloadmock-92752aaed2f961677fce673f22b02f49f2140974.tar.gz
mock-92752aaed2f961677fce673f22b02f49f2140974.tar.xz
mock-92752aaed2f961677fce673f22b02f49f2140974.zip
deleted testing files from docs dir (moved to tests dir)
Signed-off-by: Clark Williams <williams@redhat.com>
-rw-r--r--docs/daemontest.c104
-rwxr-xr-xdocs/runtests.sh208
-rwxr-xr-xtests/releasetests.sh30
3 files changed, 30 insertions, 312 deletions
diff --git a/docs/daemontest.c b/docs/daemontest.c
deleted file mode 100644
index 3a31825..0000000
--- a/docs/daemontest.c
+++ /dev/null
@@ -1,104 +0,0 @@
-/* test program to test orhphanskill feature
- * compile it (per below) and put it in /tmp/ of the chroot.
- * Then:
- * mock -r CFG chroot /tmp/daemontest
- *
- * Expected output:
- * INFO: mock suid wrapper version 0.8.0
- * INFO: mock.py version 0.8.0 starting...
- * State Changed: start
- * State Changed: init
- * WARNING: Process ID 12180 still running in chroot. Killing...
- *
- */
-
-
-/*
- * UNIX Daemon Server Programming Sample Program
- * Levent Karakas <levent at mektup dot at> May 2001
- *
- * To compile: cc -o exampled examped.c
- * To run: ./exampled
- * To test daemon: ps -ef|grep exampled (or ps -aux on BSD systems)
- * To test log: tail -f /tmp/exampled.log
- * To test signal: kill -HUP `cat /tmp/exampled.lock`
- * To terminate: kill `cat /tmp/exampled.lock`
- * */
-
-#include <stdio.h>
-#include <fcntl.h>
-#include <signal.h>
-#include <unistd.h>
-#include <stdlib.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-
-#define RUNNING_DIR "/tmp"
-#define LOCK_FILE "exampled.lock"
-#define LOG_FILE "exampled.log"
-
-void log_message(filename,message)
-char *filename;
-char *message;
-{
-FILE *logfile;
- logfile=fopen(filename,"a");
- if(!logfile) return;
- fprintf(logfile,"%s\n",message);
- fclose(logfile);
-}
-
-void signal_handler(sig)
-int sig;
-{
- switch(sig) {
- case SIGHUP:
- log_message(LOG_FILE,"hangup signal catched");
- break;
- case SIGTERM:
- log_message(LOG_FILE,"terminate signal catched");
- exit(0);
- break;
- }
-}
-
-void daemonize()
-{
-int i,lfp;
-char str[10];
- if(getppid()==1) return; /* already a daemon */
- i=fork();
- if (i<0) exit(1); /* fork error */
- if (i>0) exit(0); /* parent exits */
- /* child (daemon) continues */
- setsid(); /* obtain a new process group */
- for (i=getdtablesize();i>=0;--i) close(i); /* close all descriptors */
- i=open("/dev/null",O_RDWR); dup(i); dup(i); /* handle standart I/O */
- umask(027); /* set newly created file permissions */
- chdir(RUNNING_DIR); /* change running directory */
- lfp=open(LOCK_FILE,O_RDWR|O_CREAT,0640);
- if (lfp<0) exit(1); /* can not open */
- if (lockf(lfp,F_TLOCK,0)<0) exit(0); /* can not lock */
- /* first instance continues */
- sprintf(str,"%d\n",getpid());
- write(lfp,str,strlen(str)); /* record pid to lockfile */
- signal(SIGCHLD,SIG_IGN); /* ignore child */
- signal(SIGTSTP,SIG_IGN); /* ignore tty signals */
- signal(SIGTTOU,SIG_IGN);
- signal(SIGTTIN,SIG_IGN);
- signal(SIGHUP,signal_handler); /* catch hangup signal */
- signal(SIGTERM,signal_handler); /* catch kill signal */
-}
-
-int main()
-{
- daemonize();
- // run for roughly 5 mins then exit. No need to stick around if unit test fails.
- int i=0;
- for( i=0; i<300; i++ ) sleep(1);
- return 0;
-}
-
-/* EOF */
diff --git a/docs/runtests.sh b/docs/runtests.sh
deleted file mode 100755
index a7a7aaa..0000000
--- a/docs/runtests.sh
+++ /dev/null
@@ -1,208 +0,0 @@
-#!/bin/sh
-# vim:tw=0:ts=4:sw=4
-
-# this is a test script to run everything through its paces before you do a
-# release. The basic idea is:
-
-# 1) make distcheck to ensure that all autoconf stuff is setup properly
-# 2) run some basic tests to test different mock options.
-# 3) rebuild mock srpm using this version of mock under all distributed configs
-
-# This test will only run on a machine with full access to internet.
-# might work with http_proxy= env var, but I havent tested that.
-#
-# This test script expects to be run on an x86_64 machine. It will *not* run
-# properly on an i386 machine.
-#
-
-set -e
-set -x
-
-header() {
- set +x
- echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
- echo $1
- echo "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%"
- echo ""
- set -x
-}
-
-#MOCK_EXTRA_ARGS=--trace
-
-CURDIR=$(pwd)
-MOCKSRPM=${CURDIR}/mock-*.src.rpm
-DIR=$(cd $(dirname $0); pwd)
-TOP_SRCTREE=$DIR/../
-cd $TOP_SRCTREE
-
-#
-# most tests below will use this mock command line
-#
-testConfig=fedora-13-x86_64
-uniqueext="$$-$RANDOM"
-outdir=${CURDIR}/mock-unit-test
-MOCKCMD="sudo ./py/mock.py --resultdir=$outdir --uniqueext=$uniqueext -r $testConfig $MOCK_EXTRA_ARGS"
-CHROOT=/var/lib/mock/${testConfig}-$uniqueext/root
-
-trap '$MOCKCMD --clean' INT HUP QUIT EXIT TERM
-
-# clear out root cache so we get at least run without root cache present
-#sudo rm -rf /var/lib/mock/cache/${testConfig}/root_cache
-
-#
-# pre-populate yum cache for the rest of the commands below
-#
-header "pre-populating the cache"
-time $MOCKCMD --init
-time $MOCKCMD --installdeps $MOCKSRPM
-if [ ! -e $CHROOT/usr/include/python* ]; then
- echo "installdeps test FAILED. could not find /usr/include/python*"
- exit 1
-fi
-
-#
-# Test that chroot return code is properly passed up
-#
-header "testing that chroot return code is passed back correctly"
-set +e
-time $MOCKCMD --offline --chroot -- bash -c "exit 5"
-res=$?
-if [ $res -ne 5 ]; then
- echo "'mock --chroot' return code not properly passed back: $res"
- exit 1
-fi
-set -e
-
-#
-# test mock shell (interactive) and return code passing
-#
-header "testing interactive shell and return code"
-set +e
-echo exit 5 | time $MOCKCMD --offline --shell
-res=$?
-if [ $res -ne 5 ]; then
- echo "'mock --chroot' return code not properly passed back: $res"
- exit 1
-fi
-set -e
-
-#
-# Test that chroot with one arg is getting passed though a shell (via os.system())
-#
-header "testing that args are passed correctly to a shell"
-time $MOCKCMD --offline --chroot 'touch /tmp/{foo,bar,baz}'
-if [ ! -f $CHROOT/tmp/foo ] || [ ! -f $CHROOT/tmp/bar ] || [ ! -f $CHROOT/tmp/baz ]; then
- echo "'mock --chroot' with one argument is not being passed to os.system()"
- exit 1
-fi
-
-#
-# Test that chroot with more than one arg is not getting passed through a shell
-#
-header "Test that chroot with more than one arg is not getting passed through a shell"
-time $MOCKCMD --offline --chroot touch '/tmp/{quux,wibble}'
-if [ ! -f $CHROOT/tmp/\{quux,wibble\} ] || [ -f $CHROOT/tmp/quux ] || [ -f $CHROOT/tmp/wibble ]; then
- echo "'mock --chroot' with more than one argument is being passed to os.system()"
- exit 1
-fi
-
-#
-# Test offline build as well as tmpfs
-#
-header "Test offline build as well as tmpfs"
-time $MOCKCMD --offline --enable-plugin=tmpfs --rebuild $MOCKSRPM
-if [ ! -e $outdir/mock-*.noarch.rpm ]; then
- echo "rebuild test FAILED. could not find $outdir/mock-*.noarch.rpm"
- exit 1
-fi
-
-#
-# Test orphanskill feature (std)
-#
-header "Test orphanskill feature (std)"
-if pgrep daemontest; then
- echo "Exiting because there is already a daemontest running."
- exit 1
-fi
-time $MOCKCMD --offline --init
-time $MOCKCMD --offline --copyin docs/daemontest.c /tmp
-time $MOCKCMD --offline --chroot -- gcc -Wall -o /tmp/daemontest /tmp/daemontest.c
-time $MOCKCMD --offline --chroot -- /tmp/daemontest
-if pgrep daemontest; then
- echo "Daemontest FAILED. found a daemontest process running after exit."
- exit 1
-fi
-
-#
-# Test orphanskill feature (explicit)
-#
-header "Test orphanskill feature (explicit)"
-time $MOCKCMD --offline --init
-time $MOCKCMD --offline --copyin docs/daemontest.c /tmp
-time $MOCKCMD --offline --chroot -- gcc -Wall -o /tmp/daemontest /tmp/daemontest.c
-echo -e "#!/bin/sh\n/tmp/daemontest\nsleep 60\n" >> $CHROOT/tmp/try
-# the following should launch about three processes in the chroot: bash, sleep, daemontest
-$MOCKCMD --offline --chroot -- bash /tmp/try &
-mockpid=$!
-sleep 1
-# now we 'prematurely' kill mock. This should leave the three orphans above
-sudo kill -9 $mockpid
-if ! pgrep daemontest; then
- echo "Daemontest failed. daemontest should be running now but is not."
- exit 1
-fi
-$MOCKCMD --offline --orphanskill
-if pgrep daemontest; then
- echo "Daemontest FAILED. found a daemontest process running after exit."
- exit 1
-fi
-
-
-#
-# test init/clean
-#
-header "test init/clean"
-time $MOCKCMD --offline --clean
-if [ -e $CHROOT ]; then
- echo "clean test FAILED. still found $CHROOT dir."
- exit 1
-fi
-
-time $MOCKCMD --offline --init
-time $MOCKCMD --offline --install ccache
-if [ ! -e $CHROOT/usr/bin/ccache ]; then
- echo "init/clean test FAILED. ccache not found."
- exit 1
-fi
-
-#
-# test old-style cmdline options
-#
-header "test old-style cmdline options"
-time $MOCKCMD --offline clean
-time $MOCKCMD --offline init
-time $MOCKCMD --offline install ccache
-if [ ! -e $CHROOT/usr/bin/ccache ]; then
- echo "init/clean test FAILED. ccache not found."
- exit 1
-fi
-
-#
-# clean up from first round of tests
-#
-header "clean up from first round of tests"
-time $MOCKCMD --offline --clean
-
-#
-# Test build all configs we ship.
-#
-for i in $(ls etc/mock | grep .cfg | grep -v default | egrep -v 'ppc|s390|sparc'); do
- MOCKCMD="sudo ./py/mock.py --resultdir=$outdir --uniqueext=$uniqueext -r $(basename $i .cfg) $MOCK_EXTRA_ARGS"
- if [ "${i#epel-4-x86_64.cfg}" != "" ]; then
- header "testing config $(basename $i .cfg)"
- time $MOCKCMD --enable-plugin=tmpfs --rebuild $MOCKSRPM
- fi
- time $MOCKCMD --rebuild $MOCKSRPM
-done
-
-
diff --git a/tests/releasetests.sh b/tests/releasetests.sh
new file mode 100755
index 0000000..ba29c20
--- /dev/null
+++ b/tests/releasetests.sh
@@ -0,0 +1,30 @@
+#!/bin/sh
+# vim:tw=0:ts=4:sw=4
+
+# this is a test script to run everything through its paces before you do a
+# release. The basic idea is:
+
+# 1) make distcheck to ensure that all autoconf stuff is setup properly
+# 2) run some basic tests to test different mock options.
+# 3) rebuild mock srpm using this version of mock under all distributed configs
+
+# This test will only run on a machine with full access to internet.
+# might work with http_proxy= env var, but I havent tested that.
+#
+# This test script expects to be run on an x86_64 machine. It will *not* run
+# properly on an i386 machine.
+#
+
+set -e
+set -x
+
+DIR=$(cd $(dirname $0); pwd)
+TOP_SRCTREE=$DIR/../
+cd $TOP_SRCTREE
+
+make distclean ||:
+./autogen.sh
+./configure
+make distcheck
+make srpm
+make check