]> sigrok.org Git - libsigrokflow.git/commitdiff
Add tests/legacy_decoder.cpp and a simple unit test. master github/master
authorUwe Hermann <redacted>
Fri, 18 Jan 2019 00:02:30 +0000 (01:02 +0100)
committerUwe Hermann <redacted>
Fri, 18 Jan 2019 00:02:30 +0000 (01:02 +0100)
Makefile.am
tests/legacy_decoder.cpp [new file with mode: 0644]

index 8b6b55e297642b69575dc8f8db575eae349481f9..c368726852efb6ea467874f6e75d6b54425bd912 100644 (file)
@@ -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 (file)
index 0000000..4d6bf5e
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * This file is part of the libsigrokflow project.
+ *
+ * Copyright (C) 2019 Uwe Hermann <uwe@hermann-uwe.de>
+ *
+ * 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 <http://www.gnu.org/licenses/>.
+ */
+
+#include <catch2/catch.hpp>
+#include <libsigrokflow/libsigrokflow.hpp>
+#include <libsigrokdecode/libsigrokdecode.h>
+
+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());
+}