]> git.proxmox.com Git - ceph.git/blobdiff - ceph/src/boost/libs/compute/test/test_async_wait_guard.cpp
update sources to v12.2.3
[ceph.git] / ceph / src / boost / libs / compute / test / test_async_wait_guard.cpp
index cfdebf66464f80ab88b64ceb4ffdb7c41971bce2..626d25bb2b589c01d8245586a34dc2471884b8ba 100644 (file)
 
 namespace compute = boost::compute;
 
-BOOST_AUTO_TEST_CASE(wait_for_fill)
-{
-    compute::vector<int> vector(8192, context);
-
-    compute::event fill_event =
-        compute::fill_async(vector.begin(), vector.end(), 9, queue).get_event();
-
-    BOOST_CHECK(fill_event.status() != CL_COMPLETE);
+static size_t wait_num = 0;
 
+struct waitable_object
+{
+    void wait()
     {
-        compute::wait_guard<compute::event> fill_guard(fill_event);
+        wait_num++;
     }
+};
 
-    BOOST_CHECK(fill_event.status() == CL_COMPLETE);
+BOOST_AUTO_TEST_CASE(wait_guard_test)
+{
+    waitable_object waitable;
+    
+    BOOST_CHECK(wait_num == 0);
+    {
+        compute::wait_guard<waitable_object> waitable_object_guard(waitable);
+    }
+    BOOST_CHECK(wait_num == 1);
+    {
+        compute::wait_guard<waitable_object> waitable_object_guard1(waitable);
+        compute::wait_guard<waitable_object> waitable_object_guard2(waitable);
+    }
+    BOOST_CHECK(wait_num == 3);    
 }
 
 BOOST_AUTO_TEST_SUITE_END()