Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 25 Oct 2016 08:59:37 -0600
From:      Alan Somers <asomers@freebsd.org>
To:        Prasan <gc.prasan@gmail.com>
Cc:        "freebsd-testing@freebsd.org" <freebsd-testing@freebsd.org>
Subject:   Re: Issue while testing freebsd Suite for ZFS.
Message-ID:  <CAOtMX2hKtveybg3n2B8rG0bsy3RMjmLC18UASSQrYuucq-FBOQ@mail.gmail.com>
In-Reply-To: <CAKH4ZVoD6Koj24e=HCupPiVAysVh-woZ08VtP-soO3KT0sgqgA@mail.gmail.com>
References:  <CAKH4ZVoD6Koj24e=HCupPiVAysVh-woZ08VtP-soO3KT0sgqgA@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Tue, Oct 25, 2016 at 4:38 AM, Prasan <gc.prasan@gmail.com> wrote:
> We have a stripped version on freebsd for our NAS appliance. We are in the
> process of porting our NAS appliance to freeBSD 10.3 from current freeBSD
> 8.0. Since I was not able to compile on the NAS machine. Tried the below
> things to compile on the build server machine and copy the binaries to NAS
> appliance.
>
> Copied the source into home directory in porridge "/usr/home/pkumar/zfsd/"
>
> [pkumar@porridge /home/pkumar]$ svnlite co
> https://svn.freebsd.org/base/projects/zfsd zfsd/


In general, you can expect a lot of rough edges trying to pull stuff
in from project branches.  It is not for the faint of heart.  If all
you want is zfsd, then you may be better served by porting your
appliance to FreeBSD 11.0, which has zfsd (but not the ZFS test
suite).  Also, note that the zfsd branch is branched from CURRENT, not
stable/10.  Some stuff may not work on stable/10 out of the box, for
example Makefile variables.


>
>
> [pkumar@porridge ~/zfsd/head/tests/sys/cddl/zfs/tests]$ sudo make all
> install
> ===> acl (all)
> ===> acl/cifs (all)
> ===> acl/trivial (all)
> ===> acl/nontrivial (all)
> ===> atime (all)
> ===> bootfs (all)
> ===> cache (all)
> ===> cachefile (all)
> ===> clean_mirror (all)
> ===> clean_mirror/assertion_001 (all)
> ===> clean_mirror/assertion_002 (all)
> ===> clean_mirror/assertion_003 (all)
> ===> clean_mirror/assertion_004 (all)
> ===> cli_root (all)
> ===> cli_root/zdb (all)
> ===> cli_root/zfs (all)
> ===> cli_root/zfs_clone (all)
> ===> cli_root/zfs_copies (all)
> ..
> ..
> ===> zvol/zvol_swap (all)
> ===> zvol/zvol_misc (all)
> ===> zvol/zvol_cli (all)
> ===> zvol_thrash (all)
> install  -o root  -g wheel -m 444  Kyuafile
>  /usr/tests/sys/cddl/zfs/tests/Kyuafile
> ===> acl (install)
> install  -o root  -g wheel -m 444  Kyuafile
>  /usr/tests/sys/cddl/zfs/tests/acl/Kyuafile
> install  -o root -g wheel  -m 444
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/acl/acl.cfg
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/acl/acl_common.kshlib
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/acl/cleanup.ksh
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/acl/setup.ksh
> /usr/tests/sys/cddl/zfs/tests/acl/
> ===> acl/cifs (install)
> install  -o root  -g wheel -m 555  cifs_test
>  /usr/tests/sys/cddl/zfs/tests/acl/cifs/cifs_test
> install  -o root  -g wheel -m 444  Kyuafile
>  /usr/tests/sys/cddl/zfs/tests/acl/cifs/Kyuafile
> install  -o root -g wheel  -m 444
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/acl/cifs/cifs.kshlib
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/acl/cifs/cifs_attr_001_pos.ksh
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/acl/cifs/cifs_attr_002_pos.ksh
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/acl/cifs/cifs_attr_003_pos.ksh
> /usr/tests/sys/cddl/zfs/tests/acl/cifs/
> ===> acl/trivial (install)
> install  -o root  -g wheel -m 555  trivial_test
>  /usr/tests/sys/cddl/zfs/tests/acl/trivial/trivial_test
> install  -o root  -g wheel -m 444  Kyuafile
>  /usr/tests/sys/cddl/zfs/tests/acl/trivial/Kyuafile
> ..
> ..
> vol_cli.cfg
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/zvol/zvol_cli/cleanup.ksh
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/zvol/zvol_cli/zvol_cli_001_pos.ksh
> /usr/tests/sys/cddl/zfs/tests/zvol/zvol_cli/
> ===> zvol_thrash (install)
> install  -o root  -g wheel -m 555  zvol_thrash_test
>  /usr/tests/sys/cddl/zfs/tests/zvol_thrash/zvol_thrash_test
> install  -o root  -g wheel -m 444  Kyuafile
>  /usr/tests/sys/cddl/zfs/tests/zvol_thrash/Kyuafile
> install  -o root -g wheel  -m 444
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/zvol_thrash/setup.ksh
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/zvol_thrash/cleanup.ksh
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/zvol_thrash/zvol_thrash.cfg
> /usr/home/pkumar/zfsd/head/tests/sys/cddl/zfs/tests/zvol_thrash/zvol_thrash_001_pos.ksh
> /usr/tests/sys/cddl/zfs/tests/zvol_thrash/
> [pkumar@porridge ~/zfsd/head/tests/sys/cddl/zfs/tests]$
> ----------------------------------------------------------------------------------------------------------------
>
> Could see that the binaries are getting installed into the directory
> "/usr/tests/sys/cddl/zfs/tests/". Which is the default execution path for
> the tests.
>
> So, on NAS machine too, created a path "/usr/tests/" and copied all the
> files and test binaries into it.
> ---------------
> [pkumar@porridge ~/zfsd/head/tests/sys/cddl/zfs/tests]$ sudo scp -r
> /usr/tests/* support@NAS-box:/usr/tests/
> ---------------
>
> cc128# cd /usr/tests/
> cc128# ls
> Kyuafile                Makefile.depend         etc                     sys
> Makefile                README                  freebsd_test_suite
> cc128#
> cc128#
> cc128# kyua list
> kyua: E: Load of 'Kyuafile' failed: Failed to load Lua file 'Kyuafile':
> Kyuafile:49: Load of 'sys/Kyuafile' failed: Failed to load Lua file
> 'sys/Kyuafile': sys/Kyuafile:8: Load of 'sys/aio/Kyuafile' failed: File
> 'sys/aio/Kyuafile' not found.

This is a problem with your 10.3 install, not the zfsd branch.  That
file should exist in 10.3.

> cc128#
> cc128# kyua test -k sys/cddl/zfs/tests/mv_files/Kyuafile
> mv_files_test:__test_cases_list__  ->    [0.002s]

You need to install atf-ksh93.  In the zfsd project branch, cd to
libexec/atf/atf-ksh93/ and do make; make install;

>
> Results file id is
> usr_tests_sys_cddl_zfs_tests_mv_files.20161025-100924-886426
> Results saved to
> /usr/home/support/.kyua/store/results.usr_tests_sys_cddl_zfs_tests_mv_files.20161025-100924-886426.db
>
> 0/1 passed (1 failed)
> cc128#
> ---------------------------------
>
> The error is "broken: Cannot find test program" but, when we check the
> "Kyuafile" in path for "mv_files", it has the program "mv_files_test". The
> program file too exists in the path.
>
>
> cc128# cat sys/cddl/zfs/tests/mv_files/Kyuafile
> -- Automatically generated by bsd.test.mk.
>
> syntax(2)
>
> test_suite("FreeBSD")
>
> atf_test_program{name="mv_files_test", }
> cc128#
> cc128#
> cc128# cd sys/cddl/zfs/tests/mv_files/
> cc128# pwd
> /usr/tests/sys/cddl/zfs/tests/mv_files
> cc128#
> cc128# ls
> Kyuafile                mv_files.cfg            mv_files_common.kshlib
>  setup.ksh
> Makefile                mv_files_001_pos.ksh    mv_files_test
> cleanup.ksh             mv_files_002_pos.ksh    mv_files_test.sh
> cc128#
>
> --------------------------------------------------------
>
> When tried to list the tests in the path (i.e., in the Kyuafile in the
> directory), it doesn't list the test cases, which are 'mv_files_001_pos'
> and 'mv_files_002_pos' for test program in this path.
>
> cc128# pwd
> /usr/tests/sys/cddl/zfs/tests/mv_files
> cc128#
> cc128# kyua list
> mv_files_test:__test_cases_list__
> cc128#
>
> -----------------------------------------
>
> This looks like an integration issue. Not sure about how to resolve it.
>
> When I move to a upper directory and try to compile, it fails with below
> errors,
> ------------------------------------------------
> [pkumar@porridge ~/zfsd/head/tests/sys]$ pwd
> /usr/home/pkumar/zfsd/head/tests/sys
> [pkumar@porridge ~/zfsd/head/tests/sys]$
>
> [pkumar@porridge ~/zfsd/head/tests/sys]$ sudo make all install
> ===> pjdfstest (all)
> ===> pjdfstest/pjdfstest (all)
> ===> pjdfstest/tests (all)
> ===> pjdfstest/tests/chflags (all)
> ===> pjdfstest/tests/chmod (all)
> ===> pjdfstest/tests/chown (all)
> ===> pjdfstest/tests/ftruncate (all)
> ===> pjdfstest/tests/granular (all)
> ===> pjdfstest/tests/link (all)
> ===> pjdfstest/tests/mkdir (all)
> ===> pjdfstest/tests/mkfifo (all)
> ===> pjdfstest/tests/mknod (all)
> ===> pjdfstest/tests/open (all)
> ===> pjdfstest/tests/rename (all)
> ===> pjdfstest/tests/rmdir (all)
> ===> pjdfstest/tests/symlink (all)
> ===> pjdfstest/tests/truncate (all)
> ===> pjdfstest/tests/unlink (all)
> ===> acl (all)
> ===> aio (all)
> (cd /usr/home/pkumar/zfsd/head/tests/sys/aio &&
>  DEPENDFILE=.depend.aio_test  NO_SUBDIR=1 make -f
> /usr/home/pkumar/zfsd/head/tests/sys/aio/Makefile _RECURSING_PROGS=t
>  PROG=aio_test )
> cc -O2 -pipe -I/usr/home/pkumar/zfsd/head/tests   -g -MD -MP
> -MF.depend.aio_test.aio_test.o -MTaio_test.o -std=gnu99 -fstack-protector
> -Wsystem-headers -Werror -Wall -Wno-format-y2k -W -Wno-unused-parameter
> -Wstrict-prototypes -Wmissing-prototypes -Wpointer-arith -Wreturn-type
> -Wcast-qual -Wwrite-strings -Wswitch -Wshadow -Wunused-parameter
> -Wcast-align -Wchar-subscripts -Winline -Wnested-externs -Wredundant-decls
> -Wold-style-definition -Wno-pointer-sign -Wmissing-variable-declarations
> -Wthread-safety -Wno-empty-body -Wno-string-plus-int
> -Wno-unused-const-variable  -Qunused-arguments  -c
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c -o aio_test.o
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:106:2: error: implicit
> declaration of function 'ATF_REQUIRE_MSG'
>       is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>         ATF_REQUIRE_MSG(signal(SIGALRM, aio_timeout_signal) != SIG_ERR,
>         ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:210:2: error: implicit
> declaration of function 'atf_tc_skip' is
>       invalid in C99 [-Werror,-Wimplicit-function-declaration]
>         ATF_REQUIRE_KERNEL_MODULE("aio");
>         ^
> /usr/home/pkumar/zfsd/head/tests/freebsd_test_suite/macros.h:50:3: note:
> expanded from macro
>       'ATF_REQUIRE_KERNEL_MODULE'
>                 atf_tc_skip("module %s could not be resolved: %s",      \
>                 ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:224:5: error: implicit
> declaration of function 'atf_tc_fail' is
>       invalid in C99 [-Werror,-Wimplicit-function-declaration]
>                                 atf_tc_fail("aio_write timed out");
>                                 ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:224:5: note: did you
> mean 'atf_tc_skip'?
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:210:2: note:
> 'atf_tc_skip' declared here
>         ATF_REQUIRE_KERNEL_MODULE("aio");
>         ^
> /usr/home/pkumar/zfsd/head/tests/freebsd_test_suite/macros.h:50:3: note:
> expanded from macro
>       'ATF_REQUIRE_KERNEL_MODULE'
>                 atf_tc_skip("module %s could not be resolved: %s",      \
>                 ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:337:1: error: type
> specifier missing, defaults to 'int'
>       [-Werror,-Wimplicit-int]
> ATF_TC_WITHOUT_HEAD(aio_file_test);
> ^~~~~~~~~~~~~~~~~~~
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:337:21: error: a
> parameter list without types is only allowed in
>       a function definition
> ATF_TC_WITHOUT_HEAD(aio_file_test);
>                     ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:338:1: error: type
> specifier missing, defaults to 'int'
>       [-Werror,-Wimplicit-int]
> ATF_TC_BODY(aio_file_test, tc)
> ^~~~~~~~~~~
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:338:1: error: no
> previous prototype for function 'ATF_TC_BODY'
>       [-Werror,-Wmissing-prototypes]
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:346:2: error: implicit
> declaration of function 'atf_libc_error'
>       is invalid in C99 [-Werror,-Wimplicit-function-declaration]
>         ATF_REQUIRE_UNSAFE_AIO();
>         ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/local.h:50:4: note: expanded from
> macro 'ATF_REQUIRE_UNSAFE_AIO'
>                         atf_libc_error(errno,                           \
>                         ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:338:13: error: unused
> parameter 'aio_file_test'
>       [-Werror,-Wunused-parameter]
> ATF_TC_BODY(aio_file_test, tc)
>             ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:338:28: error: unused
> parameter 'tc' [-Werror,-Wunused-parameter]
> ATF_TC_BODY(aio_file_test, tc)
>                            ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:384:1: error: type
> specifier missing, defaults to 'int'
>       [-Werror,-Wimplicit-int]
> ATF_TC_WITHOUT_HEAD(aio_fifo_test);
> ^~~~~~~~~~~~~~~~~~~
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:384:21: error: a
> parameter list without types is only allowed in
>       a function definition
> ATF_TC_WITHOUT_HEAD(aio_fifo_test);
>                     ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:385:1: error: type
> specifier missing, defaults to 'int'
>       [-Werror,-Wimplicit-int]
> ATF_TC_BODY(aio_fifo_test, tc)
> ^~~~~~~~~~~
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:385:1: error:
> redefinition of 'ATF_TC_BODY'
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:338:1: note: previous
> definition is here
> ATF_TC_BODY(aio_file_test, tc)
> ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:455:1: error: type
> specifier missing, defaults to 'int'
>       [-Werror,-Wimplicit-int]
> ATF_TC_WITHOUT_HEAD(aio_unix_socketpair_test);
> ^~~~~~~~~~~~~~~~~~~
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:455:21: error: a
> parameter list without types is only allowed in
>       a function definition
> ATF_TC_WITHOUT_HEAD(aio_unix_socketpair_test);
>                     ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:456:1: error: type
> specifier missing, defaults to 'int'
>       [-Werror,-Wimplicit-int]
> ATF_TC_BODY(aio_unix_socketpair_test, tc)
> ^~~~~~~~~~~
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:478:2: error: implicit
> declaration of function 'ATF_REQUIRE' is
>       invalid in C99 [-Werror,-Wimplicit-function-declaration]
>         ATF_REQUIRE(ru_after.ru_msgsnd == ru_before.ru_msgsnd + 1);
>         ^
> /usr/home/pkumar/zfsd/head/tests/sys/aio/aio_test.c:505:1: error: type
> specifier missing, defaults to 'int'
>       [-Werror,-Wimplicit-int]
> ATF_TC_WITHOUT_HEAD(aio_pty_test);
> ^~~~~~~~~~~~~~~~~~~
> fatal error: too many errors emitted, stopping now [-ferror-limit=]
> 20 errors generated.
> *** Error code 1
>
> Stop.
> make[2]: stopped in /usr/home/pkumar/zfsd/head/tests/sys/aio
> *** Error code 1
>
> Stop.
> make[1]: stopped in /usr/home/pkumar/zfsd/head/tests/sys/aio
> *** Error code 1
>
> Stop.
> make: stopped in /usr/home/pkumar/zfsd/head/tests/sys
> [pkumar@porridge ~/zfsd/head/tests/sys]$
> ---------------------------------------------------------------------------------------------------

You're trying to compile CURRENT code on a stable/10 machine.  This is
not guaranteed to work.  But that directory _does_ exist in
10.3-RELEASE.  Did you install the tests.txz release set when you
installed that machine?

>
> Can someone please help me out. I find very less documentation regarding
> the test suite.
>
> Thanks,
> --Prasanna



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2hKtveybg3n2B8rG0bsy3RMjmLC18UASSQrYuucq-FBOQ>