Regression tests for RAS. Tests the basic functionality including
forking and execing.
This commit is contained in:
parent
2468902b58
commit
3ee9d48c4d
|
@ -0,0 +1,5 @@
|
|||
# $NetBSD: Makefile,v 1.1 2002/08/28 07:47:18 gmcgarry Exp $
|
||||
|
||||
SUBDIR+= ras1 ras2 ras3
|
||||
|
||||
.include <bsd.subdir.mk>
|
|
@ -0,0 +1,14 @@
|
|||
# $NetBSD: Makefile,v 1.1 2002/08/28 07:47:20 gmcgarry Exp $
|
||||
|
||||
PROG= ras1
|
||||
NOMAN= #defined
|
||||
WARNS= 2
|
||||
|
||||
regress:
|
||||
@if ./${PROG} ; then \
|
||||
echo "PASSED"; \
|
||||
else \
|
||||
echo "FAILED"; \
|
||||
fi
|
||||
|
||||
.include <bsd.prog.mk>
|
|
@ -0,0 +1,48 @@
|
|||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <sys/ras.h>
|
||||
#include <sys/time.h>
|
||||
|
||||
#define COUNT 10
|
||||
|
||||
__volatile int handled = 0;
|
||||
__volatile int count = 0;
|
||||
struct itimerval itv;
|
||||
|
||||
void handler(int);
|
||||
|
||||
void
|
||||
handler(int sig)
|
||||
{
|
||||
|
||||
handled++;
|
||||
}
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
|
||||
signal(SIGVTALRM, handler);
|
||||
|
||||
itv.it_interval.tv_sec = 0;
|
||||
itv.it_interval.tv_usec = 0;
|
||||
itv.it_value.tv_sec = 10;
|
||||
itv.it_value.tv_usec = 0;
|
||||
setitimer(ITIMER_VIRTUAL, &itv, NULL);
|
||||
|
||||
if (rasctl((caddr_t)&&start, (caddr_t)&&end - (caddr_t)&&start,
|
||||
RAS_INSTALL) < 0)
|
||||
return (1);
|
||||
|
||||
start:
|
||||
count++;
|
||||
if (count > COUNT)
|
||||
goto end;
|
||||
|
||||
while (!handled) {
|
||||
continue;
|
||||
}
|
||||
end:
|
||||
|
||||
return (handled != 0);
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
# $NetBSD: Makefile,v 1.1 2002/08/28 07:47:24 gmcgarry Exp $
|
||||
|
||||
PROG= ras2
|
||||
NOMAN= #defined
|
||||
WARNS= 2
|
||||
|
||||
regress:
|
||||
@if ./${PROG} ; then \
|
||||
echo "PASSED"; \
|
||||
else \
|
||||
echo "FAILED"; \
|
||||
fi
|
||||
|
||||
.include <bsd.prog.mk>
|
|
@ -0,0 +1,56 @@
|
|||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/ras.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
#define COUNT 10
|
||||
|
||||
__volatile int handled = 0;
|
||||
__volatile int count = 0;
|
||||
struct itimerval itv;
|
||||
|
||||
void handler(int);
|
||||
|
||||
void
|
||||
handler(int sig)
|
||||
{
|
||||
|
||||
handled++;
|
||||
}
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
int rv;
|
||||
|
||||
signal(SIGVTALRM, handler);
|
||||
|
||||
itv.it_interval.tv_sec = 0;
|
||||
itv.it_interval.tv_usec = 0;
|
||||
itv.it_value.tv_sec = 10;
|
||||
itv.it_value.tv_usec = 0;
|
||||
setitimer(ITIMER_VIRTUAL, &itv, NULL);
|
||||
|
||||
if (rasctl((caddr_t)&&start, (caddr_t)&&end - (caddr_t)&&start,
|
||||
RAS_INSTALL) < 0)
|
||||
return (1);
|
||||
|
||||
if (fork() != 0) {
|
||||
wait(&rv);
|
||||
return (rv);
|
||||
}
|
||||
|
||||
start:
|
||||
count++;
|
||||
if (count > COUNT)
|
||||
goto end;
|
||||
|
||||
while (!handled) {
|
||||
continue;
|
||||
}
|
||||
end:
|
||||
|
||||
return (handled != 0);
|
||||
}
|
|
@ -0,0 +1,14 @@
|
|||
# $NetBSD: Makefile,v 1.1 2002/08/28 07:47:27 gmcgarry Exp $
|
||||
|
||||
PROG= ras3
|
||||
NOMAN= #defined
|
||||
WARNS= 2
|
||||
|
||||
regress:
|
||||
@if ./${PROG} ; then \
|
||||
echo "PASSED"; \
|
||||
else \
|
||||
echo "FAILED"; \
|
||||
fi
|
||||
|
||||
.include <bsd.prog.mk>
|
|
@ -0,0 +1,62 @@
|
|||
#include <stdio.h>
|
||||
#include <signal.h>
|
||||
#include <unistd.h>
|
||||
#include <sys/ras.h>
|
||||
#include <sys/time.h>
|
||||
#include <sys/wait.h>
|
||||
|
||||
#define COUNT 10
|
||||
|
||||
__volatile int handled = 0;
|
||||
__volatile int count = 0;
|
||||
struct itimerval itv;
|
||||
|
||||
void handler(int);
|
||||
|
||||
void
|
||||
handler(int sig)
|
||||
{
|
||||
|
||||
handled++;
|
||||
}
|
||||
|
||||
int
|
||||
main(int argc, char *argv[])
|
||||
{
|
||||
int rv;
|
||||
char *const args[] = { argv[0], "1", NULL };
|
||||
|
||||
signal(SIGVTALRM, handler);
|
||||
|
||||
itv.it_interval.tv_sec = 0;
|
||||
itv.it_interval.tv_usec = 0;
|
||||
itv.it_value.tv_sec = 10;
|
||||
itv.it_value.tv_usec = 0;
|
||||
setitimer(ITIMER_VIRTUAL, &itv, NULL);
|
||||
|
||||
if (argc != 2) {
|
||||
if (rasctl((caddr_t)&&start, (caddr_t)&&end - (caddr_t)&&start,
|
||||
RAS_INSTALL) < 0)
|
||||
return (1);
|
||||
if (fork() != 0) {
|
||||
wait(&rv);
|
||||
return (rv == 0);
|
||||
}
|
||||
if (execvp(argv[0],args) < 0) {
|
||||
printf("exec failed\n");
|
||||
return (0);
|
||||
}
|
||||
}
|
||||
|
||||
start:
|
||||
count++;
|
||||
if (count > COUNT)
|
||||
goto end;
|
||||
|
||||
while (!handled) {
|
||||
continue;
|
||||
}
|
||||
end:
|
||||
|
||||
return (handled != 0);
|
||||
}
|
Loading…
Reference in New Issue