summaryrefslogtreecommitdiffstats
path: root/test/index.h
blob: 1564fe311a6f1b8553b3d39edb20119b23e12c14 (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
28
29
30
31
32
#pragma once

#include <stdbool.h>

struct MPContext;

bool run_tests(struct MPContext *mpctx);

struct test_ctx {
    struct mpv_global *global;
    struct mp_log *log;
};

struct unittest {
    // This is used to select the test on command line with --unittest=<name>.
    const char *name;

    // Cannot run without additional arguments supplied.
    bool is_complex;

    // Entrypoints. There are various for various purposes. Only 1 of them must
    // be set.

    // Entrypoint for tests which have a simple dependency on the mpv core. The
    // core is sufficiently initialized at this point.
    void (*run)(struct test_ctx *ctx);
};

extern const struct unittest test_chmap;
extern const struct unittest test_gl_video;
extern const struct unittest test_json;
extern const struct unittest test_linked_list;