@@ -65,22 +65,6 @@ TEST_F(ProgramWithZebinFixture, givenEmptyDebugDataThenDebugZebinIsCreatedAndSto
65
65
EXPECT_NE (nullptr , program->buildInfos [rootDeviceIndex].debugData .get ());
66
66
}
67
67
68
- TEST_F (ProgramWithZebinFixture, givenZebinaryFormatInCreateDebugDataThenCreateDebugZebinIsCalled) {
69
- addEmptyZebin (program.get ());
70
- program->createDebugData (rootDeviceIndex);
71
- EXPECT_TRUE (program->wasCreateDebugZebinCalled );
72
- EXPECT_FALSE (program->wasProcessDebugDataCalled );
73
- }
74
-
75
- TEST_F (ProgramWithZebinFixture, givenNonZebinaryFormatInCreateDebugDataThenProcessDebugDataIsCalled) {
76
- size_t fakeBinarySize = 8u ;
77
- program->buildInfos [rootDeviceIndex].unpackedDeviceBinarySize = fakeBinarySize;
78
- program->buildInfos [rootDeviceIndex].unpackedDeviceBinary .reset (new char [fakeBinarySize]);
79
- program->createDebugData (rootDeviceIndex);
80
- EXPECT_FALSE (program->wasCreateDebugZebinCalled );
81
- EXPECT_TRUE (program->wasProcessDebugDataCalled );
82
- }
83
-
84
68
TEST_F (ProgramWithZebinFixture, givenEmptyDebugDataAndZebinBinaryFormatThenCreateDebugZebinAndReturnOnGetInfo) {
85
69
addEmptyZebin (program.get ());
86
70
populateProgramWithSegments (program.get ());
@@ -131,41 +115,40 @@ TEST_F(ProgramWithZebinFixture, givenEmptyDebugDataAndZebinBinaryFormatThenCreat
131
115
EXPECT_EQ (numDevices * sizeof (debugData), retData);
132
116
}
133
117
134
- TEST_F (ProgramWithZebinFixture, givenZebinBinaryFormatWhenProgramIsBuiltWithKernelDebugEnabledAndDebuggerAvailableThenDebugZebinCreationIsCalledAndDebuggerNotified) {
118
+ TEST_F (ProgramWithZebinFixture, givenZebinFormatAndDebuggerNotAvailableWhenNotifyingDebuggerThenCreateDebugZebinIsCalled) {
119
+ pClDevice->getExecutionEnvironment ()->rootDeviceEnvironments [pDevice->getRootDeviceIndex ()]->debugger .reset (nullptr );
120
+
135
121
addEmptyZebin (program.get ());
122
+ populateProgramWithSegments (program.get ());
123
+ auto &buildInfo = program->buildInfos [rootDeviceIndex];
124
+ buildInfo.debugDataSize = 0u ;
125
+ buildInfo.debugData .reset (nullptr );
126
+ for (auto &device : program->getDevices ()) {
127
+ program->notifyDebuggerWithDebugData (device);
128
+ }
129
+ EXPECT_TRUE (program->wasCreateDebugZebinCalled );
130
+ EXPECT_FALSE (program->wasProcessDebugDataCalled );
131
+ EXPECT_NE (nullptr , program->buildInfos [rootDeviceIndex].debugData );
132
+ EXPECT_GT (program->buildInfos [rootDeviceIndex].debugDataSize , 0u );
133
+ }
136
134
135
+ TEST_F (ProgramWithZebinFixture, givenZebinFormatAndDebuggerAvailableWhenNotifyingDebuggerThenCreateDebugZebinIsCalledAndDebuggerNotified) {
137
136
MockSourceLevelDebugger *sourceLevelDebugger = new MockSourceLevelDebugger;
138
137
sourceLevelDebugger->setActive (true );
139
138
pClDevice->getExecutionEnvironment ()->rootDeviceEnvironments [pDevice->getRootDeviceIndex ()]->debugger .reset (sourceLevelDebugger);
140
139
141
- program->createdFrom = Program::CreatedFrom::BINARY;
142
- program->isCreatedFromBinary = true ;
143
- program->enableKernelDebug ();
144
- auto retVal = program->build (
145
- program->getDevices (),
146
- nullptr ,
147
- false );
148
-
149
- EXPECT_EQ (CL_SUCCESS, retVal);
150
- EXPECT_TRUE (program->wasCreateDebugZebinCalled );
151
- EXPECT_FALSE (program->wasProcessDebugDataCalled );
152
- EXPECT_EQ (1u , sourceLevelDebugger->notifyKernelDebugDataCalled );
153
- }
154
-
155
- TEST_F (ProgramWithZebinFixture, givenZebinBinaryFormatWhenProgramIsBuiltWithKernelDebugEnabledAndNoDebuggerThenDebugZebinCreationIsCalled) {
156
140
addEmptyZebin (program.get ());
157
-
158
- pClDevice->getExecutionEnvironment ()->rootDeviceEnvironments [pDevice->getRootDeviceIndex ()]->debugger .reset (nullptr );
159
-
160
- program->createdFrom = Program::CreatedFrom::BINARY;
161
- program->isCreatedFromBinary = true ;
162
- program->enableKernelDebug ();
163
- auto retVal = program->build (
164
- program->getDevices (),
165
- nullptr ,
166
- false );
167
-
168
- EXPECT_EQ (CL_SUCCESS, retVal);
141
+ populateProgramWithSegments (program.get ());
142
+ auto &buildInfo = program->buildInfos [rootDeviceIndex];
143
+ buildInfo.debugDataSize = 0u ;
144
+ buildInfo.debugData .reset (nullptr );
145
+ for (auto &device : program->getDevices ()) {
146
+ program->notifyDebuggerWithDebugData (device);
147
+ }
169
148
EXPECT_TRUE (program->wasCreateDebugZebinCalled );
170
149
EXPECT_FALSE (program->wasProcessDebugDataCalled );
150
+ EXPECT_NE (nullptr , program->buildInfos [rootDeviceIndex].debugData );
151
+ EXPECT_GT (program->buildInfos [rootDeviceIndex].debugDataSize , 0u );
152
+
153
+ EXPECT_EQ (1u , sourceLevelDebugger->notifyKernelDebugDataCalled );
171
154
}
0 commit comments