Files
compute-runtime/opencl/test/unit_test/program/program_with_zebin.cpp
Kacper Nowak 1a33fc0dc7 Zebin: return error on parsing empty vector entries in zeInfo
This commit prevents a yaml parsing error in case a data type is passed
after empty vetor type data entry with the same indendation. In this
case, a parsing error will be returned.
- Corrected .ze_info section in valid empty program (zebin mock)
- Minor ults refactor in order to use mock zebin program with valid
.ze_info

Related-To: NEO-6735
Signed-off-by: Kacper Nowak <kacper.nowak@intel.com>
2022-04-19 13:12:47 +02:00

52 lines
2.0 KiB
C++

/*
* Copyright (C) 2022 Intel Corporation
*
* SPDX-License-Identifier: MIT
*
*/
#include "opencl/test/unit_test/program/program_with_zebin.h"
#include "shared/test/unit_test/device_binary_format/zebin_tests.h"
#include "opencl/test/unit_test/mocks/mock_buffer.h"
using namespace NEO;
void ProgramWithZebinFixture::SetUp() {
ProgramTests::SetUp();
program = std::make_unique<MockProgram>(toClDeviceVector(*pClDevice));
}
void ProgramWithZebinFixture::TearDown() {
program->setGlobalSurface(nullptr);
program->setConstantSurface(nullptr);
program->getKernelInfoArray(rootDeviceIndex).clear();
ProgramTests::TearDown();
}
void ProgramWithZebinFixture::addEmptyZebin(NEO::MockProgram *program) {
auto zebin = ZebinTestData::ValidEmptyProgram();
program->buildInfos[rootDeviceIndex].unpackedDeviceBinarySize = zebin.storage.size();
program->buildInfos[rootDeviceIndex].unpackedDeviceBinary.reset(new char[zebin.storage.size()]);
memcpy_s(program->buildInfos[rootDeviceIndex].unpackedDeviceBinary.get(), program->buildInfos[rootDeviceIndex].unpackedDeviceBinarySize,
zebin.storage.data(), zebin.storage.size());
}
void ProgramWithZebinFixture::populateProgramWithSegments(NEO::MockProgram *program) {
kernelInfo = std::make_unique<KernelInfo>();
kernelInfo->kernelDescriptor.kernelMetadata.kernelName = ZebinTestData::ValidEmptyProgram::kernelName;
mockAlloc = std::make_unique<MockGraphicsAllocation>();
kernelInfo->kernelAllocation = mockAlloc.get();
program->addKernelInfo(kernelInfo.get(), rootDeviceIndex);
globalSurface = std::make_unique<MockBuffer>();
constantSurface = std::make_unique<MockBuffer>();
program->setGlobalSurface(&globalSurface->mockGfxAllocation);
program->setConstantSurface(&constantSurface->mockGfxAllocation);
program->buildInfos[rootDeviceIndex].constStringSectionData.initData = &strings;
program->buildInfos[rootDeviceIndex].constStringSectionData.size = sizeof(strings);
}