Commit graph

9 commits

Author SHA1 Message Date
Jeff Gaston
4fc22f66c2 Make test_tree_tests.sh slightly easier to read
Bug: 64363847
Test: ./tests/test_tree_tests.sh
Change-Id: I40c1bcebf176bf4d70d4bc6339f419881013e0a6
2017-10-30 15:00:19 -07:00
Jeff Gaston
cb42130440 Make a copy of Blueprint in tests
because the Finder doesn't follow symlinks
Bug: 64363847
Test: tests/test_tree_tests.sh

Change-Id: I2e4115b6d833e5bfcaa1e20bb9c8e1d827e3f43f
2017-10-30 15:00:19 -07:00
Jeff Gaston
5f332c83ae Move generated Travis test dirs outside the tree
This should prevent the running of Travis tests from causing
a filesystem loop src.test/test_tree/blueprint -> ../..

Bug: 63100441
Test: NINJA=... ./tests/test_tree_tests.sh; stat src.test 2>/dev/null \
      && echo "src.test should not exist"

Change-Id: Ie01fe8999c738dca166e3fabde9d9391f6b70210
2017-09-12 17:58:10 -07:00
Dan Willemsen
91e2483024 Fix and test rebuilds of bootstrap ninja when using tests
Add testing of bootstrap.bash -t to travis, and fix spacing issues
causing rebuilds.

Change-Id: Ia30367e40f5cf32de9749b2742d68b57e9201278
2017-07-24 14:02:51 -07:00
Dan Willemsen
1e72321e58 Use microfactory to build the bootstrap minibp
This duplicates building common blueprint go packages between minibp and
the primary builder, but drastically simplifies the first stage,
removing the need to check in a generated build.ninja.in.

Change-Id: I639a9637f1ed36d4210823ef276c0f7a064a83bd
2017-07-24 14:02:51 -07:00
Dan Willemsen
7f2b2d229b Check for .bootstrap/build.ninja rebuilds too
Change-Id: Ic77b216e7153365cc6b897aba4e72ceee750c05e
2017-07-24 13:08:58 -07:00
Colin Cross
26c141fe68 Add a script to regenerate build.ninja.in files
Add regen_build_ninja_in.sh to regenerate build.ninja.in and
tests/test_tree/build.ninja.in.

Change-Id: Ib196576fb39eb1adf4ed660b7aa2d24c84aed077
2017-07-13 11:10:39 -07:00
Colin Cross
da945bf33c Make symlink during test
The tests/test_tree/blueprint symlink causes find to print a warning
in the Android build:
find: File system loop detected; `./build/blueprint/tests/test_tree/blueprint' is part of the same file system loop as `./build/blueprint'.

Make the symlink when running the test instead.

Change-Id: I52788af7b262f8aa7a00a501f0b50695e469adb1
2017-01-11 13:50:58 -08:00
Colin Cross
127d2eae8b Import globbing from Soong
Add globbing with dependency checking to blueprint.  Calling
ModuleContext.GlobWithDeps or SingletonContext.GlobWithDeps will return
a list of files that match the globs, while also adding efficient
dependencies to rerun the primary builder if a file that matches the
glob is added or removed.

Also use the globbing support for optional_subdirs=, subdirs= and build=
lines in blueprints files.  The globbing slightly changes the behavior
of subname= lines, it no longer falls back to looking for a file called
"Blueprints".  Blueprint files that need to include a subdirectory with
a different name can use build= instead of subdir= to directly include
them.  The Blueprints file is updated to reset subname="Blueprints" in
case we want to include subdirectories inside blueprint and the primary
builder has changed the subname.

Also adds a new test directory that contains a simple primary builder
tree to test regeneration for globbing, and runs the tests in travis.

Change-Id: I83ce525fd11e11579cc58ba5308d01ca8eea7bc6
2016-11-03 13:54:03 -07:00