12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- // Copyright (c) 2015-2016 The Khronos Group Inc.
- //
- // Licensed under the Apache License, Version 2.0 (the "License");
- // you may not use this file except in compliance with the License.
- // You may obtain a copy of the License at
- //
- // http://www.apache.org/licenses/LICENSE-2.0
- //
- // Unless required by applicable law or agreed to in writing, software
- // distributed under the License is distributed on an "AS IS" BASIS,
- // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- // See the License for the specific language governing permissions and
- // limitations under the License.
- #include "test/unit_spirv.h"
- namespace spvtools {
- namespace {
- TEST(TextDestroy, DestroyNull) { spvBinaryDestroy(nullptr); }
- TEST(TextDestroy, Default) {
- spv_context context = spvContextCreate(SPV_ENV_UNIVERSAL_1_0);
- char textStr[] = R"(
- OpSource OpenCL_C 12
- OpMemoryModel Physical64 OpenCL
- OpSourceExtension "PlaceholderExtensionName"
- OpEntryPoint Kernel %0 ""
- OpExecutionMode %0 LocalSizeHint 1 1 1
- %1 = OpTypeVoid
- %2 = OpTypeBool
- %3 = OpTypeInt 8 0
- %4 = OpTypeInt 8 1
- %5 = OpTypeInt 16 0
- %6 = OpTypeInt 16 1
- %7 = OpTypeInt 32 0
- %8 = OpTypeInt 32 1
- %9 = OpTypeInt 64 0
- %10 = OpTypeInt 64 1
- %11 = OpTypeFloat 16
- %12 = OpTypeFloat 32
- %13 = OpTypeFloat 64
- %14 = OpTypeVector %3 2
- )";
- spv_binary binary = nullptr;
- spv_diagnostic diagnostic = nullptr;
- EXPECT_EQ(SPV_SUCCESS, spvTextToBinary(context, textStr, strlen(textStr),
- &binary, &diagnostic));
- EXPECT_NE(nullptr, binary);
- EXPECT_NE(nullptr, binary->code);
- EXPECT_NE(0u, binary->wordCount);
- if (diagnostic) {
- spvDiagnosticPrint(diagnostic);
- ASSERT_TRUE(false);
- }
- spv_text resultText = nullptr;
- EXPECT_EQ(SPV_SUCCESS,
- spvBinaryToText(context, binary->code, binary->wordCount, 0,
- &resultText, &diagnostic));
- spvBinaryDestroy(binary);
- if (diagnostic) {
- spvDiagnosticPrint(diagnostic);
- spvDiagnosticDestroy(diagnostic);
- ASSERT_TRUE(false);
- }
- EXPECT_NE(nullptr, resultText->str);
- EXPECT_NE(0u, resultText->length);
- spvTextDestroy(resultText);
- spvContextDestroy(context);
- }
- } // namespace
- } // namespace spvtools
|