diff options
author | Roland Reichwein <mail@reichwein.it> | 2023-01-02 17:38:35 +0100 |
---|---|---|
committer | Roland Reichwein <mail@reichwein.it> | 2023-01-02 17:38:35 +0100 |
commit | 20ceb53ec1c1bc18face8e831292dfe81fed3817 (patch) | |
tree | a1107d98cf8699b28ef6034c09567f39c68b160b | |
parent | 0851f92abcb1e9d84c2748607ff8d548b582540c (diff) |
Separated out libreichwein (file.cpp)
-rwxr-xr-x | Makefile | 2 | ||||
-rw-r--r-- | common.mk | 1 | ||||
-rw-r--r-- | debian/changelog | 1 | ||||
-rw-r--r-- | debian/control | 2 | ||||
-rw-r--r-- | file.cpp | 46 | ||||
-rw-r--r-- | file.h | 15 | ||||
-rw-r--r-- | tests/Makefile | 5 | ||||
-rw-r--r-- | tests/test-config.cpp | 3 | ||||
-rw-r--r-- | tests/test-storage.cpp | 38 | ||||
-rw-r--r-- | whiteboard.cpp | 3 |
10 files changed, 29 insertions, 87 deletions
@@ -10,7 +10,7 @@ DISTROS=base debian11 VERSION=$(shell dpkg-parsechangelog --show-field Version) INCLUDES=-I. -HEADERS=file.h config.h qrcode.h storage.h whiteboard.h compiledsql.h +HEADERS=config.h qrcode.h storage.h whiteboard.h compiledsql.h SOURCES=$(HEADERS:.h=.cpp) OBJECTS=$(HEADERS:.h=.o) TARGETS=whiteboard.fcgi @@ -63,4 +63,5 @@ endif CXXFLAGS+=$(shell pkg-config --cflags qrcodegencpp Magick++ fmt sqlite3) LIBS+=-lfcgi -lboost_filesystem -lpthread LIBS+=-lSQLiteCpp $(shell pkg-config --libs qrcodegencpp Magick++ fmt sqlite3) +LIBS+=-lreichwein diff --git a/debian/changelog b/debian/changelog index ad9fd1e..8639658 100644 --- a/debian/changelog +++ b/debian/changelog @@ -2,6 +2,7 @@ whiteboard (1.4) unstable; urgency=medium * Move from filesystem based documents to sqlite * Add tests + * Separated out libreichwein -- Roland Reichwein <mail@reichwein.it> Fri, 30 Dec 2022 13:08:49 +0100 diff --git a/debian/control b/debian/control index 167e8ad..aecfa97 100644 --- a/debian/control +++ b/debian/control @@ -2,7 +2,7 @@ Source: whiteboard Section: web Priority: optional Maintainer: Roland Reichwein <mail@reichwein.it> -Build-Depends: debhelper (>= 12), libboost-all-dev | libboost1.71-all-dev, clang | g++-9, llvm | g++-9, lld | g++-9, uglifyjs, python3-pkg-resources, htmlmin, cleancss, libfcgi-dev, libqrcodegencpp-dev, libmagick++-dev, pkg-config, libfmt-dev, libsqlitecpp-dev, googletest, gcovr, webserver +Build-Depends: debhelper (>= 12), libboost-all-dev | libboost1.71-all-dev, clang | g++-9, llvm | g++-9, lld | g++-9, uglifyjs, python3-pkg-resources, htmlmin, cleancss, libfcgi-dev, libqrcodegencpp-dev, libmagick++-dev, pkg-config, libfmt-dev, libsqlitecpp-dev, googletest, gcovr, webserver, libreichwein-dev Standards-Version: 4.5.0 Homepage: http://www.reichwein.it/whiteboard/ diff --git a/file.cpp b/file.cpp deleted file mode 100644 index 47ab8be..0000000 --- a/file.cpp +++ /dev/null @@ -1,46 +0,0 @@ -#include "file.h" - -#include <fstream> - -namespace fs = std::filesystem; - -using namespace std::string_literals; - -std::string File::getFile(const fs::path& filename) -{ - std::ifstream file(filename.string(), std::ios::in | std::ios::binary | std::ios::ate); - - if (file.is_open()) { - std::ifstream::pos_type fileSize = file.tellg(); - file.seekg(0, std::ios::beg); - - std::string bytes(fileSize, ' '); - file.read(reinterpret_cast<char*>(bytes.data()), fileSize); - - return bytes; - - } else { - throw std::runtime_error("Opening "s + filename.string() + " for reading"); - } -} - -void File::setFile(const fs::path& filename, const std::string& s) -{ - File::setFile(filename, s.data(), s.size()); -} - -void File::setFile(const fs::path& filename, const char* data, size_t size) -{ - std::ofstream file(filename.string(), std::ios::out | std::ios::binary); - if (file.is_open()) { - file.write(data, size); - } else { - throw std::runtime_error("Opening "s + filename.string() + " for writing"); - } -} - -void File::setFile(const fs::path& filename, const std::vector<uint8_t>& data) -{ - File::setFile(filename, reinterpret_cast<const char*>(data.data()), data.size()); -} - @@ -1,15 +0,0 @@ -#pragma once - -#include <cstdint> -#include <filesystem> -#include <string> -#include <vector> - -namespace File { - -std::string getFile(const std::filesystem::path& filename); -void setFile(const std::filesystem::path& filename, const std::string& s); -void setFile(const std::filesystem::path& filename, const char* data, size_t size); -void setFile(const std::filesystem::path& filename, const std::vector<uint8_t>& data); - -} diff --git a/tests/Makefile b/tests/Makefile index 4ade005..057eae9 100644 --- a/tests/Makefile +++ b/tests/Makefile @@ -11,7 +11,7 @@ CXXFLAGS+=--coverage LDFLAGS+=--coverage endif -UNITS=storage.cpp config.cpp file.cpp compiledsql.cpp qrcode.cpp whiteboard.cpp +UNITS=storage.cpp config.cpp compiledsql.cpp qrcode.cpp whiteboard.cpp UNITTESTS=test-config.cpp \ test-storage.cpp @@ -47,9 +47,6 @@ unittests: libgmock.a $(UNITTESTS:.cpp=.o) $(UNITS:.cpp=.o) config.o: ../config.cpp $(CXX) $(CXXFLAGS) -o $@ -c $< -file.o: ../file.cpp - $(CXX) $(CXXFLAGS) -o $@ -c $< - storage.o: ../storage.cpp $(CXX) $(CXXFLAGS) -o $@ -c $< diff --git a/tests/test-config.cpp b/tests/test-config.cpp index cd358a6..1aafcf9 100644 --- a/tests/test-config.cpp +++ b/tests/test-config.cpp @@ -4,8 +4,9 @@ #include <string> #include <system_error> +#include "libreichwein/file.h" + #include "config.h" -#include "file.h" namespace fs = std::filesystem; diff --git a/tests/test-storage.cpp b/tests/test-storage.cpp index 158a9bd..b9994fb 100644 --- a/tests/test-storage.cpp +++ b/tests/test-storage.cpp @@ -1,11 +1,13 @@ #include <gtest/gtest.h> #include <filesystem> +#include <memory> #include <string> #include <system_error> +#include "libreichwein/file.h" + #include "config.h" -#include "file.h" #include "storage.h" namespace fs = std::filesystem; @@ -35,7 +37,7 @@ protected: std::error_code ec; fs::remove(testDbFilename, ec); - m_config = Config{testConfigFilename}; + m_config = std::make_shared<Config>(testConfigFilename); } void TearDown() override @@ -45,7 +47,7 @@ protected: fs::remove(testConfigFilename, ec); } - Config m_config; + std::shared_ptr<Config> m_config; }; TEST_F(StorageTest, create) @@ -53,9 +55,9 @@ TEST_F(StorageTest, create) ASSERT_TRUE(!fs::exists(testDbFilename)); { - ASSERT_EQ(m_config.getDataPath(), "."); + ASSERT_EQ(m_config->getDataPath(), "."); ASSERT_TRUE(!fs::exists(testDbFilename)); - Storage storage(m_config); + Storage storage(*m_config); } ASSERT_TRUE(fs::exists(testDbFilename)); @@ -63,7 +65,7 @@ TEST_F(StorageTest, create) TEST_F(StorageTest, getNumberOfDocuments) { - Storage storage(m_config); + Storage storage(*m_config); EXPECT_EQ(storage.getNumberOfDocuments(), 0UL); storage.setDocument("123", "abc"); EXPECT_EQ(storage.getNumberOfDocuments(), 1UL); @@ -73,7 +75,7 @@ TEST_F(StorageTest, getNumberOfDocuments) TEST_F(StorageTest, cleanup_empty) { - Storage storage(m_config); + Storage storage(*m_config); EXPECT_EQ(storage.getNumberOfDocuments(), 0UL); storage.cleanup(); EXPECT_EQ(storage.getNumberOfDocuments(), 0UL); @@ -81,7 +83,7 @@ TEST_F(StorageTest, cleanup_empty) TEST_F(StorageTest, cleanup) { - Storage storage(m_config); + Storage storage(*m_config); EXPECT_EQ(storage.getNumberOfDocuments(), 0UL); storage.setDocument("123", "abc"); EXPECT_EQ(storage.getNumberOfDocuments(), 1UL); @@ -91,7 +93,7 @@ TEST_F(StorageTest, cleanup) TEST_F(StorageTest, exists) { - Storage storage(m_config); + Storage storage(*m_config); EXPECT_EQ(storage.exists(""), false); EXPECT_EQ(storage.exists("0"), false); EXPECT_EQ(storage.exists("123"), false); @@ -109,7 +111,7 @@ TEST_F(StorageTest, exists) TEST_F(StorageTest, setDocument) { - Storage storage(m_config); + Storage storage(*m_config); storage.setDocument("0", "abc"); EXPECT_EQ(storage.getNumberOfDocuments(), 1UL); EXPECT_EQ(storage.getDocument("0"), "abc"); @@ -117,7 +119,7 @@ TEST_F(StorageTest, setDocument) TEST_F(StorageTest, setRevision) { - Storage storage(m_config); + Storage storage(*m_config); storage.setDocument("0", "abc"); storage.setRevision("0", 123); @@ -127,7 +129,7 @@ TEST_F(StorageTest, setRevision) TEST_F(StorageTest, setCursorPos) { - Storage storage(m_config); + Storage storage(*m_config); storage.setDocument("0", "abc"); storage.setCursorPos("0", 1234); @@ -137,7 +139,7 @@ TEST_F(StorageTest, setCursorPos) TEST_F(StorageTest, setRow) { - Storage storage(m_config); + Storage storage(*m_config); storage.setRow("0", "abc", 56, 67); EXPECT_EQ(storage.getNumberOfDocuments(), 1UL); @@ -148,7 +150,7 @@ TEST_F(StorageTest, setRow) TEST_F(StorageTest, getDocument) { - Storage storage(m_config); + Storage storage(*m_config); storage.setDocument("0", "xyz"); storage.setDocument("0bc", "xyz2"); storage.setDocument("iabc", "xyz3"); @@ -159,7 +161,7 @@ TEST_F(StorageTest, getDocument) TEST_F(StorageTest, getRevision) { - Storage storage(m_config); + Storage storage(*m_config); storage.setRow("0", "abc", 123, 456); EXPECT_EQ(storage.getRevision("0"), 123); @@ -167,7 +169,7 @@ TEST_F(StorageTest, getRevision) TEST_F(StorageTest, getCursorPos) { - Storage storage(m_config); + Storage storage(*m_config); storage.setRow("0", "abc", 123, 456); EXPECT_EQ(storage.getCursorPos("0"), 456); @@ -175,7 +177,7 @@ TEST_F(StorageTest, getCursorPos) TEST_F(StorageTest, getRow) { - Storage storage(m_config); + Storage storage(*m_config); storage.setRow("0", "abc", 123, 456); auto row{storage.getRow("0")}; @@ -186,7 +188,7 @@ TEST_F(StorageTest, getRow) TEST_F(StorageTest, revision_increment) { - Storage storage(m_config); + Storage storage(*m_config); storage.setDocument("0", "xyz"); storage.setDocument("0bc", "xyz2"); storage.setDocument("iabc", "xyz3"); diff --git a/whiteboard.cpp b/whiteboard.cpp index 48125a8..3abccad 100644 --- a/whiteboard.cpp +++ b/whiteboard.cpp @@ -26,8 +26,9 @@ #include <ImageMagick-6/Magick++.h> +#include "libreichwein/file.h" + #include "config.h" -#include "file.h" #include "qrcode.h" #include "storage.h" |