Skip to content

Commit 41c3ee2

Browse files
authored
[linux] Enable linker test for linux (#5519)
This is for get better source coverage result.
1 parent a5a8d51 commit 41c3ee2

File tree

2 files changed

+47
-39
lines changed

2 files changed

+47
-39
lines changed

tools/clang/unittests/HLSL/CMakeLists.txt

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -52,11 +52,9 @@ add_clang_library(ClangHLSLTests SHARED
5252
add_dependencies(ClangUnitTests ClangHLSLTests)
5353
else (WIN32)
5454
set(HLSL_IGNORE_SOURCES
55-
LinkerTest.cpp
5655
MSFileSysTest.cpp
5756
PixTest.cpp
5857
RewriterTest.cpp
59-
ShaderOpTest.cpp
6058
)
6159

6260
add_clang_unittest(ClangHLSLTests
@@ -69,6 +67,7 @@ add_clang_unittest(ClangHLSLTests
6967
ExtensionTest.cpp
7068
FunctionTest.cpp
7169
HLSLTestOptions.cpp
70+
LinkerTest.cpp
7271
Objects.cpp
7372
OptimizerTest.cpp
7473
OptionsTest.cpp

tools/clang/unittests/HLSL/LinkerTest.cpp

Lines changed: 46 additions & 37 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,9 @@
1818

1919
#include <fstream>
2020

21+
#ifdef _WIN32
2122
#include "WexTestClass.h"
23+
#endif
2224
#include "dxc/Test/HlslTestUtils.h"
2325
#include "dxc/Test/DxcTestUtils.h"
2426
#include "dxc/Support/Global.h" // for IFT macro
@@ -30,49 +32,52 @@ using namespace hlsl;
3032
using namespace llvm;
3133

3234
// The test fixture.
33-
class LinkerTest
34-
{
35+
#ifdef _WIN32
36+
class LinkerTest {
37+
#else
38+
class LinkerTest : public ::testing::Test {
39+
#endif
3540
public:
3641
BEGIN_TEST_CLASS(LinkerTest)
3742
TEST_CLASS_PROPERTY(L"Parallel", L"true")
3843
TEST_METHOD_PROPERTY(L"Priority", L"0")
3944
END_TEST_CLASS()
4045

41-
TEST_CLASS_SETUP(InitSupport);
42-
43-
TEST_METHOD(RunLinkResource);
44-
TEST_METHOD(RunLinkModulesDifferentVersions);
45-
TEST_METHOD(RunLinkResourceWithBinding);
46-
TEST_METHOD(RunLinkAllProfiles);
47-
TEST_METHOD(RunLinkFailNoDefine);
48-
TEST_METHOD(RunLinkFailReDefine);
49-
TEST_METHOD(RunLinkGlobalInit);
50-
TEST_METHOD(RunLinkNoAlloca);
51-
TEST_METHOD(RunLinkMatArrayParam);
52-
TEST_METHOD(RunLinkMatParam);
53-
TEST_METHOD(RunLinkMatParamToLib);
54-
TEST_METHOD(RunLinkResRet);
55-
TEST_METHOD(RunLinkToLib);
56-
TEST_METHOD(RunLinkToLibOdNops);
57-
TEST_METHOD(RunLinkToLibExport);
58-
TEST_METHOD(RunLinkToLibExportShadersOnly);
59-
TEST_METHOD(RunLinkFailReDefineGlobal);
60-
TEST_METHOD(RunLinkFailProfileMismatch);
61-
TEST_METHOD(RunLinkFailEntryNoProps);
62-
TEST_METHOD(RunLinkFailSelectRes);
63-
TEST_METHOD(RunLinkToLibWithUnresolvedFunctions);
64-
TEST_METHOD(RunLinkToLibWithUnresolvedFunctionsExports);
65-
TEST_METHOD(RunLinkToLibWithExportNamesSwapped);
66-
TEST_METHOD(RunLinkToLibWithExportCollision);
67-
TEST_METHOD(RunLinkToLibWithUnusedExport);
68-
TEST_METHOD(RunLinkToLibWithNoExports);
69-
TEST_METHOD(RunLinkWithPotentialIntrinsicNameCollisions);
70-
TEST_METHOD(RunLinkWithValidatorVersion);
71-
TEST_METHOD(RunLinkWithInvalidValidatorVersion);
72-
TEST_METHOD(RunLinkWithTempReg);
73-
TEST_METHOD(RunLinkToLibWithGlobalCtor);
74-
TEST_METHOD(LinkSm63ToSm66);
75-
TEST_METHOD(RunLinkWithRootSig);
46+
TEST_CLASS_SETUP(InitSupport)
47+
48+
TEST_METHOD(RunLinkResource)
49+
TEST_METHOD(RunLinkModulesDifferentVersions)
50+
TEST_METHOD(RunLinkResourceWithBinding)
51+
TEST_METHOD(RunLinkAllProfiles)
52+
TEST_METHOD(RunLinkFailNoDefine)
53+
TEST_METHOD(RunLinkFailReDefine)
54+
TEST_METHOD(RunLinkGlobalInit)
55+
TEST_METHOD(RunLinkNoAlloca)
56+
TEST_METHOD(RunLinkMatArrayParam)
57+
TEST_METHOD(RunLinkMatParam)
58+
TEST_METHOD(RunLinkMatParamToLib)
59+
TEST_METHOD(RunLinkResRet)
60+
TEST_METHOD(RunLinkToLib)
61+
TEST_METHOD(RunLinkToLibOdNops)
62+
TEST_METHOD(RunLinkToLibExport)
63+
TEST_METHOD(RunLinkToLibExportShadersOnly)
64+
TEST_METHOD(RunLinkFailReDefineGlobal)
65+
TEST_METHOD(RunLinkFailProfileMismatch)
66+
TEST_METHOD(RunLinkFailEntryNoProps)
67+
TEST_METHOD(RunLinkFailSelectRes)
68+
TEST_METHOD(RunLinkToLibWithUnresolvedFunctions)
69+
TEST_METHOD(RunLinkToLibWithUnresolvedFunctionsExports)
70+
TEST_METHOD(RunLinkToLibWithExportNamesSwapped)
71+
TEST_METHOD(RunLinkToLibWithExportCollision)
72+
TEST_METHOD(RunLinkToLibWithUnusedExport)
73+
TEST_METHOD(RunLinkToLibWithNoExports)
74+
TEST_METHOD(RunLinkWithPotentialIntrinsicNameCollisions)
75+
TEST_METHOD(RunLinkWithValidatorVersion)
76+
TEST_METHOD(RunLinkWithInvalidValidatorVersion)
77+
TEST_METHOD(RunLinkWithTempReg)
78+
TEST_METHOD(RunLinkToLibWithGlobalCtor)
79+
TEST_METHOD(LinkSm63ToSm66)
80+
TEST_METHOD(RunLinkWithRootSig)
7681

7782

7883
dxc::DxcDllSupport m_dllSupport;
@@ -351,8 +356,12 @@ TEST_F(LinkerTest, RunLinkModulesDifferentVersions) {
351356
// the data after this header could be a subsequent header.
352357
// The test should announce that it can't make any version string
353358
// modifications
359+
#if _WIN32
354360
WEX::Logging::Log::Warning(
355361
L"Cannot modify compiler version string for test");
362+
#else
363+
FAIL() << "Cannot modify compiler version string for test";
364+
#endif
356365
}
357366

358367
// finally, test that a difference is detected if a member of the struct, say

0 commit comments

Comments
 (0)