Adding an initial ddekit test.
Change-Id: I0522449bb7bbbb23efc132ede3a02da95efe0326
This commit is contained in:
parent
0673998dad
commit
eaa642e09d
7 changed files with 123 additions and 1 deletions
|
@ -5791,6 +5791,10 @@
|
|||
./usr/tests/minix-posix/blocktest/support.sh minix-sys
|
||||
./usr/tests/minix-posix/blocktest/system.conf minix-sys
|
||||
./usr/tests/minix-posix/blocktest/test.sh minix-sys
|
||||
./usr/tests/minix-posix/ddekit minix-sys
|
||||
./usr/tests/minix-posix/ddekit/ddekittest minix-sys
|
||||
./usr/tests/minix-posix/ddekit/ddekittest_driver minix-sys
|
||||
./usr/tests/minix-posix/ddekit/system.conf minix-sys
|
||||
./usr/tests/minix-posix/mod minix-sys pic
|
||||
./usr/tests/minix-posix/run minix-sys
|
||||
./usr/tests/minix-posix/t10a minix-sys
|
||||
|
|
|
@ -175,6 +175,7 @@
|
|||
/set type=dir uid=2 gid=0 mode=755
|
||||
./usr/tests/minix-posix
|
||||
./usr/tests/minix-posix/blocktest
|
||||
./usr/tests/minix-posix/ddekit
|
||||
|
||||
# this one is for term(1)
|
||||
/set type=dir uid=0 gid=5 mode=775
|
||||
|
|
|
@ -16,7 +16,8 @@ LDADD+= -lm -lcompat_minix
|
|||
|
||||
.include <bsd.own.mk>
|
||||
|
||||
SUBDIR= blocktest
|
||||
SUBDIR+= blocktest
|
||||
SUBDIR+= ddekit
|
||||
|
||||
# Some have special flags compiling
|
||||
.if ${MACHINE_ARCH} == "i386"
|
||||
|
|
17
test/ddekit/Makefile
Normal file
17
test/ddekit/Makefile
Normal file
|
@ -0,0 +1,17 @@
|
|||
# Makefile for the DDE kit Test driver (ddekitest)
|
||||
PROG= ddekittest_driver
|
||||
SRCS= ddekittest_driver.c
|
||||
FILES= system.conf
|
||||
SCRIPTS= ddekittest.sh
|
||||
#uncomment the following for proper debugging
|
||||
#CFLAGS+=-g
|
||||
#LDFLAGS+= -Ttext=0x4000000
|
||||
LDADD+= -lsys -lddekit -lminlib
|
||||
DPADD+= ${LIBSYS} ${LIBDDEKIT} ${LIBMINLIB}
|
||||
|
||||
MAN=
|
||||
|
||||
BINDIR?= /usr/tests/minix-posix/ddekit
|
||||
FILESDIR?= /usr/tests/minix-posix/ddekit
|
||||
|
||||
.include <minix.service.mk>
|
19
test/ddekit/ddekittest.sh
Executable file
19
test/ddekit/ddekittest.sh
Executable file
|
@ -0,0 +1,19 @@
|
|||
#!/bin/sh
|
||||
|
||||
# Supporting routines for ddekit Do not run directly.
|
||||
|
||||
# usage: run_ddekittest
|
||||
# runs the ddekit driver on the given device with the given parameters
|
||||
run_ddekittest () {
|
||||
if [ ! -x ddekittest_driver ]; then echo "compile ddekittest first!" >&2; exit 1; fi
|
||||
service up `pwd`/ddekittest_driver -config system.conf \
|
||||
-script /etc/rs.single -label ddekittest
|
||||
}
|
||||
|
||||
|
||||
#
|
||||
# We do not have much here just calling the source run_ddekittest here
|
||||
#
|
||||
run_ddekittest
|
||||
sleep 10
|
||||
service down ddekittest
|
75
test/ddekit/ddekittest_driver.c
Normal file
75
test/ddekit/ddekittest_driver.c
Normal file
|
@ -0,0 +1,75 @@
|
|||
#include <ddekit/ddekit.h>
|
||||
#include <ddekit/printf.h>
|
||||
#include <ddekit/thread.h>
|
||||
#include <ddekit/initcall.h>
|
||||
|
||||
#include <stdio.h>
|
||||
|
||||
void
|
||||
long_running_thread()
|
||||
{
|
||||
int x=10;
|
||||
do {
|
||||
ddekit_printf("Long Running\n");
|
||||
ddekit_thread_msleep(2000);
|
||||
x--;
|
||||
} while(x >0);
|
||||
}
|
||||
|
||||
void
|
||||
short_running_thread()
|
||||
{
|
||||
int x=15;
|
||||
do {
|
||||
ddekit_printf("Short Running\n");
|
||||
ddekit_thread_msleep(500);
|
||||
x--;
|
||||
} while(x >0);
|
||||
}
|
||||
|
||||
void ddekit_minix_wait_exit(void); /* import from dde-minix */
|
||||
|
||||
#if 0
|
||||
#include <ucontext.h>
|
||||
ucontext_t ctx;
|
||||
#endif
|
||||
|
||||
int
|
||||
main(void)
|
||||
{
|
||||
|
||||
#if 0
|
||||
getcontext(&ctx);
|
||||
if (ctx.uc_mcontext.mc_magic != 0xc0ffee) {
|
||||
printf("FLAG_NONE\n");
|
||||
}
|
||||
|
||||
memset(&ctx,0,sizeof(ucontext_t));
|
||||
ctx.uc_flags = _UC_IGNSIGM | _UC_IGNFPU;
|
||||
getcontext(&ctx);
|
||||
if (ctx.uc_mcontext.mc_magic != 0xc0ffee) {
|
||||
printf("_UC_IGNSIGM | _UC_IGNFPU FAIL\n");
|
||||
}
|
||||
|
||||
memset(&ctx,0,sizeof(ucontext_t));
|
||||
ctx.uc_flags = _UC_IGNSIGM ;
|
||||
getcontext(&ctx);
|
||||
if (ctx.uc_mcontext.mc_magic != 0xc0ffee) {
|
||||
printf("_UC_IGNSIGM FAIL\n");
|
||||
}
|
||||
|
||||
memset(&ctx,0,sizeof(ucontext_t));
|
||||
ctx.uc_flags = _UC_IGNFPU ;
|
||||
getcontext(&ctx);
|
||||
if (ctx.uc_mcontext.mc_magic != 0xc0ffee) {
|
||||
printf("_UC_IGNFPU FAIL\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
ddekit_init();
|
||||
ddekit_thread_create(long_running_thread, NULL, "Long_thread");
|
||||
ddekit_thread_create(short_running_thread, NULL, "Short_thread");
|
||||
ddekit_minix_wait_exit();
|
||||
|
||||
return 0;
|
||||
}
|
5
test/ddekit/system.conf
Normal file
5
test/ddekit/system.conf
Normal file
|
@ -0,0 +1,5 @@
|
|||
service ddekittest_driver {
|
||||
uid 0;
|
||||
system ALL;
|
||||
ipc ALL;
|
||||
};
|
Loading…
Reference in a new issue