36 bool check_windows_registry_product_name(HKEY root_key,
37 const char* reg_key_path,
38 const char* reg_key_name);
43 static bool check_bios_data_windows_test(
const char*
data) {
44 char const reg_key_path[] =
"SYSTEM\\HardwareConfig\\Current\\";
45 char const reg_key_name[] =
"grpcTestValueName";
49 auto rc = RegSetKeyValueA(HKEY_CURRENT_USER, reg_key_path, reg_key_name,
50 REG_SZ,
reinterpret_cast<const BYTE*
>(
data),
51 static_cast<DWORD
>(strlen(
data)));
56 auto result = grpc_core::internal::check_windows_registry_product_name(
57 HKEY_CURRENT_USER, reg_key_path, reg_key_name);
59 (void)RegDeleteKeyValueA(HKEY_CURRENT_USER, reg_key_path, reg_key_name);
64 static void test_gcp_environment_check_success() {
66 GPR_ASSERT(check_bios_data_windows_test(
"Google Compute Engine"));
69 GPR_ASSERT(check_bios_data_windows_test(
"Google"));
70 GPR_ASSERT(check_bios_data_windows_test(
"Google\n"));
71 GPR_ASSERT(check_bios_data_windows_test(
"Google\r"));
72 GPR_ASSERT(check_bios_data_windows_test(
"Google\r\n"));
73 GPR_ASSERT(check_bios_data_windows_test(
" Google \r\n"));
74 GPR_ASSERT(check_bios_data_windows_test(
" \t\t Google\r\n"));
75 GPR_ASSERT(check_bios_data_windows_test(
" \t\t Google\t\t \r\n"));
78 static void test_gcp_environment_check_failure() {
79 GPR_ASSERT(!check_bios_data_windows_test(
"\t\tAmazon\n"));
80 GPR_ASSERT(!check_bios_data_windows_test(
" Amazon\r\n"));
83 int main(
int argc,
char** argv) {
85 test_gcp_environment_check_success();
86 test_gcp_environment_check_failure();
91 int main(
int ,
char** ) {
return 0; }