diff options
author | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2023-01-31 11:30:46 +0100 |
---|---|---|
committer | David Oberhollenzer <david.oberhollenzer@sigma-star.at> | 2023-01-31 18:04:25 +0100 |
commit | 72c8155d9fc0eaeac72c053f46ebb7b231d4596a (patch) | |
tree | 5758865289c52fa93f56e3fe743bb40c283c5233 /lib/util/test/epoch.c | |
parent | cdccc69c62579b0c13b35fad0728079652b8f3c9 (diff) |
Reintegrate test code with library code
Signed-off-by: David Oberhollenzer <david.oberhollenzer@sigma-star.at>
Diffstat (limited to 'lib/util/test/epoch.c')
-rw-r--r-- | lib/util/test/epoch.c | 67 |
1 files changed, 67 insertions, 0 deletions
diff --git a/lib/util/test/epoch.c b/lib/util/test/epoch.c new file mode 100644 index 0000000..a04942e --- /dev/null +++ b/lib/util/test/epoch.c @@ -0,0 +1,67 @@ +/* SPDX-License-Identifier: GPL-3.0-or-later */ +/* + * epoch.c + * + * Copyright (C) 2019 David Oberhollenzer <goliath@infraroot.at> + */ +#include "config.h" +#include "util/util.h" +#include "util/test.h" + +#if defined(_WIN32) || defined(__WINDOWS__) +static void setenv(const char *key, const char *value, int overwrite) +{ + char buffer[128]; + (void)overwrite; + + snprintf(buffer, sizeof(buffer) - 1, "%s=%s", key, value); + buffer[sizeof(buffer) - 1] = '\0'; + + _putenv(buffer); +} + +static void unsetenv(const char *key) +{ + setenv(key, "", 0); +} +#endif + +int main(int argc, char **argv) +{ + sqfs_u32 ts; + (void)argc; (void)argv; + + unsetenv("SOURCE_DATE_EPOCH"); + ts = get_source_date_epoch(); + TEST_EQUAL_UI(ts, 0); + + setenv("SOURCE_DATE_EPOCH", "1337", 1); + ts = get_source_date_epoch(); + TEST_EQUAL_UI(ts, 1337); + + setenv("SOURCE_DATE_EPOCH", "0xCAFE", 1); + ts = get_source_date_epoch(); + TEST_EQUAL_UI(ts, 0); + + setenv("SOURCE_DATE_EPOCH", "foobar", 1); + ts = get_source_date_epoch(); + TEST_EQUAL_UI(ts, 0); + + setenv("SOURCE_DATE_EPOCH", "-12", 1); + ts = get_source_date_epoch(); + TEST_EQUAL_UI(ts, 0); + + setenv("SOURCE_DATE_EPOCH", "12", 1); + ts = get_source_date_epoch(); + TEST_EQUAL_UI(ts, 12); + + setenv("SOURCE_DATE_EPOCH", "4294967295", 1); + ts = get_source_date_epoch(); + TEST_EQUAL_UI(ts, 0xFFFFFFFF); + + setenv("SOURCE_DATE_EPOCH", "4294967296", 1); + ts = get_source_date_epoch(); + TEST_EQUAL_UI(ts, 0); + + return EXIT_SUCCESS; +} |