Contributions are welcomed! Please read the following to get started.
Contributions to this project are accepted under the Apache 2.0 license.
Please also ensure that each commit in the series has at least one
Signed-off-by:
line, using your real name and email address. The names in the
Signed-off-by:
and Author:
lines must match. If anyone else contributes to
the commit, they must also add their own Signed-off-by:
line. By adding this
line the contributor certifies the contribution is made under the terms of the
Developer Certificate of Origin (DCO).
- Please use the
gofmt
andbpfmt
tools when formatting Go and Blueprint files, respectively. - For other languages (e.g. Python and Mconfig), please attempt to be consistent with the existing style.
Bob has three kinds of tests:
-
The
tests
directory, containing a collection of different modules which should all build, or be deliberately disabled. Please test this on Linux or Android.-
Linux: (run inside Bob directory)
cd tests ./bootstrap_linux ./build/config ./build/buildme
(thereafter just run
buildme
) -
Android: (substitute variables appropriately -
$ANDROID_TOP
is a full checkout of the Android source code)# Usual Android setup - envsetup/lunch/etc mkdir -p $ANDROID_TOP/external/bob bindfs -n $BOB_LOCATION $ANDROID_TOP/external/bob cd $ANDROID_TOP/external/bob/tests ./bootstrap_androidbp mm
(thereafter just run
mm
)
-
-
Go unit tests, which can be run using
go test
after runningsetup_workspace_for_bob.bash
:export GOPATH=~/go ./scripts/setup_workspace_for_bob.bash go test github.com/ARM-software/bob-build/core \ github.com/ARM-software/bob-build/internal/escape \ github.com/ARM-software/bob-build/internal/graph \ github.com/ARM-software/bob-build/internal/utils # OR: cd $GOPATH/src/github.com/ARM-software/bob-build go test ./core ./internal/escape ./internal/graph ./internal/utils
-
The configuration system tests:
./config_system/tests/run_tests.py ./config_system/tests/run_tests_formatter.py pytest ./config_system
These tests require the
pytest
,pytest-catchlog
,pytest-mock
andmock
Python packages.Note: Do not run
pytest
in the top-levelbob-build
directory; it will fail during test discovery because of the recursive symlink inside the main Bobtests
directory.
If your contribution is a bugfix, please consider adding a new test to prevent future regressions.
- Create a pull request to the
master
branch. - All submissions will require code review before merging.
- As mentioned above, please ensure your commit message contains a
Signed-off-by
tag.