1212#include " test.h"
1313
1414#include " level_zero/core/source/context/context_imp.h"
15+ #include " level_zero/core/source/image/image.h"
1516#include " level_zero/core/test/unit_tests/fixtures/device_fixture.h"
1617#include " level_zero/core/test/unit_tests/fixtures/host_pointer_manager_fixture.h"
1718#include " level_zero/core/test/unit_tests/mocks/mock_driver_handle.h"
@@ -333,5 +334,128 @@ HWTEST_F(ContextMakeMemoryResidentAndMigrationTests,
333334 context->freeMem (ptr);
334335}
335336
337+ TEST_F (ContextTest, whenGettingDriverThenDriverIsRetrievedSuccessfully) {
338+ ze_context_handle_t hContext;
339+ ze_context_desc_t desc;
340+
341+ ze_result_t res = driverHandle->createContext (&desc, &hContext);
342+ EXPECT_EQ (ZE_RESULT_SUCCESS, res);
343+
344+ ContextImp *contextImp = static_cast <ContextImp *>(L0::Context::fromHandle (hContext));
345+ L0::DriverHandle *driverHandleFromContext = contextImp->getDriverHandle ();
346+ EXPECT_EQ (driverHandleFromContext, driverHandle.get ());
347+
348+ res = contextImp->destroy ();
349+ EXPECT_EQ (ZE_RESULT_SUCCESS, res);
350+ }
351+
352+ TEST_F (ContextTest, whenCallingVirtualMemInterfacesThenUnsupportedIsReturned) {
353+ ze_context_handle_t hContext;
354+ ze_context_desc_t desc;
355+
356+ ze_result_t res = driverHandle->createContext (&desc, &hContext);
357+ EXPECT_EQ (ZE_RESULT_SUCCESS, res);
358+
359+ ContextImp *contextImp = static_cast <ContextImp *>(L0::Context::fromHandle (hContext));
360+
361+ void *pStart = 0x0 ;
362+ size_t size = 0u ;
363+ void *ptr = nullptr ;
364+ res = contextImp->reserveVirtualMem (pStart, size, &ptr);
365+ EXPECT_EQ (ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, res);
366+
367+ size_t pagesize = 0u ;
368+ res = contextImp->queryVirtualMemPageSize (device, size, &pagesize);
369+ EXPECT_EQ (ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, res);
370+
371+ res = contextImp->freeVirtualMem (ptr, size);
372+ EXPECT_EQ (ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, res);
373+
374+ res = contextImp->destroy ();
375+ EXPECT_EQ (ZE_RESULT_SUCCESS, res);
376+ }
377+
378+ TEST_F (ContextTest, whenCallingPhysicalMemInterfacesThenUnsupportedIsReturned) {
379+ ze_context_handle_t hContext;
380+ ze_context_desc_t desc;
381+
382+ ze_result_t res = driverHandle->createContext (&desc, &hContext);
383+ EXPECT_EQ (ZE_RESULT_SUCCESS, res);
384+
385+ ContextImp *contextImp = static_cast <ContextImp *>(L0::Context::fromHandle (hContext));
386+
387+ ze_physical_mem_desc_t descMem = {};
388+ ze_physical_mem_handle_t mem = {};
389+ res = contextImp->createPhysicalMem (device, &descMem, &mem);
390+ EXPECT_EQ (ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, res);
391+
392+ res = contextImp->destroyPhysicalMem (mem);
393+ EXPECT_EQ (ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, res);
394+
395+ res = contextImp->destroy ();
396+ EXPECT_EQ (ZE_RESULT_SUCCESS, res);
397+ }
398+
399+ TEST_F (ContextTest, whenCallingMappingVirtualInterfacesThenUnsupportedIsReturned) {
400+ ze_context_handle_t hContext;
401+ ze_context_desc_t desc;
402+
403+ ze_result_t res = driverHandle->createContext (&desc, &hContext);
404+ EXPECT_EQ (ZE_RESULT_SUCCESS, res);
405+
406+ ContextImp *contextImp = static_cast <ContextImp *>(L0::Context::fromHandle (hContext));
407+
408+ ze_physical_mem_desc_t descMem = {};
409+ ze_physical_mem_handle_t mem = {};
410+ res = contextImp->createPhysicalMem (device, &descMem, &mem);
411+ EXPECT_EQ (ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, res);
412+
413+ ze_memory_access_attribute_t access = {};
414+ size_t offset = 0 ;
415+ void *ptr = nullptr ;
416+ size_t size = 0 ;
417+ res = contextImp->mapVirtualMem (ptr, size, mem, offset, access);
418+ EXPECT_EQ (ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, res);
419+
420+ res = contextImp->setVirtualMemAccessAttribute (ptr, size, access);
421+ EXPECT_EQ (ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, res);
422+
423+ ze_memory_access_attribute_t outAccess = {};
424+ size_t outSize = 0 ;
425+ res = contextImp->getVirtualMemAccessAttribute (ptr, size, &outAccess, &outSize);
426+
427+ res = contextImp->unMapVirtualMem (ptr, size);
428+ EXPECT_EQ (ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, res);
429+
430+ res = contextImp->destroyPhysicalMem (mem);
431+ EXPECT_EQ (ZE_RESULT_ERROR_UNSUPPORTED_FEATURE, res);
432+
433+ res = contextImp->destroy ();
434+ EXPECT_EQ (ZE_RESULT_SUCCESS, res);
435+ }
436+
437+ using IsAtMostProductDG1 = IsAtMostProduct<IGFX_DG1>;
438+
439+ HWTEST2_F (ContextTest, WhenCreatingImageThenSuccessIsReturned, IsAtMostProductDG1) {
440+ ze_context_handle_t hContext;
441+ ze_context_desc_t desc;
442+ ze_result_t res = driverHandle->createContext (&desc, &hContext);
443+ EXPECT_EQ (ZE_RESULT_SUCCESS, res);
444+
445+ ContextImp *contextImp = static_cast <ContextImp *>(L0::Context::fromHandle (hContext));
446+
447+ ze_image_handle_t image = {};
448+ ze_image_desc_t imageDesc = {};
449+
450+ res = contextImp->createImage (device, &imageDesc, &image);
451+ EXPECT_EQ (ZE_RESULT_SUCCESS, res);
452+ EXPECT_NE (nullptr , image);
453+
454+ Image::fromHandle (image)->destroy ();
455+
456+ res = contextImp->destroy ();
457+ EXPECT_EQ (ZE_RESULT_SUCCESS, res);
458+ }
459+
336460} // namespace ult
337461} // namespace L0
0 commit comments