From: Uwe Hermann Date: Fri, 18 Jan 2019 00:02:30 +0000 (+0100) Subject: Add tests/legacy_decoder.cpp and a simple unit test. X-Git-Url: https://sigrok.org/gitaction?a=commitdiff_plain;h=refs%2Fremotes%2Fgithub%2Fmaster;p=libsigrokflow.git Add tests/legacy_decoder.cpp and a simple unit test. --- diff --git a/Makefile.am b/Makefile.am index 8b6b55e..c368726 100644 --- a/Makefile.am +++ b/Makefile.am @@ -57,7 +57,8 @@ check_PROGRAMS = tests/main tests_main_SOURCES = \ include/libsigrokflow/libsigrokflow.hpp \ tests/main.cpp \ - tests/init.cpp + tests/init.cpp \ + tests/legacy_decoder.cpp tests_main_LDADD = libsigrokflow.la $(LIBSIGROKFLOW_LIBS) diff --git a/tests/legacy_decoder.cpp b/tests/legacy_decoder.cpp new file mode 100644 index 0000000..4d6bf5e --- /dev/null +++ b/tests/legacy_decoder.cpp @@ -0,0 +1,47 @@ +/* + * This file is part of the libsigrokflow project. + * + * Copyright (C) 2019 Uwe Hermann + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + */ + +#include +#include +#include + +TEST_CASE("init", "[init]") +{ + REQUIRE_NOTHROW(Gst::init()); + REQUIRE_NOTHROW(Srf::init()); + + srd_init(nullptr); + + struct srd_session *session; + srd_session_new(&session); + + SECTION("Srf::LegacyDecoder::create() with valid session/unitsize should work") { + const uint64_t unitsize = 1; + auto decoder = Srf::LegacyDecoder::create(session, unitsize); + + CHECK(decoder); + CHECK(decoder->libsigrokdecode_session() == session); + CHECK(decoder->unitsize() == unitsize); + } + + srd_exit(); + + REQUIRE_NOTHROW(Srf::deinit()); + REQUIRE_NOTHROW(Gst::deinit()); +}