Date: Sat, 17 Oct 2015 22:21:49 -0400 From: Julio Merino <jmmv@freebsd.org> To: NGie Cooper <yaneurabeya@gmail.com> Cc: "freebsd-testing@freebsd.org" <freebsd-testing@FreeBSD.org> Subject: Re: [RFC] Rename `make test` in suite.test.mk with `make regress` Message-ID: <A3AB9C91-8733-4684-A418-475166CB5568@freebsd.org> In-Reply-To: <E4FD723B-256D-4EF1-B1B5-C3303E77C59B@gmail.com> References: <F3E9AA8C-690E-4E66-827B-B99981B8B336@gmail.com> <5C39F495-5717-450F-8460-14B69DD48AD6@freebsd.org> <E4FD723B-256D-4EF1-B1B5-C3303E77C59B@gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> On Oct 17, 2015, at 21:56, NGie Cooper <yaneurabeya@gmail.com> wrote: >=20 >>=20 >> On Oct 17, 2015, at 18:50, Julio Merino <jmmv@freebsd.org> wrote: >>=20 >> On Oct 17, 2015, at 18:03, NGie Cooper <yaneurabeya@gmail.com> wrote: >>>=20 >>> Hi all, >>> There=E2=80=99s a lesser known target in suite.test.mk that runs = `kyua test` in a similar manner to how Jenkins and other groups have = integrated kyua into their test infrastructures. >>> The legacy target on FreeBSD was `regress`, but the target = created with the bsd.test.mk creation back a few years ago was `test`. = Why change from `test` to `regress`? There are places in the tree = (bin/test for example) that have targets named test, so in order to = avoid clashing with a common target (name), it=E2=80=99s best to use the = legacy target name. >>> Would anyone have any serious heartburn over the change? >>=20 >> Is this only because of bin/test? Seems like renaming a target to = avoid that one collision is just moving the problem around. It is = possible that some other directory could later grow a target that = conflicts with your new name. >=20 > Yes, I realize that. The goal though is I want to be able to call = `make <something>` from the top and it would iterate down each and every = subdirectory and run tests. Other for the bin/test naming collision, that should work already, = shouldn't it? Not sure how ugly this would be, but you'd also define an internal = "run-tests" target or similar that is used exclusively by the recursion = code. Then, in the top-level Makefile, you define a bare "test" target = that starts the recursion so that "make test" works. And then, in = bsd.test.mk, you define a "test" target if - and only if - there is no = "test" target yet. bin/test would behave differently than the rest if = you ever went in there and ran "make test", but I think that's a minor = problem. This is offtopic, but do you have a plan anywhere on how to make the = tests invocation this way reliable? Without installed binaries, the = tests might not do the right thing, and I'm not sure if the object tree = is enough for this to work properly. That's the reason why "make test" = from the top-level directory is currently disallowed. > Sadly, most people don=E2=80=99t care to figure out how kyua works = enough to run `kyua test`=E2=80=A6 so I=E2=80=99m just trying to lower = the barrier of entry in a way that will work 100% of the time. >=20 >> Strictly speaking, "regress" is wrong. We do not have regression = tests only. Also, "regress" is a pretty obscure name for a target; it = does not appear in any other projects nor in any other build systems = that I know of. >=20 > Unfortunately it=E2=80=99s been in place a lot longer than anything = else, so it=E2=80=99s kind of the =E2=80=9Cdefacto standard=E2=80=9D. = That said... I think I see what you mean: that because "regress" already existed in = the FreeBSD tree, no other targets were introduced to collide with it? = If yes, I wouldn't expect that to be the case. Tests were not = interleaved with the source tree in the past, so the "regress" target = only existed in a subset of the tree, didn't it? >> Have you considered "check"? That'd be in line with what automake = does, for example, which would homogenize the target name with a ton of = other projects out there. >=20 > =E2=80=A6 `make check` would be ok too. I just have to comb the tree = for binaries that don=E2=80=99t match `check`. >=20 > Thanks! > -NGie
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?A3AB9C91-8733-4684-A418-475166CB5568>