On Fri, 2020-05-15 at 22:37 +0200, Martin Wilck wrote: > On Thu, 2020-05-14 at 20:59 -0500, Benjamin Marzinski wrote: > > Signed-off-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> > > Two minor nits below, otherwise ack. > > > --- > > tests/Makefile | 4 +- > > tests/valid.c | 424 > > +++++++++++++++++++++++++++++++++++++++++++++++++ > > 2 files changed, 427 insertions(+), 1 deletion(-) > > create mode 100644 tests/valid.c > > > > diff --git a/tests/Makefile b/tests/Makefile > > index 1b8706a7..125553b8 100644 > > --- a/tests/Makefile > > +++ b/tests/Makefile > > @@ -13,7 +13,7 @@ CFLAGS += $(BIN_CFLAGS) -I$(multipathdir) > > -I$(mpathcmddir) \ > > LIBDEPS += -L$(multipathdir) -L$(mpathcmddir) -lmultipath > > -lmpathcmd > > -lcmocka > > > > TESTS := uevent parser util dmevents hwtable blacklist unaligned > > vpd > > pgpolicy \ > > - alias directio > > + alias directio valid > > > > .SILENT: $(TESTS:%=%.o) > > .PRECIOUS: $(TESTS:%=%-test) > > @@ -50,6 +50,8 @@ vpd-test_OBJDEPS := ../libmultipath/discovery.o > > vpd-test_LIBDEPS := -ludev -lpthread -ldl > > alias-test_TESTDEPS := test-log.o > > alias-test_LIBDEPS := -lpthread -ldl > > +valid-test_OBJDEPS := ../libmultipath/valid.o > > +valid-test_LIBDEPS := -ludev -lpthread -ldl > > ifneq ($(DIO_TEST_DEV),) > > directio-test_LIBDEPS := -laio > > endif > > diff --git a/tests/valid.c b/tests/valid.c > > new file mode 100644 > > index 00000000..b128b029 > > --- /dev/null > > +++ b/tests/valid.c > > @@ -0,0 +1,424 @@ > > +/* > > + * Copyright (c) 2020 Benjamin Marzinski, Redhat > > + * > > + * 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 2 > > + * 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 < > > https://www.gnu.org/licenses/>;;. > > + * > > + */ > > + > > +#define _GNU_SOURCE > > +#include <stdint.h> > > +#include <stdbool.h> > > +#include <stdarg.h> > > +#include <stddef.h> > > +#include <setjmp.h> > > +#include <stdlib.h> > > +#include <errno.h> > > +#include <cmocka.h> > > +#include "globals.c" > > +#include "util.h" > > +#include "discovery.h" > > +#include "wwids.h" > > +#include "valid.h" > > + > > +int test_fd; > > +struct udev_device { > > + int unused; > > +} test_udev; > > + > > +bool __wrap_sysfs_is_multipathed(struct path *pp, bool set_wwid) > > +{ > > + bool is_multipathed = mock_type(bool); > > + assert_non_null(pp); One general remark, just occured to me as I was looking at cmocka for a different project: Perhaps we should rather use cmockas's check_expected() functionality for testing parameter validity than the assert...() macros. We haven't done this consequently so far, but we could try to improve. Regards Martin -- Dr. Martin Wilck <mwilck@xxxxxxxx>, Tel. +49 (0)911 74053 2107 SUSE Software Solutions Germany GmbH HRB 36809, AG Nürnberg GF: Felix Imendörffer -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel