summaryrefslogtreecommitdiff
path: root/tests/version_test.c
blob: 0eb889eba1c9152a513a79ea9bce7ca14d06dab5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include "term/term.h"

#include <assert.h>
#include <stdio.h>
#include <string.h>

/* The project version from meson.build. The build defines it. */
#ifndef TERM_TEST_PROJECT_VERSION
#error "define TERM_TEST_PROJECT_VERSION as the project version, such as \"0.1.0\""
#endif

int main(void)
{
    char text[32];
    snprintf(text, sizeof(text), "%d.%d.%d",
        TERM_VERSION_MAJOR, TERM_VERSION_MINOR, TERM_VERSION_PATCH);
    assert(!strcmp(text, TERM_TEST_PROJECT_VERSION));

    int major, minor, patch;
    assert(sscanf(TERM_TEST_PROJECT_VERSION, "%d.%d.%d", &major, &minor, &patch) == 3);
    assert(TERM_VERSION_CODE == TERM_VERSION(major, minor, patch));
    assert(term_version() == TERM_VERSION_CODE);

    assert(TERM_VERSION(0, 2, 0) > TERM_VERSION(0, 1, 255));
    assert(TERM_VERSION(1, 0, 0) > TERM_VERSION(0, 255, 255));
    return 0;
}