mirror of
https://github.com/Llewellynvdm/conky.git
synced 2025-02-12 00:48:49 +00:00
Add Tests in new Test files (#852)
This commit is contained in:
parent
dcc188ebe2
commit
9fe1ceeb32
@ -14,6 +14,10 @@ if(OS_DARWIN)
|
||||
set(test_srcs ${test_srcs} test-darwin.cc)
|
||||
endif()
|
||||
|
||||
set(test_srcs ${test_srcs} test-core.cc)
|
||||
set(test_srcs ${test_srcs} test-diskio.cc)
|
||||
set(test_srcs ${test_srcs} test-fs.cc)
|
||||
|
||||
add_executable(test-conky test-common.cc ${test_srcs})
|
||||
target_link_libraries(test-conky conky_core)
|
||||
catch_discover_tests(test-conky)
|
||||
|
68
tests/test-core.cc
Normal file
68
tests/test-core.cc
Normal file
@ -0,0 +1,68 @@
|
||||
/*
|
||||
*
|
||||
* Conky, a system monitor, based on torsmo
|
||||
*
|
||||
* Any original torsmo code is licensed under the BSD license
|
||||
*
|
||||
* All code written since the fork of torsmo is licensed under the GPL
|
||||
*
|
||||
* Please see COPYING for details
|
||||
*
|
||||
* Copyright (c) 2005-2019 Brenden Matthews, Philip Kovacs, et. al.
|
||||
* (see AUTHORS)
|
||||
* All rights reserved.
|
||||
*
|
||||
* 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 <core.h>
|
||||
|
||||
TEST_CASE("remove_comments returns correct value") {
|
||||
SECTION("for no comments") {
|
||||
char text[] = "test text\n";
|
||||
|
||||
size_t removed_chars = remove_comments(text);
|
||||
|
||||
REQUIRE(removed_chars == 0);
|
||||
}
|
||||
|
||||
SECTION("for no comments but with backslashes") {
|
||||
char text[] = "te\\st t\\ext\n";
|
||||
|
||||
size_t removed_chars = remove_comments(text);
|
||||
|
||||
REQUIRE(removed_chars == 0);
|
||||
}
|
||||
|
||||
SECTION("for single line of comment") {
|
||||
char text_with_newline[] = "#test text\n";
|
||||
char text_no_newline[] = "#test text";
|
||||
|
||||
size_t removed_chars_with_newline = remove_comments(text_with_newline);
|
||||
size_t removed_chars_no_newline = remove_comments(text_no_newline);
|
||||
|
||||
REQUIRE(removed_chars_with_newline == 11);
|
||||
REQUIRE(removed_chars_no_newline == 10);
|
||||
}
|
||||
|
||||
SECTION("for comment starting in middle of line") {
|
||||
char text[] = "test #text\n";
|
||||
|
||||
size_t removed_chars = remove_comments(text);
|
||||
|
||||
REQUIRE(removed_chars == 6);
|
||||
}
|
||||
}
|
50
tests/test-diskio.cc
Normal file
50
tests/test-diskio.cc
Normal file
@ -0,0 +1,50 @@
|
||||
/*
|
||||
*
|
||||
* Conky, a system monitor, based on torsmo
|
||||
*
|
||||
* Any original torsmo code is licensed under the BSD license
|
||||
*
|
||||
* All code written since the fork of torsmo is licensed under the GPL
|
||||
*
|
||||
* Please see COPYING for details
|
||||
*
|
||||
* Copyright (c) 2005-2019 Brenden Matthews, Philip Kovacs, et. al.
|
||||
* (see AUTHORS)
|
||||
* All rights reserved.
|
||||
*
|
||||
* 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 <config.h>
|
||||
#include <conky.h>
|
||||
#include <diskio.h>
|
||||
|
||||
#if BUILD_X11
|
||||
TEST_CASE("diskiographval returns correct value") {
|
||||
struct text_object obj;
|
||||
|
||||
SECTION("for valid data") {
|
||||
diskio_stat *diskio = new diskio_stat;
|
||||
diskio->current = 2.5;
|
||||
|
||||
obj.data.opaque = diskio;
|
||||
|
||||
REQUIRE(diskiographval(&obj) == Approx(2.5));
|
||||
|
||||
delete diskio;
|
||||
}
|
||||
}
|
||||
#endif
|
61
tests/test-fs.cc
Normal file
61
tests/test-fs.cc
Normal file
@ -0,0 +1,61 @@
|
||||
/*
|
||||
*
|
||||
* Conky, a system monitor, based on torsmo
|
||||
*
|
||||
* Any original torsmo code is licensed under the BSD license
|
||||
*
|
||||
* All code written since the fork of torsmo is licensed under the GPL
|
||||
*
|
||||
* Please see COPYING for details
|
||||
*
|
||||
* Copyright (c) 2005-2019 Brenden Matthews, Philip Kovacs, et. al.
|
||||
* (see AUTHORS)
|
||||
* All rights reserved.
|
||||
*
|
||||
* 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 <fs.h>
|
||||
|
||||
TEST_CASE("fs_free_percentage returns correct value") {
|
||||
struct text_object obj;
|
||||
|
||||
SECTION("for fs size == 0") {
|
||||
fs_stat *fs = new fs_stat;
|
||||
fs->size = 0;
|
||||
fs->avail = 17;
|
||||
fs->free = 97;
|
||||
|
||||
obj.data.opaque = fs;
|
||||
|
||||
REQUIRE(fs_free_percentage(&obj) == 0);
|
||||
|
||||
delete fs;
|
||||
}
|
||||
|
||||
SECTION("for valid data") {
|
||||
fs_stat *fs = new fs_stat;
|
||||
fs->size = 68;
|
||||
fs->avail = 17;
|
||||
fs->free = 97;
|
||||
|
||||
obj.data.opaque = fs;
|
||||
|
||||
REQUIRE(fs_free_percentage(&obj) == 25);
|
||||
|
||||
delete fs;
|
||||
}
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user