[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-changelog] Fix up testsuite from recent changes.



# HG changeset patch
# User cl349@xxxxxxxxxxxxxxxxxxxx
# Node ID f1bb1316b26ffc7ad01391719b72fce9d496b38e
# Parent  1cb7adaa33555ac81d79c3f3cc868bc981557220
Fix up testsuite from recent changes.

(1) Make TESTDIR relative (my directory exceeded 108 chars, breaking sockets)
(2) Make TESTDIR if it doesn't exist
(3) Add dummy xc_domain_getinfo and xc_evtchn_bind_virq for fake libxc
(4) Fix tests broken by b594bb976a743d509f1ffabb5bc698874ab90d8f
(5) domain_cleanup() can be static, as it's not used elsewhere.
(6) With -Werror, "use" unused variable in domain_init() if TESTING
(7) Remove debugging printf on watch without perms.
(8) Loosen timeout in xs_test (valgrind + slow machine == bogus timeouts)

Signed-off-by: Rusty Russell <rusty@xxxxxxxxxxxxxxx> (authored)
Signed-off-by: Christian Limpach <Christian.Limpach@xxxxxxxxxxxx>

diff -r 1cb7adaa3355 -r f1bb1316b26f tools/xenstore/Makefile
--- a/tools/xenstore/Makefile   Tue Sep 13 08:35:41 2005
+++ b/tools/xenstore/Makefile   Tue Sep 13 09:09:13 2005
@@ -20,7 +20,7 @@
 
 CFLAGS  += $(BASECFLAGS)
 LDFLAGS += $(PROFILE) -L$(XEN_LIBXC)
-TESTDIR  = `pwd`/testsuite/tmp
+TESTDIR  = testsuite/tmp
 TESTFLAGS= -DTESTING
 TESTENV  = XENSTORED_ROOTDIR=$(TESTDIR) XENSTORED_RUNDIR=$(TESTDIR)
 
@@ -80,10 +80,13 @@
 
 fullcheck: testsuite-run randomcheck stresstest
 
-testsuite-run: xenstored_test xs_test
+$(TESTDIR):
+       mkdir $@
+
+testsuite-run: xenstored_test xs_test $(TESTDIR)
        $(TESTENV) testsuite/test.sh && echo
 
-testsuite-fast: xenstored_test xs_test
+testsuite-fast: xenstored_test xs_test $(TESTDIR)
        @$(TESTENV) testsuite/test.sh --fast
 
 testsuite-clean:
@@ -92,21 +95,21 @@
 # Make this visible so they can see repeat tests without --fast if they
 # fail.
 RANDSEED=$(shell date +%s)
-randomcheck: xs_random xenstored_test
+randomcheck: xs_random xenstored_test $(TESTDIR)
        $(TESTENV) ./xs_random --simple --fast /tmp/xs_random 200000 
$(RANDSEED) && echo
        $(TESTENV) ./xs_random --fast /tmp/xs_random 100000 $(RANDSEED) && echo
        $(TESTENV) ./xs_random --fail /tmp/xs_random 10000 $(RANDSEED)
 
-crashme:  xs_crashme xenstored_test
+crashme:  xs_crashme xenstored_test $(TESTDIR)
        rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* 
/tmp/trace
        export $(TESTENV); ./xs_crashme 5000 $(RANDSEED) 2>/dev/null
        if [ -n "`cat /tmp/xs_crashme.vglog*`" ]; then echo Valgrind 
complained; cat /tmp/xs_crashme.vglog*; exit 1; fi
        rm -rf $(TESTDIR)/store $(TESTDIR)/transactions /tmp/xs_crashme.vglog* 
/tmp/trace
 
-randomcheck-fast: xs_random xenstored_test
+randomcheck-fast: xs_random xenstored_test $(TESTDIR)
        @$(TESTENV) ./xs_random --fast /tmp/xs_random 2000 $(RANDSEED)
 
-stresstest: xs_stress xenstored_test
+stresstest: xs_stress xenstored_test $(TESTDIR)
        rm -rf $(TESTDIR)/store $(TESTDIR)/transactions
        export $(TESTENV); PID=`./xenstored_test --output-pid 
--trace-file=/tmp/trace`; ./xs_stress 5000; ret=$$?; kill $$PID; exit $$ret
 
diff -r 1cb7adaa3355 -r f1bb1316b26f tools/xenstore/fake_libxc.c
--- a/tools/xenstore/fake_libxc.c       Tue Sep 13 08:35:41 2005
+++ b/tools/xenstore/fake_libxc.c       Tue Sep 13 09:09:13 2005
@@ -83,6 +83,39 @@
        return 0;
 }
 
+int xc_domain_getinfo(int xc_handle __attribute__((unused)),
+                     u32 first_domid, unsigned int max_doms,
+                      xc_dominfo_t *info)
+{
+       assert(max_doms == 1);
+        info->domid = first_domid;
+
+        info->dying    = 0;
+        info->shutdown = 0;
+        info->paused   = 0;
+        info->blocked  = 0;
+        info->running  = 1;
+
+        info->shutdown_reason = 0;
+
+        if ( info->shutdown && (info->shutdown_reason == SHUTDOWN_crash) )
+        {
+            info->shutdown = 0;
+            info->crashed  = 1;
+        }
+
+       return 1;
+}
+
+int xc_evtchn_bind_virq(int xc_handle __attribute__((unused)),
+                       int virq __attribute__((unused)),
+                       int *port)
+{
+       if (port)
+               *port = 0;
+       return 0;
+}
+
 static void send_to_fd(int signo __attribute__((unused)))
 {
        int saved_errno = errno;
diff -r 1cb7adaa3355 -r f1bb1316b26f tools/xenstore/testsuite/07watch.test
--- a/tools/xenstore/testsuite/07watch.test     Tue Sep 13 08:35:41 2005
+++ b/tools/xenstore/testsuite/07watch.test     Tue Sep 13 09:09:13 2005
@@ -34,12 +34,13 @@
 1 close
 2 close
 
-# We don't get a watch from our own commands.
-watch /dir token
-mkdir /dir/newdir
-expect waitwatch failed: Connection timed out
-waitwatch
-close
+# Changed in b594bb976a743d509f1ffabb5bc698874ab90d8f
+## We don't get a watch from our own commands.
+#watch /dir token
+#mkdir /dir/newdir
+#expect waitwatch failed: Connection timed out
+#waitwatch
+#close
 
 # ignore watches while doing commands, should work.
 watch /dir token
diff -r 1cb7adaa3355 -r f1bb1316b26f 
tools/xenstore/testsuite/14complexperms.test
--- a/tools/xenstore/testsuite/14complexperms.test      Tue Sep 13 08:35:41 2005
+++ b/tools/xenstore/testsuite/14complexperms.test      Tue Sep 13 09:09:13 2005
@@ -30,10 +30,8 @@
 expect *Permission denied
 setperm /dir/file 0 NONE 
 watch /dir/file token 
-setid 0
-write /dir/file create contents
-rm /dir/file
-setid 1
+1 write /dir/file create contents
+1 rm /dir/file
 expect waitwatch failed: Connection timed out
 waitwatch
 unwatch /dir/file token 
@@ -78,10 +76,8 @@
 expect *Permission denied
 setperm /dir/file 0 NONE 
 watch /dir/file token 
-setid 0
-write /dir/file create contents
-rm /dir/file
-setid 1
+1 write /dir/file create contents
+1 rm /dir/file
 expect waitwatch failed: Connection timed out
 waitwatch
 unwatch /dir/file token 
diff -r 1cb7adaa3355 -r f1bb1316b26f tools/xenstore/xenstored_core.c
--- a/tools/xenstore/xenstored_core.c   Tue Sep 13 08:35:41 2005
+++ b/tools/xenstore/xenstored_core.c   Tue Sep 13 09:09:13 2005
@@ -1640,8 +1640,10 @@
 
        /* Session leader so ^C doesn't whack us. */
        setsid();
+#ifndef TESTING        /* Relative paths for socket names */
        /* Move off any mount points we might be in. */
        chdir("/");
+#endif
        /* Discard our parent's old-fashioned umask prejudices. */
        umask(0);
 }
diff -r 1cb7adaa3355 -r f1bb1316b26f tools/xenstore/xenstored_domain.c
--- a/tools/xenstore/xenstored_domain.c Tue Sep 13 08:35:41 2005
+++ b/tools/xenstore/xenstored_domain.c Tue Sep 13 09:09:13 2005
@@ -216,6 +216,26 @@
                munmap(domain->page, getpagesize());
 
        return 0;
+}
+
+static void domain_cleanup(void)
+{
+       xc_dominfo_t dominfo;
+       struct domain *domain, *tmp;
+       int released = 0;
+
+       list_for_each_entry_safe(domain, tmp, &domains, list) {
+               if (xc_domain_getinfo(*xc_handle, domain->domid, 1,
+                                     &dominfo) == 1 &&
+                   dominfo.domid == domain->domid &&
+                   !dominfo.dying && !dominfo.crashed && !dominfo.shutdown)
+                       continue;
+               talloc_free(domain->conn);
+               released++;
+       }
+
+       if (released)
+               fire_watches(NULL, "@releaseDomain", false);
 }
 
 /* We scan all domains rather than use the information given here. */
@@ -371,26 +391,6 @@
        send_ack(conn, XS_RELEASE);
 }
 
-void domain_cleanup(void)
-{
-       xc_dominfo_t dominfo;
-       struct domain *domain, *tmp;
-       int released = 0;
-
-       list_for_each_entry_safe(domain, tmp, &domains, list) {
-               if (xc_domain_getinfo(*xc_handle, domain->domid, 1,
-                                     &dominfo) == 1 &&
-                   dominfo.domid == domain->domid &&
-                   !dominfo.dying && !dominfo.crashed && !dominfo.shutdown)
-                       continue;
-               talloc_free(domain->conn);
-               released++;
-       }
-
-       if (released)
-               fire_watches(NULL, "@releaseDomain", false);
-}
-
 void do_get_domain_path(struct connection *conn, const char *domid_str)
 {
        struct domain *domain;
@@ -457,6 +457,7 @@
 
 #ifdef TESTING
        eventchn_fd = fake_open_eventchn();
+       (void)&st;
 #else
        /* Make sure any existing device file links to correct device. */
        if ((lstat(EVTCHN_DEV_NAME, &st) != 0) || !S_ISCHR(st.st_mode) ||
diff -r 1cb7adaa3355 -r f1bb1316b26f tools/xenstore/xenstored_domain.h
--- a/tools/xenstore/xenstored_domain.h Tue Sep 13 08:35:41 2005
+++ b/tools/xenstore/xenstored_domain.h Tue Sep 13 09:09:13 2005
@@ -28,10 +28,6 @@
 /* domid */
 void do_release(struct connection *conn, const char *domid_str);
 
-/* Enumerate domains and release connections for non-existant or dying
- * domains. */
-void domain_cleanup(void);
-
 /* domid */
 void do_get_domain_path(struct connection *conn, const char *domid_str);
 
diff -r 1cb7adaa3355 -r f1bb1316b26f tools/xenstore/xenstored_watch.c
--- a/tools/xenstore/xenstored_watch.c  Tue Sep 13 08:35:41 2005
+++ b/tools/xenstore/xenstored_watch.c  Tue Sep 13 09:09:13 2005
@@ -105,7 +105,6 @@
         */
        if (!check_node_perms(conn, node, XS_PERM_READ|XS_PERM_ENOENT_OK) &&
            !check_event_node(node)) {
-               fprintf(stderr, "No permission for %s\n", node);
                return;
        }
 
diff -r 1cb7adaa3355 -r f1bb1316b26f tools/xenstore/xs_test.c
--- a/tools/xenstore/xs_test.c  Tue Sep 13 08:35:41 2005
+++ b/tools/xenstore/xs_test.c  Tue Sep 13 09:09:13 2005
@@ -43,7 +43,7 @@
 
 static struct xs_handle *handles[10] = { NULL };
 
-static unsigned int timeout_ms = 200;
+static unsigned int timeout_ms = 500;
 static bool timeout_suppressed = true;
 static bool readonly = false;
 static bool print_input = false;

_______________________________________________
Xen-changelog mailing list
Xen-changelog@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-changelog


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.