Upper code will store dot kernels info into OpKernelInfoMap
| 109 | |
| 110 | // Upper code will store dot kernels info into OpKernelInfoMap |
| 111 | TEST(CustomKernel, custom_kernel_dot) { |
| 112 | std::string op_name = "fake_dot"; |
| 113 | phi::Backend backend = phi::Backend::CPU; |
| 114 | phi::DataLayout layout = phi::DataLayout::ALL_LAYOUT; |
| 115 | |
| 116 | // 1.custom kernel info parsed and store |
| 117 | EXPECT_TRUE(phi::CustomKernelMap::Instance().GetMap().find(op_name) != |
| 118 | phi::CustomKernelMap::Instance().GetMap().end()); |
| 119 | |
| 120 | auto& custom_kernels = phi::CustomKernelMap::Instance().Kernels(); |
| 121 | // 2.info check |
| 122 | EXPECT_EQ(6, static_cast<int>(custom_kernels[op_name].size())); |
| 123 | auto& custom_fake_dot_kernels = custom_kernels[op_name]; |
| 124 | EXPECT_TRUE(custom_fake_dot_kernels.find( |
| 125 | phi::KernelKey(backend, layout, phi::DataType::FLOAT32)) != |
| 126 | custom_fake_dot_kernels.end()); |
| 127 | EXPECT_TRUE(custom_fake_dot_kernels.find( |
| 128 | phi::KernelKey(backend, layout, phi::DataType::FLOAT64)) != |
| 129 | custom_fake_dot_kernels.end()); |
| 130 | EXPECT_TRUE(custom_fake_dot_kernels.find( |
| 131 | phi::KernelKey(backend, layout, phi::DataType::INT32)) != |
| 132 | custom_fake_dot_kernels.end()); |
| 133 | EXPECT_TRUE(custom_fake_dot_kernels.find( |
| 134 | phi::KernelKey(backend, layout, phi::DataType::INT64)) != |
| 135 | custom_fake_dot_kernels.end()); |
| 136 | EXPECT_TRUE(custom_fake_dot_kernels.find( |
| 137 | phi::KernelKey(backend, layout, phi::DataType::INT8)) != |
| 138 | custom_fake_dot_kernels.end()); |
| 139 | EXPECT_TRUE(custom_fake_dot_kernels.find( |
| 140 | phi::KernelKey(backend, layout, phi::DataType::UINT8)) != |
| 141 | custom_fake_dot_kernels.end()); |
| 142 | |
| 143 | // 3.before register |
| 144 | auto& kernels = phi::KernelFactory::Instance().kernels(); |
| 145 | EXPECT_TRUE(kernels.find(op_name) == kernels.end()); |
| 146 | |
| 147 | // mock fake_dot is supported by phi for check while registering |
| 148 | auto& fake_dot_kernels = kernels[op_name]; |
| 149 | |
| 150 | EXPECT_TRUE(fake_dot_kernels.find( |
| 151 | phi::KernelKey(backend, layout, phi::DataType::FLOAT32)) == |
| 152 | fake_dot_kernels.end()); |
| 153 | EXPECT_TRUE(fake_dot_kernels.find( |
| 154 | phi::KernelKey(backend, layout, phi::DataType::FLOAT64)) == |
| 155 | fake_dot_kernels.end()); |
| 156 | EXPECT_TRUE(fake_dot_kernels.find( |
| 157 | phi::KernelKey(backend, layout, phi::DataType::INT32)) == |
| 158 | fake_dot_kernels.end()); |
| 159 | EXPECT_TRUE(fake_dot_kernels.find( |
| 160 | phi::KernelKey(backend, layout, phi::DataType::INT64)) == |
| 161 | fake_dot_kernels.end()); |
| 162 | EXPECT_TRUE(fake_dot_kernels.find( |
| 163 | phi::KernelKey(backend, layout, phi::DataType::INT8)) == |
| 164 | fake_dot_kernels.end()); |
| 165 | EXPECT_TRUE(fake_dot_kernels.find( |
| 166 | phi::KernelKey(backend, layout, phi::DataType::UINT8)) == |
| 167 | fake_dot_kernels.end()); |
| 168 |
nothing calls this directly
no test coverage detected