From 8139d13ab9efaddcb658a98c59dbbb2abb3ec10a Mon Sep 17 00:00:00 2001 From: thorpej Date: Thu, 30 Jan 2003 19:47:00 +0000 Subject: [PATCH] Add a ucontext test from Nathan's testsuite. --- regress/sys/kern/Makefile | 4 ++-- regress/sys/kern/ucontext/Makefile | 13 +++++++++++ regress/sys/kern/ucontext/context.c | 36 +++++++++++++++++++++++++++++ 3 files changed, 51 insertions(+), 2 deletions(-) create mode 100644 regress/sys/kern/ucontext/Makefile create mode 100644 regress/sys/kern/ucontext/context.c diff --git a/regress/sys/kern/Makefile b/regress/sys/kern/Makefile index 5fc1942150c9..c7fbcc36701e 100644 --- a/regress/sys/kern/Makefile +++ b/regress/sys/kern/Makefile @@ -1,6 +1,6 @@ -# $NetBSD: Makefile,v 1.20 2002/11/30 09:31:31 jdolecek Exp $ +# $NetBSD: Makefile,v 1.21 2003/01/30 19:47:00 thorpej Exp $ SUBDIR+= execve extent getcwd ipf kqueue lock lockf pipe poll ras \ - sigtramp sysvmsg sysvsem sysvshm unfdpass writev + sigtramp sysvmsg sysvsem sysvshm ucontext unfdpass writev .include diff --git a/regress/sys/kern/ucontext/Makefile b/regress/sys/kern/ucontext/Makefile new file mode 100644 index 000000000000..352d8559ecb8 --- /dev/null +++ b/regress/sys/kern/ucontext/Makefile @@ -0,0 +1,13 @@ +# $NetBSD: Makefile,v 1.1 2003/01/30 19:47:00 thorpej Exp $ + +WARNS=1 + +PROG= context +SRCS= context.c + +NOMAN= + +regress: + ./context + +.include diff --git a/regress/sys/kern/ucontext/context.c b/regress/sys/kern/ucontext/context.c new file mode 100644 index 000000000000..3e9cfbcffed3 --- /dev/null +++ b/regress/sys/kern/ucontext/context.c @@ -0,0 +1,36 @@ +/* $NetBSD: context.c,v 1.1 2003/01/30 19:47:00 thorpej Exp $ */ + +#include +#include +#include + +int +main(int argc, char *argv[]) +{ + ucontext_t u, v, w; + volatile int x, y; + + x = 0; + y = 0; + + printf("Start\n"); + + getcontext(&u); + y++; + + printf(" X is %d\n", x); + + getcontext(&v); + + if ( x < 20 ) { + x++; + getcontext(&w); + printf("Adding one and going around.\n"); + setcontext(&u); + } + + printf("End, y = %d\n", y); + assert(y == 21); + + return 0; +}