On 4/10/2013 2:42 PM, Benoit Girard wrote: > With the fix to bug 844288 gtest will also need their own directory. I was > planning on allowing users to use <component>/tests folder for their tests > but to go in line with this upcoming change I'll update my patches and > suggest that anyone who adds gtest to use <component>/tests/gtest to > conform with this new style. > > I was under the impression this will further recursify our builds making > them more expensive.
We should eventually be able to get to a state where there are no moz.build/Makefile.in files in test directories. Well, at least for test suites using manifests to define test files (xpcshell, mochitest, reftest, possibly others). We may still want moz.build files to define some pieces, such as extra libraries to link against compiled tests. I envision this playing out like: /component/moz.build /component/tests/xpcshell/xpcshell.ini /component/tests/xpcshell/[test files] /component/tests/browser/manifest.ini (or whatever we name it) /component/tests/browser/[test files] /component/tests/gtest/moz.build /component/tests/gtest/[test files] Then, in /component/moz.build we have something like: XPCSHELL_TEST_MANIFESTS += ['tests/xpcshell/xpcshell.ini'] BROWSER_TEST_MANIFESTS += ['tests/browser/manifest.ini'] TEST_DIRS += ['tests/gtest'] Moving manifest definitions up to the "main" directory should eliminate a few hundred moz.build/Makefile.in files from the tree. Now, the real question is whether we still generate Makefile for these directories. If everyone used mach commands for running tests, we wouldn't need Makefile or their targets to invoke per-directory tests. But, I know people will complain if those make targets go away (since they don't use mach). So I guess that means we'll need to generate Makefile until everyone uses mach or someone works up the courage to slight the non-mach-using audience. _______________________________________________ dev-platform mailing list dev-platform@lists.mozilla.org https://lists.mozilla.org/listinfo/dev-platform