Skip to content

Commit 4143cb5

Browse files
committed
fix changes before merging
1 parent 534d15a commit 4143cb5

File tree

1 file changed

+24
-64
lines changed

1 file changed

+24
-64
lines changed

sycl/unittests/program_manager/passing_link_and_compile_options.cpp

Lines changed: 24 additions & 64 deletions
Original file line numberDiff line numberDiff line change
@@ -32,14 +32,13 @@ template <> struct KernelInfo<EAMTestKernel> {
3232
} // namespace sycl
3333
} // __SYCL_INLINE_NAMESPACE(cl)
3434

35-
35+
template <typename T>
3636
static sycl::unittest::PiImage generateEAMTestKernelImage(std::string _cmplOptions = "", std::string _lnkOptions = "") {
3737
using namespace sycl::unittest;
3838

39-
// Eliminated arguments are 1st and 3rd.
4039
std::vector<unsigned char> KernelEAM{0b00000101};
4140
PiProperty EAMKernelPOI = makeKernelParamOptInfo(
42-
EAMTestKernelName, EAMTestKernelNumArgs, KernelEAM);
41+
sycl::detail::KernelInfo<T>::getName(), EAMTestKernelNumArgs, KernelEAM);
4342
PiArray<PiProperty> ImgKPOI{std::move(EAMKernelPOI)};
4443

4544
PiPropertySet PropSet;
@@ -52,8 +51,8 @@ static sycl::unittest::PiImage generateEAMTestKernelImage(std::string _cmplOptio
5251

5352
PiImage Img{PI_DEVICE_BINARY_TYPE_SPIRV, // Format
5453
__SYCL_PI_DEVICE_BINARY_TARGET_SPIRV64, // DeviceTargetSpec
55-
_cmplOptions.c_str(), // Compile options
56-
_lnkOptions.c_str(), // Link options
54+
_cmplOptions, // Compile options
55+
_lnkOptions, // Link options
5756
std::move(Bin),
5857
std::move(Entries),
5958
std::move(PropSet)};
@@ -62,91 +61,52 @@ static sycl::unittest::PiImage generateEAMTestKernelImage(std::string _cmplOptio
6261
}
6362

6463

65-
static pi_result redefinedProgramLink(pi_context, pi_uint32, const pi_device *,
64+
inline pi_result redefinedProgramLink(pi_context, pi_uint32, const pi_device *,
6665
const char * _linkOpts, pi_uint32,
6766
const pi_program *,
6867
void (*)(pi_program, void *), void *,
6968
pi_program *) {
70-
if (_linkOpts) {
71-
current_link_options = std::string(_linkOpts);
72-
}
69+
assert(_linkOpts != nullptr);
70+
current_link_options = std::string(_linkOpts);
71+
std::cout << "Passed link options --> " << _linkOpts << std::endl;
7372
return PI_SUCCESS;
7473
}
7574

76-
static pi_result redefinedProgramCompile(pi_program, pi_uint32,
75+
inline pi_result redefinedProgramCompile(pi_program, pi_uint32,
7776
const pi_device *, const char * _compileOpts,
7877
pi_uint32, const pi_program *,
7978
const char **,
8079
void (*)(pi_program, void *), void *) {
81-
if (_compileOpts) {
82-
current_compile_options = std::string(_compileOpts);
83-
}
80+
assert(_compileOpts != nullptr);
81+
current_compile_options = std::string(_compileOpts);
82+
std::cout << "Passed compile options --> " << _compileOpts << std::endl;
8483
return PI_SUCCESS;
8584
}
8685

87-
TEST(Link_Compile_Options, linkOptionsTest_empty) {
86+
TEST(Link_Compile_Options, compile_link_Options_Test_empty) {
8887
sycl::platform Plt{sycl::default_selector()};
8988
sycl::unittest::PiMock Mock{Plt};
90-
89+
setupDefaultMockAPIs(Mock);
9190
Mock.redefine<sycl::detail::PiApiKind::piProgramCompile>(redefinedProgramCompile);
9291
Mock.redefine<sycl::detail::PiApiKind::piProgramLink>(redefinedProgramLink);
93-
92+
93+
const sycl::device Dev = Plt.get_devices()[0];
9494

9595
current_link_options.clear();
9696
current_compile_options.clear();
9797
std::string expected_compile_options = "";
9898
std::string expected_link_options = "";
99-
static sycl::unittest::PiImage DevImage = generateEAMTestKernelImage(expected_compile_options, expected_link_options);
100-
auto BundleObj = sycl::compile(DevImage);
101-
sycl::link(BundleObj);
102-
EXPECT_EQ(expected_link_options, current_link_options);
103-
}
99+
static sycl::unittest::PiImage DevImage = generateEAMTestKernelImage<EAMTestKernel>(expected_compile_options, expected_link_options);
100+
auto KernelID = sycl::get_kernel_id<EAMTestKernel>();
104101

105-
TEST(Link_Compile_Options, linkOptionsTest_one_param) {
106-
sycl::platform Plt{sycl::default_selector()};
107-
sycl::unittest::PiMock Mock{Plt};
102+
sycl::queue Queue{Dev};
108103

109-
Mock.redefine<sycl::detail::PiApiKind::piProgramCompile>(redefinedProgramCompile);
110-
Mock.redefine<sycl::detail::PiApiKind::piProgramLink>(redefinedProgramLink);
104+
const sycl::context Ctx = Queue.get_context();
105+
sycl::kernel_bundle KernelBundle =
106+
sycl::get_kernel_bundle<sycl::bundle_state::input>(Ctx, {Dev}, {KernelID});
111107

112-
current_link_options.clear();
113-
current_compile_options.clear();
114-
std::string expected_compile_options = "";
115-
std::string expected_link_options = "-foo";
116-
static sycl::unittest::PiImage DevImage = generateEAMTestKernelImage(expected_compile_options, expected_link_options);
117-
auto BundleObj = sycl::compile(DevImage);
108+
auto BundleObj = sycl::compile(KernelBundle);
118109
sycl::link(BundleObj);
119110
EXPECT_EQ(expected_link_options, current_link_options);
120-
}
121-
122-
TEST(Link_Compile_Options, compileOptionsTest_empty) {
123-
sycl::platform Plt{sycl::default_selector()};
124-
sycl::unittest::PiMock Mock{Plt};
125-
126-
Mock.redefine<sycl::detail::PiApiKind::piProgramCompile>(redefinedProgramCompile);
127-
Mock.redefine<sycl::detail::PiApiKind::piProgramLink>(redefinedProgramLink);
128-
129-
current_link_options.clear();
130-
current_compile_options.clear();
131-
std::string expected_compile_options = "";
132-
std::string expected_link_options = "";
133-
static sycl::unittest::PiImage DevImage = generateEAMTestKernelImage(expected_compile_options, expected_link_options);
134-
auto BundleObj = sycl::compile(DevImage);
135-
EXPECT_EQ(expected_link_options, current_link_options);
136-
}
137-
138-
TEST(Link_Compile_Options, compileOptionsTest_one_param) {
139-
sycl::platform Plt{sycl::default_selector()};
140-
sycl::unittest::PiMock Mock{Plt};
141-
142-
Mock.redefine<sycl::detail::PiApiKind::piProgramCompile>(redefinedProgramCompile);
143-
Mock.redefine<sycl::detail::PiApiKind::piProgramLink>(redefinedProgramLink);
144-
145-
current_link_options.clear();
146-
current_compile_options.clear();
147-
std::string expected_compile_options = "-foo";
148-
std::string expected_link_options = "";
149-
static sycl::unittest::PiImage DevImage = generateEAMTestKernelImage(expected_compile_options, expected_link_options);
150-
auto BundleObj = sycl::compile(DevImage);
151-
EXPECT_EQ(expected_link_options, current_link_options);
111+
EXPECT_EQ(expected_compile_options + " ", current_compile_options);
152112
}

0 commit comments

Comments
 (0)