"presubmit" will continue to handle x86_64 virtual device and host tests
"presubmit-rust" will run the test on a pool of physical arm64 devices
Bug: 204332926
Test: regenerated a few TEST_MAPPING files
Change-Id: Idd5cad5107a96031f67305b63875034b2e5a5c60
With b/196306316 hopefully fixed, we should be able to use a single
rust_test entry for both device and host tests. This modifies
cargo2android.py so it generates these shared tests.
Test: Run on crates with simple tests, those with defaults, host-only,
and device-only tests.
Change-Id: Icfe8d1fb26a61bc9ed65b8a7b116a4ebcd782ce4
This script currently computes all transitive reverse dependencies for
a given crate and adds them to the generated TEST_MAPPING. This
creates a very large file and makes it difficult to rename/remove
tests, as a given test can be in many TEST_MAPPING files in other
directories. We fix this by instead importing the TEST_MAPPING files
of other third-party crates.
Note that we cannot do this for tests defined by this crate (as they
need to be in some TEST_MAPPING file) and for tests outside of
external. For the latter, we do not auto-generate those TEST_MAPPING
files, so they might contain extra tests we do not want or not contain
the tests we do want. We thus continue to list such tests
individually, which is suboptimal but at least is a strict improvement
over the current system.
Test: Run on a few crates.
Change-Id: Ibdf36e7844f5946c9e321ac60558792abd691b42
Following suggestions in b/194659728, update the python script to work
under python3.
Previous failure:
Traceback (most recent call last):
File "/android3/android/master/development/scripts/lldbclient.py", line 413, in <module>
main()
File "/android3/android/master/development/scripts/lldbclient.py", line 405, in main
do_main()
File "/android3/android/master/development/scripts/lldbclient.py", line 400, in do_main
raw_input("Press enter to shut down lldb-server")
NameError: name 'raw_input' is not defined
Bug: none
Test: "lldbclient.py --setup-forwarding vscode-lldb -r
/data/nativetest64/inputflinger_tests/inputflinger_tests
--gtest_filter=PalmRejectorTest.GenericAxisValue_IsNotSet"
Change-Id: I21d977cbc580894d6e2eb2f2f56dec04c65b0416
Bug: http://b/150809112
This is a new upstream library that exports both the clang and LLVM C++
symbols and can replace libLLVM and (android-toolchain-only)
libclang_cxx.so.
Test: Build and run header-* tools
Change-Id: Ibb8ae24e758c4c492c18e1192be9d57ef05b78df
A recent change to remove empty tests runs cargo test --list. A few
crates produce build errors this way that they did not previously do.
This currently causes cargo2android.py to produce illegal Android.bp
files for these crates even though these should not be fatal errors.
We thus detect these errors and emit them as comments in the
Android.bp file, so developers can see them but the crate can still
compile.
Test: Run on crates with and without such errors.
Change-Id: I8664d3ca9a6b4c513ce0ef35821aa64d22949fc7
cargo2android.py prints out all of its arguments to the top of the
Android.bp file (and into a config file if that option was set) as a
way of persisting them. However, we do not want to persist the
--cargo_bin directory, as this is a proprety of the local setup and
not the crate itself. Thus ensure we don't print this.
Test: Run with argument.
Change-Id: If5292d1d740b08755ba6d31654239e93232fdc49
This reverts commit 4f4ac2f8f3.
This did not work for all crates (specifically, those with build.rs,
as they don't get passed RUSTFLAGS, as well as proc-macros, since they
get the flag but can't use LTO), so we're using a different approach
where this is not desired.
Test: Run script
Change-Id: Ib1a86d4822f51978cd8ec15ad657eb25c84e01a4
The latest compiler roll also enabled LTO. This broke
cargo2android.py, as the test prebuit uses LTO and so cannot be linked
with code built without. We fix this by enabling it in
cargo2android.py (and ensuring it doesn't add the flag into
Android.bp).
Test: Run
Change-Id: I6c6a813ff58a9e5064752aa59b78247c4af77a26
Current/latest kernel symbol information files default to:
- kernel/prebuilts/5.4/arm64/Module.symvers (for GKI 5.4)
- kernel/prebuilts/5.10/arm64/vmlinux.symvers (for GKI 5.10)
All kernel symbol information files in this CL are manually copied
from AB of corresponding kernel branches.
The history kernel symbol information files in this CL are
sym-5.*/ directories. The ones without build ID suffix are
symbolic links to the latest ones and can be used for
testing the build test of this CL (see Test below).
After *.symvers diles are released to kernel/prebuilts/5.*/arm64
directories on the Android branch, they will be used as the
current/latest kernel symbol files by default.
3 moudules are created in this CL:
gki_5_4_kmi_compatibility_test (for arm64 GKI 5.4)
gki_5_10_kmi_compatibility_test (for arm64 GKI 5.10)
gki_kmi_compatibility_test (for both arm64 GKI 5.4 & 5.10)
Bug: 206064990
Test: $ m gki_kmi_compatibility_test
Change-Id: I2e966070a392cfd6284676c7598138b5cad4717b
The script reads the license files and list them to the license
module in the generated Android.bp files
Bug: 205641081
Test: run gen_buildfiles.py
Change-Id: I93deb04a5e7da25a2e9476b8fdd6079fc5470211