Browse Source

mpi/tests: add test for starpu_mpi_datatype_register

Nathalie Furmento 10 years ago
parent
commit
f84f999356
2 changed files with 48 additions and 3 deletions
  1. 9 3
      mpi/tests/Makefile.am
  2. 39 0
      mpi/tests/starpu_redefine.c

+ 9 - 3
mpi/tests/Makefile.am

@@ -125,7 +125,8 @@ starpu_mpi_TESTS =				\
 	policy_register_many			\
 	policy_register_toomany			\
 	policy_unregister			\
-	early_request
+	early_request				\
+	starpu_redefine
 
 noinst_PROGRAMS =				\
 	datatypes				\
@@ -175,11 +176,14 @@ noinst_PROGRAMS =				\
 	policy_register_many			\
 	policy_register_toomany			\
 	policy_unregister			\
-	early_request
+	early_request				\
+	starpu_redefine
+
 
 XFAIL_TESTS=					\
 	policy_register_toomany			\
-	policy_unregister
+	policy_unregister			\
+	starpu_redefine
 
 mpi_isend_LDADD =					\
 	../src/libstarpumpi-@STARPU_EFFECTIVE_VERSION@.la
@@ -277,6 +281,8 @@ policy_unregister_LDADD =			\
 	../src/libstarpumpi-@STARPU_EFFECTIVE_VERSION@.la
 early_request_LDADD =					\
 	../src/libstarpumpi-@STARPU_EFFECTIVE_VERSION@.la
+starpu_redefine_LDADD =					\
+	../src/libstarpumpi-@STARPU_EFFECTIVE_VERSION@.la
 
 ring_SOURCES = ring.c
 ring_sync_SOURCES = ring_sync.c

+ 39 - 0
mpi/tests/starpu_redefine.c

@@ -0,0 +1,39 @@
+/* StarPU --- Runtime system for heterogeneous multicore architectures.
+ *
+ * Copyright (C) 2015  CNRS
+ *
+ * StarPU is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as published by
+ * the Free Software Foundation; either version 2.1 of the License, or (at
+ * your option) any later version.
+ *
+ * StarPU is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+ *
+ * See the GNU Lesser General Public License in COPYING.LGPL for more details.
+ */
+
+#include <starpu_mpi.h>
+
+int main(int argc, char **argv)
+{
+	int ret;
+	starpu_data_handle_t handle;
+
+	MPI_Init(&argc, &argv);
+	ret = starpu_init(NULL);
+	STARPU_CHECK_RETURN_VALUE(ret, "starpu_init");
+	ret = starpu_mpi_init(NULL, NULL, 0);
+	STARPU_CHECK_RETURN_VALUE(ret, "starpu_mpi_init");
+
+	starpu_vector_data_register(&handle, STARPU_MAIN_RAM, (uintptr_t)ret, 1, sizeof(int));
+	starpu_mpi_datatype_register(handle, NULL, NULL);
+	starpu_data_unregister(handle);
+
+	starpu_mpi_shutdown();
+	starpu_shutdown();
+	MPI_Finalize();
+
+	return 0;
+}