|
| 1 | +/* |
| 2 | + * Copyright (c) Simverge Software LLC - All Rights Reserved |
| 3 | + */ |
| 4 | + |
| 5 | +#include <stdlib.h> |
| 6 | +#include <stdio.h> |
| 7 | +#include <assert.h> |
| 8 | + |
| 9 | +#include <pdal/capi/Config.h> |
| 10 | +#include <pdal/gitsha.h> |
| 11 | +#include <pdal/pdal_features.hpp> |
| 12 | + |
| 13 | +#include "greatest.h" |
| 14 | + |
| 15 | +SUITE(ConfigTest); |
| 16 | + |
| 17 | +TEST testPDALVersionInfo(void) |
| 18 | +{ |
| 19 | + int versionInteger = PDALVersionInteger(); |
| 20 | + ASSERT_EQ(PDAL_VERSION_INTEGER, versionInteger); |
| 21 | + |
| 22 | + int major = PDALVersionMajor(); |
| 23 | + ASSERT_EQ(PDAL_VERSION_MAJOR, major); |
| 24 | + |
| 25 | + int minor = PDALVersionMinor(); |
| 26 | + ASSERT_EQ(PDAL_VERSION_MINOR, minor); |
| 27 | + |
| 28 | + int patch = PDALVersionPatch(); |
| 29 | + ASSERT_EQ(PDAL_VERSION_PATCH, patch); |
| 30 | + |
| 31 | + ASSERT_EQ(major*10000 + minor*100 + patch, versionInteger); |
| 32 | + |
| 33 | + char expected[64]; |
| 34 | + sprintf(expected, "%d.%d.%d", major, minor, patch); |
| 35 | + |
| 36 | + char version[64]; |
| 37 | + size_t size = PDALVersionString(version, 64); |
| 38 | + ASSERT(size > 0 && size <= 64); |
| 39 | + ASSERT(version[0]); |
| 40 | + ASSERT_STR_EQ(expected, version); |
| 41 | + ASSERT_STR_EQ(PDAL_VERSION_STRING, version); |
| 42 | + |
| 43 | + char sha1[64]; |
| 44 | + size = PDALSha1(sha1, 64); |
| 45 | + ASSERT(size > 0 && size <= 64); |
| 46 | + ASSERT(sha1[0]); |
| 47 | + |
| 48 | + // Shorten SHA1 to six characters |
| 49 | + ASSERT(size > 6); |
| 50 | + sha1[6] = '\0'; |
| 51 | + |
| 52 | + sprintf(expected + strlen(version), " (git-version: %s)", sha1); |
| 53 | + |
| 54 | + char fullVersion[64]; |
| 55 | + size = PDALFullVersionString(fullVersion, 64); |
| 56 | + ASSERT(size > 0 && size <= 64); |
| 57 | + ASSERT(fullVersion[0]); |
| 58 | + ASSERT_STR_EQ(expected, fullVersion); |
| 59 | + |
| 60 | + PASS(); |
| 61 | +} |
| 62 | + |
| 63 | +TEST testPDALDebugInformation(void) |
| 64 | +{ |
| 65 | + char info[1024]; |
| 66 | + size_t size = PDALDebugInformation(info, 1024); |
| 67 | + ASSERT(size > 0 && size <= 1024); |
| 68 | + ASSERT(info[0]); |
| 69 | + PASS(); |
| 70 | +} |
| 71 | + |
| 72 | +TEST testPDALPluginInstallPath(void) |
| 73 | +{ |
| 74 | + char path[1024]; |
| 75 | + size_t size = PDALPluginInstallPath(path, 1024); |
| 76 | + ASSERT(size > 0 && size <= 1024); |
| 77 | + ASSERT(path[0]); |
| 78 | + ASSERT_STR_EQ(PDAL_PLUGIN_INSTALL_PATH, path); |
| 79 | + PASS(); |
| 80 | +} |
| 81 | + |
| 82 | + |
| 83 | +GREATEST_SUITE(ConfigTest) |
| 84 | +{ |
| 85 | + RUN_TEST(testPDALVersionInfo); |
| 86 | + RUN_TEST(testPDALDebugInformation); |
| 87 | + RUN_TEST(testPDALPluginInstallPath); |
| 88 | +} |
0 commit comments