shm tests - disabled clone test

git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@637 c046a42c-6fe2-441c-8c8c-71466251a162
master
bellard 2004-02-22 14:54:18 +00:00
parent b88e4a9a3b
commit e374bfa35b
1 changed files with 29 additions and 2 deletions

View File

@ -38,6 +38,7 @@
#include <sched.h> #include <sched.h>
#include <dirent.h> #include <dirent.h>
#include <setjmp.h> #include <setjmp.h>
#include <sys/shm.h>
#define TESTPATH "/tmp/linux-test.tmp" #define TESTPATH "/tmp/linux-test.tmp"
#define TESTPORT 7654 #define TESTPORT 7654
@ -314,12 +315,19 @@ const char socket_msg[] = "hello socket\n";
void test_socket(void) void test_socket(void)
{ {
int server_fd, client_fd, fd, pid, ret; int server_fd, client_fd, fd, pid, ret, val;
struct sockaddr_in sockaddr; struct sockaddr_in sockaddr;
socklen_t len; socklen_t len;
char buf[512]; char buf[512];
server_fd = server_socket(); server_fd = server_socket();
/* test a few socket options */
len = sizeof(val);
chk_error(getsockopt(server_fd, SOL_SOCKET, SO_TYPE, &val, &len));
if (val != SOCK_STREAM)
error("getsockopt");
pid = chk_error(fork()); pid = chk_error(fork());
if (pid == 0) { if (pid == 0) {
client_fd = client_socket(); client_fd = client_socket();
@ -497,13 +505,32 @@ void test_signal(void)
chk_error(sigaction(SIGSEGV, &act, NULL)); chk_error(sigaction(SIGSEGV, &act, NULL));
} }
#define SHM_SIZE 32768
void test_shm(void)
{
void *ptr;
int shmid;
shmid = chk_error(shmget(IPC_PRIVATE, SHM_SIZE, IPC_CREAT | 0777));
ptr = shmat(shmid, NULL, 0);
if (!ptr)
error("shmat");
memset(ptr, 0, SHM_SIZE);
chk_error(shmctl(shmid, IPC_RMID, 0));
chk_error(shmdt(ptr));
}
int main(int argc, char **argv) int main(int argc, char **argv)
{ {
test_file(); test_file();
test_fork(); test_fork();
test_time(); test_time();
test_socket(); test_socket();
test_clone(); // test_clone();
test_signal(); test_signal();
test_shm();
return 0; return 0;
} }