Index: uspace/tester/Makefile
===================================================================
--- uspace/tester/Makefile	(revision 69e9dd2f7155aa5c481a39cd38d3d9bc2e03423b)
+++ uspace/tester/Makefile	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -45,6 +45,12 @@
 	thread/thread1.c \
 	print/print1.c \
+	fault/fault1.c \
+	fault/fault2.c \
 	ipc/register.c \
-	ipc/connect.c
+	ipc/connect.c \
+	ipc/send_async.c \
+	ipc/send_sync.c \
+	ipc/answer.c \
+	ipc/hangup.c
 
 OBJECTS := $(addsuffix .o,$(basename $(SOURCES)))
Index: uspace/tester/fault/fault1.c
===================================================================
--- uspace/tester/fault/fault1.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/fault/fault1.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,37 @@
+/*
+ * Copyright (c) 2005 Jakub Vana
+ * Copyright (c) 2005 Jakub Jermar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "../tester.h"
+
+char * test_fault1(bool quiet)
+{
+	((int *)(0))[1] = 0;
+	
+	return "Written to NULL";
+}
Index: uspace/tester/fault/fault1.def
===================================================================
--- uspace/tester/fault/fault1.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/fault/fault1.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,6 @@
+{
+	"fault1",
+	"Write to NULL",
+	&test_fault1,
+	false
+},
Index: uspace/tester/fault/fault2.c
===================================================================
--- uspace/tester/fault/fault2.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/fault/fault2.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,40 @@
+/*
+ * Copyright (c) 2005 Jakub Vana
+ * Copyright (c) 2005 Jakub Jermar
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include "../tester.h"
+
+char * test_fault2(bool quiet)
+{
+	volatile long long var;
+	volatile int var1;
+	
+	var1 = *((int *) (((char *) (&var)) + 1));
+	
+	return "Done unaligned read";
+}
Index: uspace/tester/fault/fault2.def
===================================================================
--- uspace/tester/fault/fault2.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/fault/fault2.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,6 @@
+{
+	"fault2",
+	"Unaligned read",
+	&test_fault2,
+	false
+},
Index: uspace/tester/ipc/answer.c
===================================================================
--- uspace/tester/ipc/answer.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/ipc/answer.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,76 @@
+/*
+ * Copyright (c) 2006 Ondrej Palkovsky
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <errno.h>
+#include "../tester.h"
+
+char * test_answer(bool quiet)
+{
+	int i,cnt, errn = 0;
+	char c;
+
+	cnt = 0;
+	for (i = 0;i < 50; i++) {
+		if (callids[i]) {
+			printf("%d: %P\n", cnt, callids[i]);
+			cnt++;
+		}
+		if (cnt >= 10)
+			break;
+	}
+	if (!cnt)
+		return;
+	printf("Choose message:\n");
+	do {
+		c = getchar();
+	} while (c < '0' || (c-'0') >= cnt);
+	cnt = c - '0' + 1;
+	
+	for (i = 0; cnt; i++)
+		if (callids[i])
+			cnt--;
+	i -= 1;
+
+	printf("Normal (n) or hangup (h) or error(e) message?\n");
+	do {
+		c = getchar();
+	} while (c != 'n' && c != 'h' && c != 'e');
+	if (c == 'n')
+		errn = 0;
+	else if (c == 'h')
+		errn = EHANGUP;
+	else if (c == 'e')
+		errn = ENOENT;
+	printf("Answering %P\n", callids[i]);
+	ipc_answer_fast(callids[i], errn, 0, 0);
+	callids[i] = 0;
+	
+	return NULL;
+}
Index: uspace/tester/ipc/answer.def
===================================================================
--- uspace/tester/ipc/answer.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/ipc/answer.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,6 @@
+{
+	"answer",
+	"IPC answer message test",
+	&test_answer,
+	true
+},
Index: uspace/tester/ipc/hangup.c
===================================================================
--- uspace/tester/ipc/hangup.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/ipc/hangup.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2006 Ondrej Palkovsky
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include <errno.h>
+#include "../tester.h"
+
+char * test_hangup(bool quiet)
+{
+	char c;
+	int res;
+	int phoneid;
+
+	printf("Select phoneid to hangup: 2-9\n");
+	do {
+		c = getchar();
+	} while (c < '2' || c > '9');
+	phoneid = c - '0';
+	
+	printf("Hanging up...");
+	res = ipc_hangup(phoneid);
+	printf("done: %d\n", phoneid);	
+	
+	return NULL;
+}
Index: uspace/tester/ipc/hangup.def
===================================================================
--- uspace/tester/ipc/hangup.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/ipc/hangup.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,6 @@
+{
+	"hangup",
+	"IPC hangup test",
+	&test_hangup,
+	true
+},
Index: uspace/tester/ipc/send_async.c
===================================================================
--- uspace/tester/ipc/send_async.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/ipc/send_async.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,56 @@
+/*
+ * Copyright (c) 2006 Ondrej Palkovsky
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include "../tester.h"
+
+static void callback(void *_private, int retval, ipc_call_t *data)
+{
+	printf("Received response to msg %d - retval: %d.\n", _private, retval);
+}
+
+char * test_send_async(bool quiet)
+{
+	int phoneid;
+	int res;
+	static int msgid = 1;
+	char c;
+
+	printf("Select phoneid to send msg: 2-9\n");
+	do {
+		c = getchar();
+	} while (c < '2' || c > '9');
+	phoneid = c - '0';
+
+	ipc_call_async(phoneid, 2000, 0, (void *) msgid, callback, 1);
+	printf("Async sent - msg %d\n", msgid);
+	msgid++;
+	
+	return NULL;
+}
Index: uspace/tester/ipc/send_async.def
===================================================================
--- uspace/tester/ipc/send_async.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/ipc/send_async.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,6 @@
+{
+	"send_async",
+	"IPC send async message test",
+	&test_send_async,
+	true
+},
Index: uspace/tester/ipc/send_sync.c
===================================================================
--- uspace/tester/ipc/send_sync.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/ipc/send_sync.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,51 @@
+/*
+ * Copyright (c) 2006 Ondrej Palkovsky
+ * All rights reserved.
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ *
+ * - Redistributions of source code must retain the above copyright
+ *   notice, this list of conditions and the following disclaimer.
+ * - Redistributions in binary form must reproduce the above copyright
+ *   notice, this list of conditions and the following disclaimer in the
+ *   documentation and/or other materials provided with the distribution.
+ * - The name of the author may not be used to endorse or promote products
+ *   derived from this software without specific prior written permission.
+ *
+ * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
+ * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
+ * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
+ * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
+ * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
+ * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+ * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+ * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+ * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
+ * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#include <stdio.h>
+#include <unistd.h>
+#include "../tester.h"
+
+char * test_send_sync(bool quiet)
+{
+	int phoneid;
+	int res;
+	static int msgid = 1;
+	char c;
+
+	printf("Select phoneid to send msg: 2-9\n");
+	do {
+		c = getchar();
+	} while (c < '2' || c > '9');
+	phoneid = c - '0';
+	
+	printf("Sending msg...");
+	res = ipc_call_sync_2(phoneid, 2000, 0, 0, NULL, NULL);
+	printf("done: %d\n", res);
+	
+	return NULL;
+}
Index: uspace/tester/ipc/send_sync.def
===================================================================
--- uspace/tester/ipc/send_sync.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
+++ uspace/tester/ipc/send_sync.def	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -0,0 +1,6 @@
+{
+	"send_sync",
+	"IPC send sync message test",
+	&test_send_sync,
+	true
+},
Index: uspace/tester/tester.c
===================================================================
--- uspace/tester/tester.c	(revision 69e9dd2f7155aa5c481a39cd38d3d9bc2e03423b)
+++ uspace/tester/tester.c	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -48,6 +48,12 @@
 #include "thread/thread1.def"
 #include "print/print1.def"
+#include "fault/fault1.def"
+#include "fault/fault2.def"
 #include "ipc/register.def"
 #include "ipc/connect.def"
+#include "ipc/send_async.def"
+#include "ipc/send_sync.def"
+#include "ipc/answer.def"
+#include "ipc/hangup.def"
 	{NULL, NULL, NULL}
 };
Index: uspace/tester/tester.h
===================================================================
--- uspace/tester/tester.h	(revision 69e9dd2f7155aa5c481a39cd38d3d9bc2e03423b)
+++ uspace/tester/tester.h	(revision be66dee46e9b575874f130efde7da456c66d105d)
@@ -60,6 +60,12 @@
 extern char * test_thread1(bool quiet);
 extern char * test_print1(bool quiet);
+extern char * test_fault1(bool quiet);
+extern char * test_fault2(bool quiet);
 extern char * test_register(bool quiet);
 extern char * test_connect(bool quiet);
+extern char * test_send_async(bool quiet);
+extern char * test_send_sync(bool quiet);
+extern char * test_answer(bool quiet);
+extern char * test_hangup(bool quiet);
 
 extern test_t tests[];
