diff options
author | Clark Williams <williams@redhat.com> | 2010-07-30 16:57:31 -0500 |
---|---|---|
committer | Clark Williams <williams@redhat.com> | 2010-07-30 16:57:31 -0500 |
commit | 92752aaed2f961677fce673f22b02f49f2140974 (patch) | |
tree | 34ded01ceb4a77130c177840d9f9b50c702e3fd1 /docs | |
parent | b21b3348bfdef0145ade83158f90d4206d46397e (diff) | |
download | mock-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>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/daemontest.c | 104 | ||||
-rwxr-xr-x | docs/runtests.sh | 208 |
2 files changed, 0 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 - - |