[libvirt] [PATCH v4 7/8] nss: Introduce a test

Martin Kletzander mkletzan at redhat.com
Tue Mar 8 15:09:40 UTC 2016


On Thu, Mar 03, 2016 at 06:11:45PM +0100, Michal Privoznik wrote:
>A small test to see how is the nss module working.
>
>Signed-off-by: Michal Privoznik <mprivozn at redhat.com>
>---
> cfg.mk                      |   2 +-
> tests/Makefile.am           |  18 ++++
> tests/nssdata/virbr0.status |  20 +++++
> tests/nssdata/virbr1.status |  14 ++++
> tests/nssmock.c             | 140 +++++++++++++++++++++++++++++++
> tests/nsstest.c             | 195 ++++++++++++++++++++++++++++++++++++++++++++
> 6 files changed, 388 insertions(+), 1 deletion(-)
> create mode 100644 tests/nssdata/virbr0.status
> create mode 100644 tests/nssdata/virbr1.status
> create mode 100644 tests/nssmock.c
> create mode 100644 tests/nsstest.c
>
>+int
>+open(const char *path, int flags, ...)
>+{
>+    int ret;
>+    char *newpath = NULL;
>+
>+    init_syms();
>+
>+    if (STRPREFIX(path, LEASEDIR) &&

No need to prefix it since getrealpath() does that.  Call it
unconditionally and then...

>+        getrealpath(&newpath, path) < 0)
>+        return -1;
>+
>+    if (flags & O_CREAT) {
>+        va_list ap;
>+        mode_t mode;
>+        va_start(ap, flags);
>+        mode = va_arg(ap, mode_t);
>+        va_end(ap);
>+        ret = realopen(newpath ? newpath : path, flags, mode);

you don't need to do this ternary stuff here.

[...]
>+    if (data->ipAddr[i]) {
>+        virReportError(VIR_ERR_INTERNAL_ERROR,
>+                       "Address mismatch. Expected %s got nothing",
>+                       data->ipAddr[i]);
>+        goto cleanup;
>+    }

We could get more info out of this more easily if those ERROR and DEBUG
macros in PATCH 5/8 were defined and used based on environment
variable.  I know it's a bit slower, but if you build --with-debug or
something like that, I think it might be useful.

Otherwise this and all patches I did not reply too look fine (apart from
all the unnecessary arithmetic, but I already said that, didn't I).

Martin
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160308/038cb9ee/attachment-0001.sig>


More information about the libvir-list mailing list