]> sigrok.org Git - libsigrokflow.git/blame - tests/legacy_decoder.cpp
Add tests/legacy_decoder.cpp and a simple unit test.
[libsigrokflow.git] / tests / legacy_decoder.cpp
CommitLineData
aa80cd8c
UH
1/*
2 * This file is part of the libsigrokflow project.
3 *
4 * Copyright (C) 2019 Uwe Hermann <uwe@hermann-uwe.de>
5 *
6 * This program is free software: you can redistribute it and/or modify
7 * it under the terms of the GNU General Public License as published by
8 * the Free Software Foundation, either version 3 of the License, or
9 * (at your option) any later version.
10 *
11 * This program is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 * GNU General Public License for more details.
15 *
16 * You should have received a copy of the GNU General Public License
17 * along with this program. If not, see <http://www.gnu.org/licenses/>.
18 */
19
20#include <catch2/catch.hpp>
21#include <libsigrokflow/libsigrokflow.hpp>
22#include <libsigrokdecode/libsigrokdecode.h>
23
24TEST_CASE("init", "[init]")
25{
26 REQUIRE_NOTHROW(Gst::init());
27 REQUIRE_NOTHROW(Srf::init());
28
29 srd_init(nullptr);
30
31 struct srd_session *session;
32 srd_session_new(&session);
33
34 SECTION("Srf::LegacyDecoder::create() with valid session/unitsize should work") {
35 const uint64_t unitsize = 1;
36 auto decoder = Srf::LegacyDecoder::create(session, unitsize);
37
38 CHECK(decoder);
39 CHECK(decoder->libsigrokdecode_session() == session);
40 CHECK(decoder->unitsize() == unitsize);
41 }
42
43 srd_exit();
44
45 REQUIRE_NOTHROW(Srf::deinit());
46 REQUIRE_NOTHROW(Gst::deinit());
47}