Date: Tue, 26 Aug 2014 15:43:19 -0600 From: Alan Somers <asomers@freebsd.org> To: Garrett Cooper <yaneurabeya@gmail.com> Cc: Johan Hendriks <joh.hendriks@gmail.com>, Julio Merino <jmmv@freebsd.org>, FreeBSD CURRENT <freebsd-current@freebsd.org>, Alan Somers <asomers@freebsd.org> Subject: Re: FreeBSD 10 and zfsd Message-ID: <CAOtMX2hJYy7zbEVb7WDAqiOE6g7F_2MLHR9-OsNZFP__E16caQ@mail.gmail.com> In-Reply-To: <CAGHfRMD93Z2PArmnNggD3wseA=uimoKAV%2BdHKEL4NkB6G9p3DA@mail.gmail.com> References: <5256B761.4050301@gmail.com> <CAOtMX2i5hxdp8=4sHQgu2MOjpv9jqd6D7LV-a8y7S6cuCBgYuw@mail.gmail.com> <1381421583.19140.32451849.084D8E32@webmail.messagingengine.com> <5256E2D5.4060101@allanjude.com> <CAOtMX2hRDCFzmyi2s76j=0AufqAab_UzVi73dBR9t_AsZ6n6=g@mail.gmail.com> <1387388390.28188.61199633.413D38F8@webmail.messagingengine.com> <CAKYr3zw_K242JyxURJ-sJHs7YZz2L99LtJtgX0O6ofDzXq=Cwg@mail.gmail.com> <CAOtMX2juAfiRg4mMSrdKyYmY8Lh3rKu5ArrSW%2BQ_1OKmEWURxg@mail.gmail.com> <CAKYr3zzLSYqZxJ4tgnzdD63dAmfagA-PqVeRPuNPuM7X6f0wEQ@mail.gmail.com> <CAOtMX2jqC0EpWKrUH6kFyq8mdECUUTs1xtTkvKyUwAqP5koQXg@mail.gmail.com> <CAKYr3zxsNs82g0ph=G7YuRYMZKYhWnrv8vFF=dKKDjUVt2zxqQ@mail.gmail.com> <CAOtMX2hbaUJoYaNMSRTdLNKtioc5Wb4hbcXnZ16th_ATUf0c1w@mail.gmail.com> <BB2F8712-2A1E-40AC-82CF-F61F8023405B@FreeBSD.org> <CAOtMX2g2bc0xBBr6w-eoq7pAqnrhCmQsRj81f2ZAB%2Bp1SKL=nQ@mail.gmail.com> <53A7CE1B.7090400@gmail.com> <CAOtMX2jshon9w37PxcwhH94fd0v7UPbXRdch0iuzOtba3PBPZQ@mail.gmail.com> <CAOtMX2h0GO931Zbv1_cXW83_nuvjJagQe7rTN22Os5%2BQ_Pe0aw@mail.gmail.com> <8e598a07cf5bc8690749120295936c40@mail.feld.me> <CAOtMX2gv3_0h6qF9tb9DWx=u952FGpBk0DXhfXa-yuRE5UmtmQ@mail.gmail.com> <73E03261-8087-415A-BD04-EAADFF90C080@gmail.com> <CAOtMX2g=UzCAN=WQj8ur43uhnpoDY1ddRfK4k1%2BiZBrYTYN5CA@mail.gmail.com> <CAGHfRMD93Z2PArmnNggD3wseA=uimoKAV%2BdHKEL4NkB6G9p3DA@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Tue, Aug 26, 2014 at 3:32 PM, Garrett Cooper <yaneurabeya@gmail.com> wrote: > On Tue, Aug 26, 2014 at 1:51 PM, Alan Somers <asomers@freebsd.org> wrote: >> On Tue, Aug 26, 2014 at 1:48 PM, Garrett Cooper <yaneurabeya@gmail.com> wrote: >>> >>>> On Aug 26, 2014, at 12:45, Alan Somers <asomers@freebsd.org> wrote: >>>> >>>>> On Tue, Aug 26, 2014 at 1:39 PM, Mark Felder <feld@freebsd.org> wrote: >>>>> August 26 2014 10:21 AM, "Alan Somers" <asomers@freebsd.org> wrote: >>>>>> >>>>>> Merged into the projects/zfsd/head branch by change 270604. Merging >>>>>> to head is blocked by three issues: >>>>>> a) The atf-ksh93 hack. The correct solution is to modify all the test >>>>>> programs (not the test cases) so they can run under /bin/sh. That >>>>>> will take some effort. >>>>> >>>>> Can you provide a link to the atf-ksh93 code? >>>> >>>> There's not much to it. It simply sets an environment variable and >>>> calls atf-sh. What's more interesting is libtest.kshlib. In order to >>>> eliminate atf-ksh93, we would need to modify libtest.kshlib to run >>>> under /bin/sh. Alternatively, it may be easier to split >>>> libtest.kshlib into two files: a small /bin/sh-compatible that can be >>>> sourced by the ATF test programs, and a ksh93 script that only needs >>>> to be sourced by the ATF test cases. >>> >>> I'm working on integrating the dtrace testcases into kyua, then atf under Kyua as time permits, but I'm not rewriting the core test code (yet), because I want to reduce divergence with upstream. >>> >>> Why not just require ksh93 from ports? >> >> It's not that simple. It's certainly possible to put a "require.progs >> ksh93" in the test case header. But you also need to use ksh93 >> features before invoking the test case script. For example, see >> zpool_upgrade_004_pos_body in >> tests/sys/cddl/zfs/tests/cli_root/zpool_upgrade/zpool_upgrade_test.sh >> . Notice how it sources some .kshlib scripts, then checks the $KEEP >> variable. Other tests do similar things. Perhaps they could be fixed >> by wrapping those lines in a here document that gets fed to ksh93. >> But that's very ugly. I'd rather fix all the tests to not require >> ksh93 before invoking the separate test case script. >> >> If you change the interpreter script from atf-ksh93 to atf-sh, you'll >> see errors like this: >> >> # kyua debug zfsd_test:zfsd_import_001_pos >> set: Illegal option -A >> set: Illegal option -A >> zfsd_test:zfsd_import_001_pos -> broken: Premature exit; test case >> exited with code 2 > > This should be plugged into kyua-testers though instead of hacking > around ATF -- even if it's mostly a thin layer on top of the ATF > tester; we should work towards a common goal with the DTrace/ZFS > testing though because they sort of follow the same design patterns. > My mentor jmmv@ might have valuable input to provide here in what > should be done (I've CCed him). Adding a ksh93 tester to Kyua was previously discussed on kyua-discuss. But it was basically shot down. https://groups.google.com/forum/#!topic/kyua-discuss/w8oJHeZXuro Porting, in whole or in part, the tests to /bin/sh is time consuming, but it's the only option that satisfies everyone. -Alan
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAOtMX2hJYy7zbEVb7WDAqiOE6g7F_2MLHR9-OsNZFP__E16caQ>