Browse Source

tests/datawizard/lazy_unregister: test a more complex case

Sylvain Henry 13 years ago
parent
commit
174c2604ff
1 changed files with 15 additions and 6 deletions
  1. 15 6
      tests/datawizard/lazy_unregister.c

+ 15 - 6
tests/datawizard/lazy_unregister.c

@@ -38,7 +38,7 @@ int main(void)
 	int ret;
 	int buffer[1024];
 	starpu_data_handle_t handle;
-	struct starpu_task *t1;
+	struct starpu_task *t1,*t2;
 
 	ret = starpu_init(NULL);
 	if (ret == -ENODEV)
@@ -48,22 +48,31 @@ int main(void)
 	starpu_variable_data_register(&handle, 0, (uintptr_t)buffer, 1024*sizeof(int));
 
 	t1 = starpu_task_create();
-	t1->cl = &dummy_cl;
-	t1->detach = 0;
-	t1->handles[0] = handle;
 
-	ret = starpu_task_submit(t1);
+	t2 = starpu_task_create();
+	t2->cl = &dummy_cl;
+	t2->detach = 0;
+	t2->handles[0] = handle;
+
+	starpu_task_declare_deps_array(t2, 1, &t1);
+
+	ret = starpu_task_submit(t2);
 	if (ret == -ENODEV)
 		return STARPU_TEST_SKIPPED;
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
 
 	starpu_data_unregister_lazy(handle);
 
-	ret = starpu_task_wait(t1);
+	ret = starpu_task_submit(t1);
 	if (ret == -ENODEV)
 		return STARPU_TEST_SKIPPED;
 	STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_submit");
 
+	ret = starpu_task_wait(t2);
+	if (ret == -ENODEV)
+		return STARPU_TEST_SKIPPED;
+	STARPU_CHECK_RETURN_VALUE(ret, "starpu_task_wait");
+
 	while (starpu_data_lookup(buffer) != NULL)
 		usleep(100000);