summaryrefslogtreecommitdiff
path: root/test/build.mk
Commit message (Collapse)AuthorAgeFilesLines
* boringssl: Implement sysrand from TRNGYi Chou2023-05-161-0/+2
| | | | | | | | | | | | | | | | | | The boringssl doesn't include the TRNG implementation, we need our own CRYPTO_sysrand. BUG=b:248508087 TEST=make V=1 BOARD=bloonchipper -j TEST=./test/run_device_tests.py --board bloonchipper -t boringssl_crypto => PASS TEST=./test/run_device_tests.py --board dartmonkey -t boringssl_crypto => PASS Change-Id: I3136bcc96e09f674278bf338297d7bc0576e174c Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4496289 Reviewed-by: Tom Hughes <tomhughes@chromium.org> Commit-Queue: Yi Chou <yich@google.com> Tested-by: Yi Chou <yich@google.com>
* ec: Enable unaligned access for cortex-mFiras Sammoura2023-05-151-0/+1
| | | | | | | | | | | | | | | | | | Enable unaligned access for cortext-m and. Add a unit test to validate that unaligned access runs properly on both bloonchipper and dartmonkey. Add benchmarks to measure the speed gain between aligned and unaligned access. BRANCH=none BUG=b:239254184 TEST=test/run_device_tests.py -b dartmonkey -t unaligned_access TEST=test/run_device_tests.py -b bloonchipper -t unaligned_access Change-Id: I7d75433e6b7b33d7c82ad740dc85a8646d891c6a Signed-off-by: Firas Sammoura <fsammoura@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4327795 Reviewed-by: Bobby Casey <bobbycasey@google.com> Reviewed-by: Mike Frysinger <vapier@chromium.org>
* clock: Add ScopedFastCpuYi Chou2023-04-251-0/+2
| | | | | | | | | | | | | Add a helper class to scope the range of boosting CPU. BUG=b:248508087 TEST=make V=1 BOARD=bloonchipper -j BRANCH=none Change-Id: Ic3dc59bb71e75aec8efb0eb1f2b035ef2867bd42 Signed-off-by: Yi Chou <yich@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4345046 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* test: Add a test for malloc/freeTom Hughes2023-04-071-0/+2
| | | | | | | | | | | | | | | BRANCH=none BUG=b:274737509 TEST=./test/run_device_tests.py --board bloonchipper -t malloc => PASS TEST=./test/run_device_tests.py --board dartmonkey -t malloc => PASS TEST=make run-malloc Change-Id: Ida58335dcacbeefad56804246897810936c98546 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4390609 Reviewed-by: Paul Fagerburg <pfagerburg@chromium.org>
* test: Add unit tests for sbrkTom Hughes2023-04-041-0/+2
| | | | | | | | | | | | | | BRANCH=none BUG=b:234181908 TEST=./test/run_device_tests.py --board bloonchipper -t sbrk => PASS TEST=./test/run_device_tests.py --board dartmonkey -t sbrk => PASS Change-Id: I02d6fe269718f0f4f7f5d72e6a8f01bb4e6b4cfd Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4396773 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* Revert "test/fpsensor_hw: fpsensor_hw test compiles and runs with gtest"Aashish Sharma2023-03-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 050c151b39c9cad3bb487b9218a822bb8a50615a. Reason for revert: Causing CQ compilation failures Original change's description: > test/fpsensor_hw: fpsensor_hw test compiles and runs with gtest > > BRANCH=none > BUG=b:254530679 > TEST=make BOARD=bloonchipper test-fpsensor_hw -j > TEST=make BOARD=dartmonkey test-fpsensor_hw -j > > Cq-Depend: chromium:3994436, chrome-internal:5548068 > Signed-off-by: Tom Hughes <tomhughes@chromium.org> > Change-Id: I1908ea496cd69c7d0e0cd84a841bd4c1692a1bf2 > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3994291 > Reviewed-by: Firas Sammoura <fsammoura@google.com> > Reviewed-by: Andrea Grandi <agrandi@google.com> Bug: b:254530679,b:275142246 Change-Id: Iecf582a135487c794449a4f5f4422304003f1e84 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4369173 Auto-Submit: Aashish Sharma <shraash@google.com> Owners-Override: Aashish Sharma <shraash@google.com> Commit-Queue: Aashish Sharma <shraash@google.com> Tested-by: Aashish Sharma <shraash@google.com> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
* test/fpsensor_hw: fpsensor_hw test compiles and runs with gtestTom Hughes2023-03-241-1/+1
| | | | | | | | | | | | | | BRANCH=none BUG=b:254530679 TEST=make BOARD=bloonchipper test-fpsensor_hw -j TEST=make BOARD=dartmonkey test-fpsensor_hw -j Cq-Depend: chromium:3994436, chrome-internal:5548068 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I1908ea496cd69c7d0e0cd84a841bd4c1692a1bf2 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3994291 Reviewed-by: Firas Sammoura <fsammoura@google.com> Reviewed-by: Andrea Grandi <agrandi@google.com>
* common/tablet: Allow getting out of tablet mode when sensors are brokenGwendal Grignou2023-03-231-0/+4
| | | | | | | | | | | | | | | | | | | | | When sensors stop working, at least one accelerometer, the EC can not calculate the lid angle anymore. Add hook to the lid opening event, to be able to get out out of tablet mode when lid close. Move scope of the variables that keep track of the lid angle deduced from the GMR sensors. BUG=b:267680317, b:270994196 BRANCH=trogdor, dedede, many more potentially. TEST=Added unit tests. Change-Id: Iaf7cc0d27fba32b3c8616a0674a47af815921ac4 Signed-off-by: Gwendal Grignou <gwendal@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4338479 Reviewed-by: Douglas Anderson <dianders@chromium.org> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* test: Check TPM_SEED is reset after rebootFiras Sammoura2023-02-081-0/+1
| | | | | | | | | | | | | | | Add a unit test to check that TPM_SEED is reset after the FPMCU is rebooted. BRANCH=None BUG=b:143471027 TEST=test/run_device_tests.py -b dartmonkey -t tpm_seed_clear TEST=test/run_device_tests.py -b bloonchipper -t tpm_seed_clear Change-Id: I478c8ffcfc75c8188438d56958f0bf16f752efef Signed-off-by: Firas Sammoura <fsammoura@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4199160 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* test: Disable ASAN for 2 functionsJeremy Bettis2023-01-101-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | These two functions return a pointer to memory on the stack, which is very naughty and ASAN catches that. However, this is intended to see if the compiler optimizes out "unnecessary" writes to data that will "clearly" never be used again, since it's on the stack. Disable ASAN on these functions to prevent the compiler from being too smart. BRANCH=None BUG=b:264432260 TEST=make clobber -j$(nproc) && \ make runtests -j$(nproc) && \ make -j$(nproc) tests-bloonchipper tests-dartmonkey && \ make clobber -j$(nproc) && \ make -j$(nproc) TEST_ASAN=y runtests && \ echo SUCCESS Change-Id: If1ca3a6c97f34021b99dd246858ac3a3be7692a8 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4136969 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* test: Disable always_memset test with ASANJeremy Bettis2023-01-061-0/+3
| | | | | | | | | | | | | | | | | always_memset fails when run with ASAN. Disable it for now to let the CQ run ASAN tests correctly. BRANCH=None BUG=b:264432260,b:257393779 TEST=make TEST_ASAN=y runtests Change-Id: Ie3986cf631014f097ce27ab97af55b1bd78e776b Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4136959 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Abe Levkoy <alevkoy@chromium.org>
* test: Add test for std::chrono::system_clockTom Hughes2022-12-151-0/+1
| | | | | | | | | | | | | | BRANCH=none BUG=b:234181908, b:254530679 TEST=./test/run_device_tests.py --board bloonchipper -t libcxx TEST=./test/run_device_tests.py --board dartmonkey -t libcxx Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I86753187a5d3e7e363fd1a8d9f89e61b42cd8521 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4062465 Reviewed-by: Andrea Grandi <agrandi@google.com> Reviewed-by: Bobby Casey <bobbycasey@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com>
* test: Add gettimeofday testTom Hughes2022-12-151-0/+2
| | | | | | | | | | | | | BRANCH=none BUG=b:234181908, b:254530679 TEST=make run-gettimeofday -j Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ia18214cb436ff058a71e037584a3c7663d63eef0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4062464 Reviewed-by: Andrea Grandi <agrandi@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Bobby Casey <bobbycasey@google.com>
* test: Add a test for global object initializationTom Hughes2022-12-101-0/+1
| | | | | | | | | | | | | | BRANCH=none BUG=b:261636413 TEST=./test/run_device_tests.py -b dartmonkey -t global_initialization => Fails without https://crrev.com/c/4081571 Cq-Depend: chromium:4081571 Change-Id: Ic92a5e92538c22d81d769d0f26be65abe0905656 Signed-off-by: Tom Hughes <tomhughes@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4083114 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Andrea Grandi <agrandi@google.com>
* test: Add timer testAndrea Grandi2022-12-071-0/+2
| | | | | | | | | | | | | | | | | Verify the existing usleep() function in preparation for moving its implementation into the builtin folder. BUG=b:260723169 TEST=test/run_device_tests.py -b bloonchipper -t timer TEST=test/run_device_tests.py -b dartmonkey -t timer TEST=make run-timer BRANCH=none Change-Id: I532fa5ac7abf7b16b4d1a86ea5e961f08fb2f1b7 Signed-off-by: Andrea Grandi <agrandi@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4068487 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* test: Add rng_benchmark testAndrea Grandi2022-11-111-0/+1
| | | | | | | | | | | | | | BRANCH=none BUG=b:246836252 TEST=./test/run_device_tests.py --board bloonchipper -t rng_benchmark TEST=./test/run_device_tests.py --board dartmonkey -t rng_benchmark Signed-off-by: Andrea Grandi <agrandi@google.com> Change-Id: Ib1a2a4b0fc8e3d55022e94727417c38e5e94359b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4019773 Reviewed-by: Bobby Casey <bobbycasey@google.com> Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* Makefile.toolchain: Enable -ftrapv for fingerprint boardsTom Hughes2022-11-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | The "-ftrapv" flag generates an exception for *signed* integer overflow: https://gcc.gnu.org/onlinedocs/gcc/Code-Gen-Options.html. This commit adds a unit test to verify the behavior. For now this is clang-only, since the gcc toolchain is missing the "trapping arithmetic functions": __addvsi3, __subvsi3, etc. https://gcc.gnu.org/onlinedocs/gccint/Integer-library-routines.html BRANCH=none BUG=b:144957935, b:258074414 TEST=./test/run_device_tests.py --board dartmonkey -t ftrapv TEST=./test/run_device_tests.py --board bloonchipper -t ftrapv Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I2235c2d289bab2a17d7915978c17aaa07302403d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/4007158 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Andrea Grandi <agrandi@google.com>
* test: Add libc_printf testTom Hughes2022-11-041-0/+3
| | | | | | | | | | | | | BRANCH=none BUG=b:234181908, b:254530679 TEST=./test/run_device_tests.py --board dartmonkey -t libc_printf Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I5ac9838dd59cb048325a27cc28d7859da040b52d Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3997616 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Bobby Casey <bobbycasey@google.com> Reviewed-by: Andrea Grandi <agrandi@google.com>
* test: Add benchmark library (C++)Andrea Grandi2022-11-021-0/+2
| | | | | | | | | | | | | | | | | Add a benchmark library (benchmark.h) to measure the execution time of functions. It is written in C++ to simplify the interface. For example, it can be used to benchmark lambdas with captures. BUG=b:246366702 BRANCH=none TEST=test/run_device_tests.py -b bloonchipper -t benchmark TEST=make run-benchmark Signed-off-by: Andrea Grandi <agrandi@google.com> Change-Id: Ibed907609a27566e386c511153fcd2d819981356 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3971378 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* test: Add basic test of std::vectorAndrea Grandi2022-10-211-0/+2
| | | | | | | | | | | | | | | | Verify that dynamic memory allocation works correctly. BUG=b:243964606 TEST=util/run_device_tests.py --board=dartmonkey \ --tests=std_vector TEST=make run-std_vector BRANCH=none Signed-off-by: Andrea Grandi <agrandi@google.com> Change-Id: Iae7ff1070786e3d5e3c8ba4dcddeeeb9979b0306 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3969861 Reviewed-by: Tom Hughes <tomhughes@chromium.org> Reviewed-by: Bobby Casey <bobbycasey@google.com>
* test: Add panic testTom Hughes2022-10-181-0/+1
| | | | | | | | | | | | | | | | | | | | Add a test for ARM that verifies that exception_panic() correctly preserves the registers we expect it to. BRANCH=none BUG=b:172020503 TEST=./test/run_device_tests.py --board bloonchipper -t panic TEST=make BOARD=discovery-stm32f072 test-panic openocd -c "set BOARD discovery-stm32f072" \ -c "set BUILD_DIR build/discovery-stm32f072/panic" \ -f board/discovery-stm32f072/openocd-flash.cfg screen /dev/ttyUSB1 > runtest Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I592483c922652df8a4fb2b0a0a5fb57b1480b8b6 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3288761 Reviewed-by: Daisuke Nojiri <dnojiri@chromium.org>
* test: Add on-device exception testTom Hughes2022-10-141-0/+5
| | | | | | | | | | | BRANCH=none BUG=b:234181908 TEST=./test/run_device_tests.py --board bloonchipper -t exception Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I4d5651be6048af357b68956097deea255551a6db Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3932262 Reviewed-by: Andrea Grandi <agrandi@google.com>
* test: Add on-device abort() testTom Hughes2022-10-141-0/+1
| | | | | | | | | | | BRANCH=none BUG=b:234181908 TEST=./test/run_device_tests.py --board bloonchipper abort Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: Ic92cacdf018bbc8454ed4c7f72546a3ed4d7e4fe Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3933257 Reviewed-by: Andrea Grandi <agrandi@google.com>
* test: Add tests for always_memsetCraig Hesling2022-09-271-0/+5
| | | | | | | | | | | | | | | | | | | | | Note that GCC can enable optimization per function using the optimize("O3") attribute, but clang cannot. So, we need to enable optimization in the build system per file. If we want to look for alternatives to always_memset, checkout libsodium's sodium_memzero function in the sodium/utils.c file of commit c281249fd8f2d00c9a76e4686f95ff4783951040. BRANCH=none BUG=b:176500425 TEST=make run-always_memset V=1 TEST=CC=clang make run-always_memset V=1 Change-Id: I57ec10a558fe294587d9b777a558b80d30b9ec28 Signed-off-by: Craig Hesling <hesling@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3902571 Reviewed-by: Tom Hughes <tomhughes@chromium.org> Reviewed-by: Andrea Grandi <agrandi@google.com>
* test: Add test for rollback_get_secretFiras Sammoura2022-09-221-0/+2
| | | | | | | | | | | | | | | | Add tests for rollback_get_secret when the get_latest_rollback fails, returns a trivial secret, and returns a real secret. BRANCH=None BUG=b:242720910 TEST=make run-rollback_secret TEST=make runhosttests Signed-off-by: Firas Sammoura <fsammoura@google.com> Change-Id: I992daf7af3e80dcc4b20412037f792e125866af7 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3900486 Code-Coverage: Zoss <zoss-cl-coverage@prod.google.com> Reviewed-by: Bobby Casey <bobbycasey@google.com>
* Update license boilerplate text in source code filesMike Frysinger2022-09-121-1/+1
| | | | | | | | | | | | | | | Normally we don't do this, but enough changes have accumulated that we're doing a tree-wide one-off update of the name & style. BRANCH=none BUG=chromium:1098010 TEST=`repo upload` works Change-Id: Icd3a1723c20595356af83d190b2c6a9078b3013b Signed-off-by: Mike Frysinger <vapier@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3891203 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* ec: Add test for chipset_get_shutdown_reasonPablo Ceballos2022-08-221-0/+2
| | | | | | | | | | | | | | BRANCH=none BUG=b:242708232 TEST=make buildall -j Change-Id: Ic134433cb1a85be277806bf285656b12305c3c3b Signed-off-by: Pablo Ceballos <pceballos@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3843066 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Pablo Ceballos <pceballos@chromium.org> Auto-Submit: Pablo Ceballos <pceballos@chromium.org> Tested-by: Pablo Ceballos <pceballos@chromium.org>
* test: Add a test to check if the debugger is connectedTom Hughes2022-07-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is intended to make it easier to debug the behavior of is_debugger_connected(). With JLink we're seeing that C_DEBUGEN is still set even after disconnecting the JLink (see referenced bug). BRANCH=none BUG=b:180945056 TEST=On dragonclaw v0.2 with JLink and servo_micro, flash the "debug" test: Connect the debugger: JLinkExe -device STM32F412CG -if SWD -speed 4000 -autoconnect 1 J-Link>r J-Link>go Run the test on the FPMCU console: > runtest debugger => PASS Disconnect the debugger: J-Link>exit Run the test on the FPMCU console: > runtest no_debugger => PASS TEST=On icetower v0.1 with JLink and servo_micro, flash the "debug" test: Connect the debugger: JLinkExe -device STM32H743ZI -if SWD -speed 4000 -autoconnect 1 J-Link>r J-Link>go Run the test on the FPMCU console: > runtest debugger => PASS Physically disconnect the debugger and servo_micro. Then reconnect servo_micro and start servod. Run the test on the FPMCU console: > runtest no_debugger => PASS Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I544cab5814a30310345d4337a818d7b48cc22a8b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3739316 Reviewed-by: Bobby Casey <bobbycasey@google.com>
* test/stdlib: Disable gcc stringop-truncation warningTom Hughes2022-07-071-0/+3
| | | | | | | | | | | | | | | | | | | | | | | gcc warns: error: ‘__builtin_strncpy’ output truncated copying 10 bytes from a string of length 12 [-Werror=stringop-truncation] In this case the test is intentionally copying a subset of the string. Also, since it's not obvious, add a note that when building this test for the host we're actually testing the toolchain's C standard library, not the EC "builtin" version. BRANCH=none BUG=b:234181908, b:237823627 TEST=./util/compare_build.sh -b all -j 120 => MATCH Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I943de03ae62d7ae5e431809305ae68100e6da418 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3724490 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org>
* Move standard library tests to their own fileTom Hughes2022-07-071-1/+11
| | | | | | | | | | | | | | The standard library functions are being consolidated in stdlib.c, so this test mirrors the same layout. BRANCH=none BUG=none TEST=make buildall -j Signed-off-by: Tom Hughes <tomhughes@chromium.org> Change-Id: I2d7f7671f23a0c4e5f09ef9e0d5d8c25688cd376 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3724489 Reviewed-by: Edward Hill <ecgh@chromium.org>
* GPU: Add Nvidia GPU D-Notify driverDaisuke Nojiri2022-06-291-0/+2
| | | | | | | | | | | | | | | | | (Based on the driver written by Tim Wawrzynczak.) This patch adds Nvidia GPU D-Notify driver. It asserts a GPIO, sends a host event, and sets D-Notify level in shared memory when power availability changes (i.e. AC plug/unplug, battery charge/discharge). BUG=b:216485035 BRANCH=None TEST=make run-nvidia_gpu && make buildall Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Change-Id: I231619157fe03fb357882540ffa34b4d48fba253 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3716794 Reviewed-by: Tim Wawrzynczak <twawrzynczak@chromium.org>
* ec: Make tests pass with TEST_ASAN=yJeremy Bettis2022-05-111-0/+3
| | | | | | | | | | | | | | | | | | | | | | | There are some mismatched enums and other errors that prevent building with asan. Fix them all. Change the cq builder to prevent these breakages in the future. If the tests pass with ASAN in the chroot, they will likely pass in gitlab with coverage enabled. BRANCH=None BUG=None TEST=make clobber ; make -j8 runtests && echo PASS make clobber ; make -j8 TEST_ASAN=y runtests && echo PASS Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I6d86fd5750282e0257eb97f65b31046a1613a453 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3631365 Reviewed-by: Keith Short <keithshort@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Keith Short <keithshort@chromium.org>
* ec: Disable the host-interrupt testJeremy Bettis2022-05-111-1/+3
| | | | | | | | | | | | | | | | | It's generally not useful, as it is testing test-only code. We already skip it for code coverage, because it times out so often. BRANCH=None BUG=b:227793011 TEST=make runtests |& grep -i interrupt Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I34ab231421d1e52673a90831e297cd80df44f234 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3639491 Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Ting Shen <phoenixshen@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Ting Shen <phoenixshen@chromium.org>
* ec: Exclude kb_scan test from coverageJeremy Bettis2022-04-081-1/+2
| | | | | | | | | | | | | | | | Even though this test doesn't flake when I run it locally, it does flake on gitlab. BRANCH=None BUG=b:228321906 TEST=Nope Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I4c659f3c7c90faaa6b2c693a66ea4fafc7468597 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3578298 Reviewed-by: Yuval Peress <peress@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* ec: Exclude kb_scan_strict test from coverageJeremy Bettis2022-04-081-1/+1
| | | | | | | | | | | | | | | | | Even though this test doesn't flake when I run it locally, it does flake on gitlab. BRANCH=None BUG=b:228344537 TEST=Nope Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I120701e24b9169a9be979eb4c0c1310ad471c0f9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3578297 Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* ec: Exclude flash test from coverageJeremy Bettis2022-04-081-1/+1
| | | | | | | | | | | | | | | | | | Even though this test doesn't flake when I run it locally, it does flake on gitlab. BRANCH=None BUG=b:228371835 TEST=Nope Change-Id: I7b9007815c7ce078f980a4eaf097dc857cea8f8a Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3578296 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Sam Hurst <shurst@google.com> Commit-Queue: Sam Hurst <shurst@google.com>
* test/run_device_tests.py: Add private testsAndrea Grandi2022-04-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Currently, the list of tests is hard-coded in the Python script. Add ability to fetch additional tests from the private folder, if available. This is a reland of commit b97ba790690d1ee86c001ef0a82be5897645ae2f BRANCH=none BUG=b:226385185 TEST=cros lint test/run_device_tests.py TEST=make V=1 run-<private_test> TEST=test/run_device_tests.py --flasher=jtrace --remote=localhost --board=dartmonkey TEST=test/run_device_tests.py --flasher=jtrace --remote=localhost --board=dartmonkey --tests=<private_test> Cq-Depend: chrome-internal:4650299, chrome-internal:4650281, chrome-internal:4650279 Signed-off-by: Andrea Grandi <agrandi@google.com> Change-Id: I67866ced27414d495bfad5eff9825cf68c8c22cf Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3562041 Reviewed-by: Tom Hughes <tomhughes@chromium.org> Feels: Tom Hughes <tomhughes@chromium.org> Reviewed-by: Bobby Casey <bobbycasey@google.com> Feels: Bobby Casey <bobbycasey@google.com>
* ec: Delete /dev/shm/EC_persist_* before testsJeremy Bettis2022-04-061-1/+1
| | | | | | | | | | | | | | | | | | Some tests (specifically flash) leave /dev/shm/EC_persist_* files on the disk and the behavior of the test changes when they exist. To get a consistent test, remove the corresponding files before running a host test. BRANCH=None BUG=b:213374060 TEST=Ran flash test 50 times Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I27a92adee1b181fdedf0b75bdd19a39e27bfa6af Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3572892 Tested-by: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Keith Short <keithshort@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* ec: Stop excluding some formerly flaky testsJeremy Bettis2022-04-061-2/+1
| | | | | | | | | | | | | | | | Now that the flaky lines in core/host/task.c are excluded, these tests don't flaky in coverage any more. BRANCH=None BUG=b:213374060 TEST=Ran tests 50 times each Signed-off-by: Jeremy Bettis <jbettis@google.com> Change-Id: I493c84900518663df622c19a6d0c217937ad9296 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3572889 Reviewed-by: Al Semjonovs <asemjonovs@google.com> Tested-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* test: Introduce panic data persistency testPatryk Duda2022-04-061-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | The test is going to check if panic data are correct after crash, soft reboot and hard reboot. In the last case we expect to have only 16 bits of a panic reason and info associated with reason. Checking panic data after soft reboot will make sure that RO doesn't overwrite part of panic data created by RW (eg. when doing sysjump). Doing the same checks after hard reboot will make sure that RO is able to restore panic data from backup RAM and RW is restoring any additional data which RO is not aware of (eg. panic flags) correctly. BUG=b:221087395 BRANCH=none TEST=./test/run_device_tests.py -b dartmonkey --test panic_data.* TEST=./test/run_device_tests.py -b bloonchipper --test panic_data.* Signed-off-by: Patryk Duda <pdk@semihalf.com> Change-Id: If84af40fc0045b633effbb32d61061ec20505516 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3555750 Reviewed-by: Andrea Grandi <agrandi@google.com> Reviewed-by: Bobby Casey <bobbycasey@google.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org> Commit-Queue: Patryk Duda <patrykd@google.com>
* ec: Stop excluding some tests for coverageJeremy Bettis2022-04-041-8/+3
| | | | | | | | | | | | | | | | | | These tests are not causing any coverage flakiness in 50 runs after merging with the other existing tests. BRANCH=None BUG=b:213374060 TEST=See bash commands in bug Change-Id: Iabcb703ebeb67f69c61cb16081d3bcd1287ed334 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3569782 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com> Commit-Queue: Yuval Peress <peress@google.com>
* ec: Stop excluding some tests for coverageJeremy Bettis2022-04-011-2/+1
| | | | | | | | | | | | | | | | | | | These tests are not causing any coverage flakiness in 50 runs after merging with the other existing tests. BRANCH=None BUG=b:213374060 TEST=See bash commands in bug Change-Id: Ib107a6a466c0f54dec9cd73bf5f8ea395eee3f29 Signed-off-by: Jeremy Bettis <jbettis@google.com> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3566209 Commit-Queue: Jeremy Bettis <jbettis@chromium.org> Tested-by: Jeremy Bettis <jbettis@chromium.org> Auto-Submit: Jeremy Bettis <jbettis@chromium.org> Reviewed-by: Yuval Peress <peress@google.com> Commit-Queue: Yuval Peress <peress@google.com> Feels: Yuval Peress <peress@google.com>
* test: add motion_sense_fifo back to test-coverageYuval Peress2022-04-011-1/+1
| | | | | | | | | | | | | | | | | | | | motion_sense_fifo was removed due to being non-deterministic. This appears to be caused by the motion_sense task pulling values from the fifo (but the tests still passing). - Remove the motion_sense task from the tasklist (not needed) - Add missing mutex that's needed for linking - Remove the test from the don't test list BRANCH=none BUG=none TEST=zmake test-coverage -j Signed-off-by: Yuval Peress <peress@google.com> Change-Id: Idb9a49166d578190458bfa4bf0125ec244559999 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3566112 Reviewed-by: Jeremy Bettis <jbettis@chromium.org> Commit-Queue: Jeremy Bettis <jbettis@chromium.org>
* Revert "test/run_device_tests.py: Add private tests"Hsu Wei-Cheng2022-03-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit b97ba790690d1ee86c001ef0a82be5897645ae2f. Reason for revert: failed chromeos-fpmcu-unittests Original change's description: > test/run_device_tests.py: Add private tests > > Currently, the list of tests is hard-coded in the Python script. > Add ability to fetch additional tests from the private folder, if > available. > > BRANCH=none > BUG=b:226385185 > TEST=cros lint test/run_device_tests.py > TEST=make V=1 run-<private_test> > TEST=test/run_device_tests.py --flasher=jtrace --remote=localhost > --board=dartmonkey > TEST=test/run_device_tests.py --flasher=jtrace --remote=localhost > --board=dartmonkey --tests=<private_test> > > Cq-Depend: chrome-internal:4633118, chrome-internal:4639001 > Signed-off-by: Andrea Grandi <agrandi@google.com> > Change-Id: I6d84b652d8f0e3d479bb227cbcc25d0b6f8f274b > Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3544427 > Reviewed-by: Tom Hughes <tomhughes@chromium.org> Bug: b:227414670, b:226385185 Cq-Depend: chrome-internal:4647165, chrome-internal:4647014 Change-Id: I751a8e0953f6d61a14ff9065ec930bdb774b5364 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3559970 Reviewed-by: David Stevens <stevensd@chromium.org> Reviewed-by: Morg <morg@chromium.org> Owners-Override: Morg <morg@chromium.org> Tested-by: Hsu Wei-Cheng <mojahsu@chromium.org> Commit-Queue: Hsu Wei-Cheng <mojahsu@chromium.org>
* test/run_device_tests.py: Add private testsAndrea Grandi2022-03-301-0/+1
| | | | | | | | | | | | | | | | | | | | | Currently, the list of tests is hard-coded in the Python script. Add ability to fetch additional tests from the private folder, if available. BRANCH=none BUG=b:226385185 TEST=cros lint test/run_device_tests.py TEST=make V=1 run-<private_test> TEST=test/run_device_tests.py --flasher=jtrace --remote=localhost --board=dartmonkey TEST=test/run_device_tests.py --flasher=jtrace --remote=localhost --board=dartmonkey --tests=<private_test> Cq-Depend: chrome-internal:4633118, chrome-internal:4639001 Signed-off-by: Andrea Grandi <agrandi@google.com> Change-Id: I6d84b652d8f0e3d479bb227cbcc25d0b6f8f274b Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3544427 Reviewed-by: Tom Hughes <tomhughes@chromium.org>
* test: Introduce system_is_locked unit testPatryk Duda2022-03-221-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | The test is intended to check system_is_locked() behaviour in the following conditions: - Hardware write protect is off - Hardware write protect is on but software write protect is off - Hardware write protect is on but software write protect is on BUG=b:217946520 BRANCH=none TEST=run_device_test.py --board dartmonkey \ --tests system_is_locked_wp_on TEST=run_device_test.py --board dartmonkey \ --tests system_is_locked_wp_off TEST=run_device_test.py --board bloonchipper \ --tests system_is_locked_wp_on TEST=run_device_test.py --board bloonchipper \ --tests system_is_locked_wp_off Signed-off-by: Patryk Duda <pdk@semihalf.com> Change-Id: Ibf90829c4a36fb5e5c8e790c598c26297fbba5b0 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3528399 Reviewed-by: Andrea Grandi <agrandi@google.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org> Tested-by: Patryk Duda <patrykd@google.com> Commit-Queue: Patryk Duda <patrykd@google.com>
* RGBKBD: Add RGB Keyboard taskDaisuke Nojiri2022-03-011-0/+2
| | | | | | | | | | | | | | This patch introduces a RGB keyboard task and a IS31FL3743B driver. BUG=b:203664745, b:213921985, b:199995751 BRANCH=None TEST=Vell and unit test. Change-Id: Iefc1714efca9a4dc70db5a024d1ab020ec7b69b6 Signed-off-by: Daisuke Nojiri <dnojiri@chromium.org> Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3342506 Reviewed-by: Jack Rosenthal <jrosenth@chromium.org> Reviewed-by: Aaron Massey <aaronmassey@google.com>
* cortex-m: Introduce FPU interrupt handlerPatryk Duda2022-02-031-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When performing some illegal operation or when result can't be represented using floats, the FPU will assert an interrupt which should be handled. After this change, the EC will inform about type of FPU exception and address where it ocurred. To reduce overhead, the FPU handler will only copy necessary information, schedule fpu_warn() function and clear FPU flags. Message is printed from fpu_warn() which is deferred function (it's called from HOOK task context). Please note that: - FPU interrupt is not asserted immediately after problem occurred, but with noticeable delay, so PC and LR might not be correct. - FPU interrupt will be never triggered on STM32H7 (see errata ES0392 Rev 8, 2.1.2 Cortex-M7 FPU interrupt not present on NVIC line 81). BUG=b:215606535 BRANCH=none TEST=./test/run_device_tests.py --board bloonchipper --tests cortexm_fpu TEST=./test/run_device_tests.py --board dartmonkey --tests cortexm_fpu Signed-off-by: Patryk Duda <pdk@semihalf.com> Change-Id: Ib6f6c974082affc35302a822f0beea176e204206 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3412259 Reviewed-by: Simon Glass <sjg@chromium.org> Reviewed-by: Bobby Casey <bobbycasey@google.com> Reviewed-by: Tom Hughes <tomhughes@chromium.org> Commit-Queue: Patryk Duda <patrykd@google.com>
* TCPMv2: Add pd console testsSam Hurst2022-01-251-1/+3
| | | | | | | | | | | | | | | Add tests to make sure the pd console is working properly BUG=b:151481791 BRANCH=none TEST=make run-usb_pd_console make -j buildall Signed-off-by: Sam Hurst <shurst@google.com> Change-Id: I0c7f150049ebda580686a45a909ca4af1ee32ee9 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3413652 Reviewed-by: Denis Brockus <dbrockus@chromium.org> Commit-Queue: Denis Brockus <dbrockus@chromium.org>
* charge_manager: test can EC_CMD_USB_PD_POWER_INFOAaron Massey2022-01-211-2/+2
| | | | | | | | | | | | | | | Enable the implementation of EC_CMD_USB_PD_POWER_INFO in test builds. Add a mock implementation of ADCs. BRANCH=none BUG=b:215389861 TEST=make buildall TEST=zmake configure --test test-drivers Signed-off-by: Aaron Massey <aaronmassey@google.com> Change-Id: Icdef25cfb8e01e62b680af87683ca1dd34f04542 Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3399877 Reviewed-by: Abe Levkoy <alevkoy@chromium.org>