Radish alpha
H
rad:z3QDZAW2FAfuLvihrhiyDC9fAD8G9
HardenedBSD Package Manager
Radicle
Git
metalog: add more tests
Baptiste Daroussin committed 4 years ago
commit 21ae469d29c1b670a63cc773852b545d4dc9e668
parent 77af4a9
3 files changed +16 -7
modified libpkg/metalog.c
@@ -44,15 +44,15 @@ metalog_open(const char *metalog)
	return EPKG_OK;
}

-
void
+
int
metalog_add(int type, const char *path, const char *uname, const char *gname,
    int mode, unsigned long fflags, const char *link)
{
	char *fflags_buffer = NULL;
+
	int ret = EPKG_FATAL;

-
	if (metalogfp == NULL) {
-
		return;
-
	}
+
	if (metalogfp == NULL)
+
		goto out;

#ifdef HAVE_FFLAGSTOSTR
	if (fflags) {
@@ -69,6 +69,7 @@ metalog_add(int type, const char *path, const char *uname, const char *gname,
		    fflags ? " flags=" : "",
		    fflags_buffer ? fflags_buffer : "") < 0) {
			pkg_errno("%s", "Unable to write to the metalog");
+
			goto out;
		}
		break;
	case PKG_METALOG_FILE:
@@ -78,6 +79,7 @@ metalog_add(int type, const char *path, const char *uname, const char *gname,
		    fflags ? " flags=" : "",
		    fflags_buffer ? fflags_buffer : "") < 0) {
			pkg_errno("%s", "Unable to write to the metalog");
+
			goto out;
		}
		break;
	case PKG_METALOG_LINK:
@@ -87,11 +89,15 @@ metalog_add(int type, const char *path, const char *uname, const char *gname,
		    fflags ? " flags=" : "",
		    fflags_buffer ? fflags_buffer : "") < 0) {
			pkg_errno("%s", "Unable to write to the metalog");
+
			goto out;
		}
		break;
	}
+
	ret = EPKG_OK;

+
out:
	free(fflags_buffer);
+
	return (ret);
}

void
modified libpkg/private/pkg.h
@@ -805,7 +805,7 @@ int pkg_lua_script_from_ucl(struct pkg *pkg, const ucl_object_t *obj, pkg_lua_sc
char* pkg_message_to_str(struct pkg *pkg);

int metalog_open(const char *metalog);
-
void metalog_add(int type, const char *path, const char *uname,
+
int metalog_add(int type, const char *path, const char *uname,
    const char *gname, int mode, unsigned long fflags, const char *link);
void metalog_close();
enum pkg_metalog_type {
modified tests/Makefile.autosetup
@@ -11,7 +11,8 @@ TESTS= \
	plist \
	lua \
	ssh \
-
	utils
+
	utils \
+
	metalog

TESTS_SH= \
	frontend/pkg.sh \
@@ -75,6 +76,7 @@ pkg_validation_OBJS= lib/pkg_validation.o
packing_OBJS=	lib/packing.o
ssh_OBJS=	lib/ssh.o
utils_OBJS=	lib/utils.o
+
metalog_OBJS=	lib/metalog.o

SRCS=	\
	$(packing_OBJS:.o=.c) \
@@ -87,7 +89,8 @@ SRCS= \
	$(pkg_add_dir_to_del_OBJS:.o=.c) \
	$(pkg_validation_OBJS:.o=.c) \
	$(ssh_OBJS:.o=.c) \
-
	$(utils_OBJS:.o=.c)
+
	$(utils_OBJS:.o=.c) \
+
	$(metalog_OBJS:.o=.c)

include $(MK)/common.mk