@@ -22,6 +22,18 @@ class MockHandler : public sycl::handler {
2222 static_cast <sycl::handler *>(this )->MCGType = Type;
2323 }
2424
25+ template <typename KernelType, typename ArgType, int Dims,
26+ typename KernelName>
27+ void setHostKernel (KernelType Kernel) {
28+ static_cast <sycl::handler *>(this )->MHostKernel .reset (
29+ new sycl::detail::HostKernel<KernelType, ArgType, Dims, KernelName>(
30+ Kernel));
31+ }
32+
33+ template <int Dims> void setNDRangeDesc (sycl::nd_range<Dims> Range) {
34+ static_cast <sycl::handler *>(this )->MNDRDesc .set (std::move (Range));
35+ }
36+
2537 void addStream (const detail::StreamImplPtr &Stream) {
2638 sycl::handler::addStream (Stream);
2739 }
@@ -87,6 +99,13 @@ TEST_F(SchedulerTest, StreamInitDependencyOnHost) {
8799 MockHandler MockCGH (HQueueImpl, true );
88100 MockCGH.setType (detail::CG::KERNEL);
89101
102+ auto EmptyKernel = [](sycl::nd_item<1 >) {};
103+ MockCGH
104+ .setHostKernel <decltype (EmptyKernel), sycl::nd_item<1 >, 1 , class Empty >(
105+ EmptyKernel);
106+ MockCGH.setNDRangeDesc (
107+ sycl::nd_range<1 >{sycl::range<1 >{1 }, sycl::range<1 >{1 }});
108+
90109 // Emulating construction of stream object inside command group
91110 detail::StreamImplPtr StreamImpl =
92111 std::make_shared<detail::stream_impl>(1024 , 200 , MockCGH);
0 commit comments