mirror of
https://github.com/intel/compute-runtime.git
synced 2025-12-24 21:18:24 +08:00
fix: remove redundant saveOutput method in ocloc
when saving string as output make it null-terminated string Signed-off-by: Mateusz Jablonski <mateusz.jablonski@intel.com>
This commit is contained in:
committed by
Compute-Runtime-Automation
parent
938ea8cf26
commit
82147fcdd6
@@ -4412,7 +4412,7 @@ TEST(OclocArgHelperTest, GivenOutputSuppressMessagesAndSaveItToFile) {
|
|||||||
|
|
||||||
helper.reset(); // Delete helper. Destructor saves data to output
|
helper.reset(); // Delete helper. Destructor saves data to output
|
||||||
EXPECT_EQ(1U, numOutputs);
|
EXPECT_EQ(1U, numOutputs);
|
||||||
EXPECT_EQ(printMsg.length(), lenOutputs[0]);
|
EXPECT_EQ(printMsg.length() + 1, lenOutputs[0]);
|
||||||
EXPECT_STREQ("stdout.log", nameOutputs[0]);
|
EXPECT_STREQ("stdout.log", nameOutputs[0]);
|
||||||
std::string stdoutStr = std::string(reinterpret_cast<const char *>(outputs[0]),
|
std::string stdoutStr = std::string(reinterpret_cast<const char *>(outputs[0]),
|
||||||
static_cast<size_t>(lenOutputs[0]));
|
static_cast<size_t>(lenOutputs[0]));
|
||||||
|
|||||||
@@ -45,7 +45,7 @@ int BinaryDecoder::decode() {
|
|||||||
return processBinary(ptr, size, ptmFile);
|
return processBinary(ptr, size, ptmFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BinaryDecoder::dumpField(const void *&binaryPtr, const PTField &field, std::ostream &ptmFile) {
|
void BinaryDecoder::dumpField(const void *&binaryPtr, const PTField &field, std::stringstream &ptmFile) {
|
||||||
ptmFile << '\t' << static_cast<int>(field.size) << ' ';
|
ptmFile << '\t' << static_cast<int>(field.size) << ' ';
|
||||||
switch (field.size) {
|
switch (field.size) {
|
||||||
case 1: {
|
case 1: {
|
||||||
@@ -336,7 +336,7 @@ Examples:
|
|||||||
argHelper->createStringForArgs(argHelper->productConfigHelper->getDeviceAcronyms()).c_str());
|
argHelper->createStringForArgs(argHelper->productConfigHelper->getDeviceAcronyms()).c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
int BinaryDecoder::processBinary(const void *&ptr, size_t sectionSize, std::ostream &ptmFile) {
|
int BinaryDecoder::processBinary(const void *&ptr, size_t sectionSize, std::stringstream &ptmFile) {
|
||||||
ptmFile << "ProgramBinaryHeader:\n";
|
ptmFile << "ProgramBinaryHeader:\n";
|
||||||
uint32_t numberOfKernels = 0, patchListSize = 0, device = 0;
|
uint32_t numberOfKernels = 0, patchListSize = 0, device = 0;
|
||||||
for (const auto &v : programHeader.fields) {
|
for (const auto &v : programHeader.fields) {
|
||||||
@@ -362,7 +362,9 @@ int BinaryDecoder::processBinary(const void *&ptr, size_t sectionSize, std::ostr
|
|||||||
processKernel(ptr, sectionSize, ptmFile);
|
processKernel(ptr, sectionSize, ptmFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
argHelper->saveOutput(pathToDump + "PTM.txt", ptmFile);
|
auto ptmFileString = ptmFile.str();
|
||||||
|
|
||||||
|
argHelper->saveOutput(pathToDump + "PTM.txt", ptmFileString.c_str(), ptmFileString.length() + 1);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -373,7 +375,7 @@ void BinaryDecoder::validateLoadedKernelData(KernelSizeData kernelLoadedData, si
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void BinaryDecoder::processKernel(const void *&ptr, size_t sectionSize, std::ostream &ptmFile) {
|
void BinaryDecoder::processKernel(const void *&ptr, size_t sectionSize, std::stringstream &ptmFile) {
|
||||||
KernelSizeData kernelPatchListSize{"PatchListSize", 0u},
|
KernelSizeData kernelPatchListSize{"PatchListSize", 0u},
|
||||||
kernelNameSize{"KernelNameSize", 0u},
|
kernelNameSize{"KernelNameSize", 0u},
|
||||||
kernelHeapSize{"KernelHeapSize", 0u},
|
kernelHeapSize{"KernelHeapSize", 0u},
|
||||||
@@ -455,7 +457,7 @@ void BinaryDecoder::processKernel(const void *&ptr, size_t sectionSize, std::ost
|
|||||||
readPatchTokens(ptr, kernelPatchListSize.size, ptmFile);
|
readPatchTokens(ptr, kernelPatchListSize.size, ptmFile);
|
||||||
}
|
}
|
||||||
|
|
||||||
void BinaryDecoder::readPatchTokens(const void *&patchListPtr, uint32_t patchListSize, std::ostream &ptmFile) {
|
void BinaryDecoder::readPatchTokens(const void *&patchListPtr, uint32_t patchListSize, std::stringstream &ptmFile) {
|
||||||
auto endPatchListPtr = ptrOffset(patchListPtr, patchListSize);
|
auto endPatchListPtr = ptrOffset(patchListPtr, patchListSize);
|
||||||
while (patchListPtr != endPatchListPtr) {
|
while (patchListPtr != endPatchListPtr) {
|
||||||
auto patchTokenPtr = patchListPtr;
|
auto patchTokenPtr = patchListPtr;
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2018-2023 Intel Corporation
|
* Copyright (C) 2018-2024 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@@ -62,14 +62,14 @@ class BinaryDecoder {
|
|||||||
PTMap patchTokens;
|
PTMap patchTokens;
|
||||||
std::string binaryFile, pathToPatch, pathToDump;
|
std::string binaryFile, pathToPatch, pathToDump;
|
||||||
|
|
||||||
void dumpField(const void *&binaryPtr, const PTField &field, std::ostream &ptmFile);
|
void dumpField(const void *&binaryPtr, const PTField &field, std::stringstream &ptmFile);
|
||||||
uint8_t getSize(const std::string &typeStr);
|
uint8_t getSize(const std::string &typeStr);
|
||||||
MOCKABLE_VIRTUAL std::pair<const void *, size_t> getDevBinary();
|
MOCKABLE_VIRTUAL std::pair<const void *, size_t> getDevBinary();
|
||||||
std::vector<std::string> loadPatchList();
|
std::vector<std::string> loadPatchList();
|
||||||
MOCKABLE_VIRTUAL void parseTokens();
|
MOCKABLE_VIRTUAL void parseTokens();
|
||||||
int processBinary(const void *&ptr, size_t sectionSize, std::ostream &ptmFile);
|
int processBinary(const void *&ptr, size_t sectionSize, std::stringstream &ptmFile);
|
||||||
void processKernel(const void *&ptr, size_t sectionSize, std::ostream &ptmFile);
|
void processKernel(const void *&ptr, size_t sectionSize, std::stringstream &ptmFile);
|
||||||
void readPatchTokens(const void *&patchListPtr, uint32_t patchListSize, std::ostream &ptmFile);
|
void readPatchTokens(const void *&patchListPtr, uint32_t patchListSize, std::stringstream &ptmFile);
|
||||||
uint32_t readStructFields(const std::vector<std::string> &patchList,
|
uint32_t readStructFields(const std::vector<std::string> &patchList,
|
||||||
const size_t &structPos, std::vector<PTField> &fields);
|
const size_t &structPos, std::vector<PTField> &fields);
|
||||||
void validateLoadedKernelData(KernelSizeData kernelDataSize, size_t sectionSize);
|
void validateLoadedKernelData(KernelSizeData kernelDataSize, size_t sectionSize);
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2019-2023 Intel Corporation
|
* Copyright (C) 2019-2024 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@@ -131,7 +131,8 @@ int MultiCommand::initialize(const std::vector<std::string> &args) {
|
|||||||
runBuilds(args[0]);
|
runBuilds(args[0]);
|
||||||
|
|
||||||
if (outputFileList != "") {
|
if (outputFileList != "") {
|
||||||
argHelper->saveOutput(outputFileList, outputFile);
|
auto outputFileString = outputFile.str();
|
||||||
|
argHelper->saveOutput(outputFileList, outputFileString.c_str(), outputFileString.length() + 1);
|
||||||
}
|
}
|
||||||
return showResults();
|
return showResults();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,5 +1,5 @@
|
|||||||
/*
|
/*
|
||||||
* Copyright (C) 2020-2023 Intel Corporation
|
* Copyright (C) 2020-2024 Intel Corporation
|
||||||
*
|
*
|
||||||
* SPDX-License-Identifier: MIT
|
* SPDX-License-Identifier: MIT
|
||||||
*
|
*
|
||||||
@@ -74,7 +74,8 @@ OclocArgHelper::OclocArgHelper() : OclocArgHelper(0, nullptr, nullptr, nullptr,
|
|||||||
|
|
||||||
OclocArgHelper::~OclocArgHelper() {
|
OclocArgHelper::~OclocArgHelper() {
|
||||||
if (outputEnabled()) {
|
if (outputEnabled()) {
|
||||||
saveOutput(oclocStdoutLogName, messagePrinter.getLog());
|
auto log = messagePrinter.getLog().str();
|
||||||
|
OclocArgHelper::saveOutput(oclocStdoutLogName, log.c_str(), log.length() + 1);
|
||||||
moveOutputs();
|
moveOutputs();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -212,14 +213,3 @@ void OclocArgHelper::saveOutput(const std::string &filename, const void *pData,
|
|||||||
writeDataToFile(filename.c_str(), pData, dataSize);
|
writeDataToFile(filename.c_str(), pData, dataSize);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void OclocArgHelper::saveOutput(const std::string &filename, const std::ostream &stream) {
|
|
||||||
std::stringstream ss;
|
|
||||||
ss << stream.rdbuf();
|
|
||||||
if (outputEnabled()) {
|
|
||||||
addOutput(filename, ss.str().c_str(), ss.str().length());
|
|
||||||
} else {
|
|
||||||
std::ofstream file(filename);
|
|
||||||
file << ss.str();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -103,7 +103,6 @@ class OclocArgHelper {
|
|||||||
}
|
}
|
||||||
|
|
||||||
MOCKABLE_VIRTUAL void saveOutput(const std::string &filename, const void *pData, const size_t &dataSize);
|
MOCKABLE_VIRTUAL void saveOutput(const std::string &filename, const void *pData, const size_t &dataSize);
|
||||||
void saveOutput(const std::string &filename, const std::ostream &stream);
|
|
||||||
|
|
||||||
MessagePrinter &getPrinterRef() { return messagePrinter; }
|
MessagePrinter &getPrinterRef() { return messagePrinter; }
|
||||||
void printf(const char *message) {
|
void printf(const char *message) {
|
||||||
|
|||||||
Reference in New Issue
Block a user