"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "libgnucash/core-utils/test/gtest-path-utilities.cpp" between
gnucash-5.0.tar.bz2 and gnucash-5.1.tar.bz2

About: GnuCash is personal and small-business financial-accounting software.

gtest-path-utilities.cpp  (gnucash-5.0.tar.bz2):gtest-path-utilities.cpp  (gnucash-5.1.tar.bz2)
#include <glib.h> #include <glib.h>
#include <config.h> #include <config.h>
#include <gncla-dir.h> #include <gncla-dir.h>
#include <gnc-path.h> #include <gnc-path.h>
#include <binreloc.h> #include <binreloc.h>
#include <gnc-filepath-utils.h> #include <gnc-filepath-utils.h>
#include <gtest/gtest.h> #include <gtest/gtest.h>
/* Variant of EXPECT_STREQ that calls g_free()
* on its first argument after the check */
#define EXPECT_STREQ_GFREE(a, b) do { char *p_; EXPECT_STREQ(p_ = (a), (b)); g_f
ree(p_); } while (0)
struct PathTest : public testing::Test struct PathTest : public testing::Test
{ {
PathTest() : m_prefix{nullptr} {} PathTest() : m_prefix{nullptr} {}
void SetUp() void SetUp()
{ {
#ifdef ENABLE_BINRELOC #ifdef ENABLE_BINRELOC
gnc_gbr_init(nullptr); gnc_gbr_init(nullptr);
#endif #endif
char *builddir = g_strdup(g_getenv("GNC_BUILDDIR")); char *builddir = g_strdup(g_getenv("GNC_BUILDDIR"));
if (builddir) if (builddir)
m_prefix = builddir; m_prefix = builddir;
else else
m_prefix = g_get_current_dir(); m_prefix = g_get_current_dir();
} }
void TearDown() void TearDown()
{ {
if (m_prefix) if (m_prefix)
g_free(m_prefix); g_free(m_prefix);
/* Clear the statically allocated exe string */
gnc_gbr_set_exe(NULL);
} }
char *m_prefix; char *m_prefix;
}; };
TEST_F(PathTest, gnc_path_get_prefix) TEST_F(PathTest, gnc_path_get_prefix)
{ {
#ifdef ENABLE_BINRELOC #ifdef ENABLE_BINRELOC
EXPECT_STREQ(gnc_path_get_prefix(), m_prefix); EXPECT_STREQ_GFREE(gnc_path_get_prefix(), m_prefix);
#else #else
g_setenv("GNC_UNINSTALLED", "1", TRUE); g_setenv("GNC_UNINSTALLED", "1", TRUE);
g_setenv("GNC_BUILDDIR", m_prefix, 1); g_setenv("GNC_BUILDDIR", m_prefix, 1);
EXPECT_STREQ(gnc_path_get_prefix(), m_prefix); EXPECT_STREQ_GFREE(gnc_path_get_prefix(), m_prefix);
g_unsetenv("GNC_UNINSTALLED"); g_unsetenv("GNC_UNINSTALLED");
g_unsetenv("GNC_BUILDDIR"); g_unsetenv("GNC_BUILDDIR");
EXPECT_STREQ(gnc_path_get_prefix(), PREFIX); EXPECT_STREQ_GFREE(gnc_path_get_prefix(), PREFIX);
#endif #endif
} }
TEST_F(PathTest, gnc_path_get_bindir) TEST_F(PathTest, gnc_path_get_bindir)
{ {
gchar *dirname = gnc_file_path_relative_part(PREFIX, BINDIR); gchar *dirname = gnc_file_path_relative_part(PREFIX, BINDIR);
gchar *binpath = g_build_filename(m_prefix, dirname, NULL); gchar *binpath = g_build_filename(m_prefix, dirname, NULL);
g_free(dirname); g_free(dirname);
#ifdef ENABLE_BINRELOC #ifdef ENABLE_BINRELOC
EXPECT_STREQ(gnc_path_get_bindir(), binpath); EXPECT_STREQ_GFREE(gnc_path_get_bindir(), binpath);
g_free(binpath); g_free(binpath);
#else #else
g_setenv("GNC_UNINSTALLED", "1", TRUE); g_setenv("GNC_UNINSTALLED", "1", TRUE);
g_setenv("GNC_BUILDDIR", m_prefix, 1); g_setenv("GNC_BUILDDIR", m_prefix, 1);
EXPECT_STREQ(gnc_path_get_bindir(), binpath); EXPECT_STREQ_GFREE(gnc_path_get_bindir(), binpath);
g_free(binpath); g_free(binpath);
g_unsetenv("GNC_UNINSTALLED"); g_unsetenv("GNC_UNINSTALLED");
g_unsetenv("GNC_BUILDDIR"); g_unsetenv("GNC_BUILDDIR");
EXPECT_STREQ(gnc_path_get_bindir(), BINDIR); EXPECT_STREQ_GFREE(gnc_path_get_bindir(), BINDIR);
#endif #endif
} }
TEST_F(PathTest, gnc_path_get_libdir) TEST_F(PathTest, gnc_path_get_libdir)
{ {
gchar *dirname = gnc_file_path_relative_part(PREFIX, LIBDIR); gchar *dirname = gnc_file_path_relative_part(PREFIX, LIBDIR);
gchar *libpath = g_build_filename(m_prefix, dirname, NULL); gchar *libpath = g_build_filename(m_prefix, dirname, NULL);
g_free(dirname); g_free(dirname);
#ifdef ENABLE_BINRELOC #ifdef ENABLE_BINRELOC
EXPECT_STREQ(gnc_path_get_libdir(), libpath); EXPECT_STREQ_GFREE(gnc_path_get_libdir(), libpath);
g_free(libpath); g_free(libpath);
#else #else
g_setenv("GNC_UNINSTALLED", "1", TRUE); g_setenv("GNC_UNINSTALLED", "1", TRUE);
g_setenv("GNC_BUILDDIR", m_prefix, 1); g_setenv("GNC_BUILDDIR", m_prefix, 1);
EXPECT_STREQ(gnc_path_get_libdir(), libpath); EXPECT_STREQ_GFREE(gnc_path_get_libdir(), libpath);
g_free(libpath); g_free(libpath);
g_unsetenv("GNC_UNINSTALLED"); g_unsetenv("GNC_UNINSTALLED");
g_unsetenv("GNC_BUILDDIR"); g_unsetenv("GNC_BUILDDIR");
EXPECT_STREQ(gnc_path_get_libdir(), LIBDIR); EXPECT_STREQ_GFREE(gnc_path_get_libdir(), LIBDIR);
#endif #endif
} }
TEST_F(PathTest, gnc_path_get_datadir) TEST_F(PathTest, gnc_path_get_datadir)
{ {
gchar *dirname = gnc_file_path_relative_part(PREFIX, DATADIR); gchar *dirname = gnc_file_path_relative_part(PREFIX, DATADIR);
gchar *datapath = g_build_filename(m_prefix, dirname, NULL); gchar *datapath = g_build_filename(m_prefix, dirname, NULL);
g_free(dirname); g_free(dirname);
#ifdef ENABLE_BINRELOC #ifdef ENABLE_BINRELOC
EXPECT_STREQ(gnc_path_get_datadir(), datapath); EXPECT_STREQ_GFREE(gnc_path_get_datadir(), datapath);
g_free(datapath); g_free(datapath);
#else #else
g_setenv("GNC_UNINSTALLED", "1", TRUE); g_setenv("GNC_UNINSTALLED", "1", TRUE);
g_setenv("GNC_BUILDDIR", m_prefix, 1); g_setenv("GNC_BUILDDIR", m_prefix, 1);
EXPECT_STREQ(gnc_path_get_datadir(), datapath); EXPECT_STREQ_GFREE(gnc_path_get_datadir(), datapath);
g_free(datapath); g_free(datapath);
g_unsetenv("GNC_UNINSTALLED"); g_unsetenv("GNC_UNINSTALLED");
g_unsetenv("GNC_BUILDDIR"); g_unsetenv("GNC_BUILDDIR");
EXPECT_STREQ(gnc_path_get_datadir(), DATADIR); EXPECT_STREQ_GFREE(gnc_path_get_datadir(), DATADIR);
#endif #endif
} }
TEST_F(PathTest, gnc_path_get_sysconfdir) TEST_F(PathTest, gnc_path_get_sysconfdir)
{ {
gchar *dirname = gnc_file_path_relative_part(PREFIX, SYSCONFDIR); gchar *dirname = gnc_file_path_relative_part(PREFIX, SYSCONFDIR);
gchar *sysconfpath = g_build_filename(m_prefix, dirname, PROJECT_NAME, NULL) ; gchar *sysconfpath = g_build_filename(m_prefix, dirname, PROJECT_NAME, NULL) ;
g_free(dirname); g_free(dirname);
#ifdef ENABLE_BINRELOC #ifdef ENABLE_BINRELOC
EXPECT_STREQ(gnc_path_get_pkgsysconfdir(), sysconfpath); EXPECT_STREQ_GFREE(gnc_path_get_pkgsysconfdir(), sysconfpath);
g_free(sysconfpath); g_free(sysconfpath);
#else #else
g_setenv("GNC_UNINSTALLED", "1", TRUE); g_setenv("GNC_UNINSTALLED", "1", TRUE);
g_setenv("GNC_BUILDDIR", m_prefix, 1); g_setenv("GNC_BUILDDIR", m_prefix, 1);
EXPECT_STREQ(gnc_path_get_pkgsysconfdir(), sysconfpath); EXPECT_STREQ_GFREE(gnc_path_get_pkgsysconfdir(), sysconfpath);
g_free(sysconfpath); g_free(sysconfpath);
g_unsetenv("GNC_UNINSTALLED"); g_unsetenv("GNC_UNINSTALLED");
g_unsetenv("GNC_BUILDDIR"); g_unsetenv("GNC_BUILDDIR");
sysconfpath = g_build_filename(SYSCONFDIR, PROJECT_NAME, NULL); sysconfpath = g_build_filename(SYSCONFDIR, PROJECT_NAME, NULL);
EXPECT_STREQ(gnc_path_get_pkgsysconfdir(), sysconfpath); EXPECT_STREQ_GFREE(gnc_path_get_pkgsysconfdir(), sysconfpath);
g_free(sysconfpath); g_free(sysconfpath);
#endif #endif
} }
TEST_F (PathTest, gnc_filename_is_backup)
{
EXPECT_EQ (gnc_filename_is_backup (""), false);
EXPECT_EQ (gnc_filename_is_backup ("a.gnucash"), false);
EXPECT_EQ (gnc_filename_is_backup ("a.gnucash.20201131010203.gnucash"), true
);
EXPECT_EQ (gnc_filename_is_datafile (""), false);
EXPECT_EQ (gnc_filename_is_datafile ("a.gnucash"), true);
EXPECT_EQ (gnc_filename_is_datafile ("a.gnucash.20201131010203.gnucash"), fa
lse);
}
 End of changes. 18 change blocks. 
15 lines changed or deleted 22 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)