|
2 | 2 | #include "sentry_testsupport.h" |
3 | 3 | #include "sentry_utils.h" |
4 | 4 | #include "sentry_value.h" |
| 5 | +#include <stdlib.h> |
5 | 6 |
|
6 | 7 | #ifdef SENTRY_PLATFORM_UNIX |
7 | 8 | # include "sentry_unix_pageallocator.h" |
8 | 9 | #endif |
9 | 10 |
|
| 11 | +#ifdef SENTRY_PLATFORM_WINDOWS |
| 12 | +# define setenv(k, v, o) _putenv_s(k, v) |
| 13 | +# define unsetenv(k) _putenv_s(k, "") |
| 14 | +#endif |
| 15 | + |
10 | 16 | SENTRY_TEST(iso_time) |
11 | 17 | { |
12 | 18 | uint64_t usec; |
@@ -421,3 +427,36 @@ SENTRY_TEST(dsn_auth_header_invalid_dsn) |
421 | 427 | sentry_free(auth_header); |
422 | 428 | sentry__dsn_decref(dsn); |
423 | 429 | } |
| 430 | + |
| 431 | +SENTRY_TEST(getenv_double) |
| 432 | +{ |
| 433 | + setenv("SENTRY_TEST_DOUBLE", "", 1); |
| 434 | + TEST_CHECK(sentry__getenv_double("SENTRY_TEST_DOUBLE", 42.0) == 42.0); |
| 435 | + |
| 436 | + setenv("SENTRY_TEST_DOUBLE", "0.5", 1); |
| 437 | + TEST_CHECK(sentry__getenv_double("SENTRY_TEST_DOUBLE", 99.0) == 0.5); |
| 438 | + |
| 439 | + setenv("SENTRY_TEST_DOUBLE", "-3.14", 1); |
| 440 | + TEST_CHECK(sentry__getenv_double("SENTRY_TEST_DOUBLE", 99.0) == -3.14); |
| 441 | + |
| 442 | + setenv("SENTRY_TEST_DOUBLE", "0", 1); |
| 443 | + TEST_CHECK(sentry__getenv_double("SENTRY_TEST_DOUBLE", 99.0) == 0.0); |
| 444 | + |
| 445 | + setenv("SENTRY_TEST_DOUBLE", " 1.0 \t", 1); |
| 446 | + TEST_CHECK(sentry__getenv_double("SENTRY_TEST_DOUBLE", 99.0) == 1.0); |
| 447 | + |
| 448 | + setenv("SENTRY_TEST_DOUBLE", "not_a_number", 1); |
| 449 | + TEST_CHECK(sentry__getenv_double("SENTRY_TEST_DOUBLE", 42.0) == 42.0); |
| 450 | + |
| 451 | + setenv("SENTRY_TEST_DOUBLE", "NaN", 1); |
| 452 | + TEST_CHECK(sentry__getenv_double("SENTRY_TEST_DOUBLE", 42.0) == 42.0); |
| 453 | + |
| 454 | + setenv("SENTRY_TEST_DOUBLE", "inf", 1); |
| 455 | + TEST_CHECK(sentry__getenv_double("SENTRY_TEST_DOUBLE", 42.0) == 42.0); |
| 456 | + |
| 457 | + setenv("SENTRY_TEST_DOUBLE", "-inf", 1); |
| 458 | + TEST_CHECK(sentry__getenv_double("SENTRY_TEST_DOUBLE", 42.0) == 42.0); |
| 459 | + |
| 460 | + unsetenv("SENTRY_TEST_DOUBLE"); |
| 461 | + TEST_CHECK(sentry__getenv_double("SENTRY_TEST_DOUBLE", 42.0) == 42.0); |
| 462 | +} |
0 commit comments