Commit 8cc6ded
authored
[android] run a subset of lldb tests on arm64 (#157)
## Purpose
Enable a small subset of lldb tests to run on Android `arm64-v8a`
emulator for better test coverage.
Resolves #161
## Overview
* Rework the test matrix in the `test-android` job to include a single
`arm64-v8a` instance that runs tests from a subset of lldb test
directories (android, api, linux, and sanity).
* Add `emulator-build` field to test matrix so that the `arm64-v8a`
variant can select version 35.1.21.0 (build_id 12325540), which supports
arm images. Leave this field unspecified in the `x86_64` jobs because
they don't need it.
* Add `emulator-options` field to test matrix inputs and specify `-qemu
-machine virt -cpu max` options. Leave this field unspecified in the
`x86_64` jobs because they don't need it.
* Rename `api-level` matrix field to `android-api-level` for clarity.
* Pass `-gpu swiftshader_indirect` argument to all emulator instances
(arm and x86). This shouldn't really matter since we're running headless
tests anyway.
* Split the `processor` matrix field and into two fields: `arch` and
`llvm-arch`. For `x86_64`, these fields are set to the same value. For
`arm64-v8a`, the `llvm-arch` field is set to `aarch64` which is the
value expected by the lldb test suite.
* Add an upstream test exclusion list for the test cases that fail
running lldb-server on arm64 Android.
* Add a ds2 test exclusion list for the test cases that fail running ds2
on arm64 Android (that don't fail with lldb-server).
## Background
By using a slightly outdated version of the Android emulator (see
https://issuetracker.google.com/u/1/issues/373790939) and passing some
extra flags to qemu (-machine virt, -cpu max), it is possible to run an
Android arm64-v8a guest on an x86_64 host on an GitHub runner.
Because a qemu arm guest running on an x86_64 host uses software
emulation instead of virtualization, we'll limit the number of tests
that run to keep the job run time down.
Passing the `-machine virt` argument to qemu selects the generic virtual
hardware platform described
[here](https://www.qemu.org/docs/master/system/arm/virt.html).
Passing the `-cpu max` argument to qemu selects the best emulated cpu
option available.
## Validation
Verified the job runs and passes on this PR. Job run time is ~5 min,
which is briefer than the longest x86_64 test job which takes ~8 min.1 parent a825114 commit 8cc6ded
File tree
3 files changed
+60
-23
lines changed- .github/workflows
- Support/Testing/Excluded
- ds2
- upstream
3 files changed
+60
-23
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
408 | 408 | | |
409 | 409 | | |
410 | 410 | | |
411 | | - | |
412 | | - | |
413 | 411 | | |
414 | 412 | | |
415 | | - | |
416 | | - | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
417 | 416 | | |
418 | 417 | | |
419 | 418 | | |
| |||
424 | 423 | | |
425 | 424 | | |
426 | 425 | | |
427 | | - | |
428 | | - | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
429 | 429 | | |
430 | 430 | | |
431 | 431 | | |
432 | 432 | | |
433 | | - | |
434 | | - | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
435 | 436 | | |
436 | 437 | | |
437 | 438 | | |
438 | 439 | | |
439 | | - | |
440 | | - | |
| 440 | + | |
| 441 | + | |
| 442 | + | |
441 | 443 | | |
442 | 444 | | |
443 | 445 | | |
444 | | - | |
| 446 | + | |
| 447 | + | |
| 448 | + | |
| 449 | + | |
| 450 | + | |
| 451 | + | |
| 452 | + | |
| 453 | + | |
| 454 | + | |
| 455 | + | |
| 456 | + | |
| 457 | + | |
| 458 | + | |
| 459 | + | |
| 460 | + | |
| 461 | + | |
| 462 | + | |
| 463 | + | |
| 464 | + | |
445 | 465 | | |
446 | 466 | | |
447 | 467 | | |
| |||
454 | 474 | | |
455 | 475 | | |
456 | 476 | | |
457 | | - | |
| 477 | + | |
458 | 478 | | |
459 | 479 | | |
460 | 480 | | |
| |||
479 | 499 | | |
480 | 500 | | |
481 | 501 | | |
482 | | - | |
| 502 | + | |
483 | 503 | | |
484 | 504 | | |
485 | 505 | | |
| |||
491 | 511 | | |
492 | 512 | | |
493 | 513 | | |
494 | | - | |
495 | | - | |
| 514 | + | |
| 515 | + | |
| 516 | + | |
496 | 517 | | |
497 | | - | |
| 518 | + | |
498 | 519 | | |
499 | 520 | | |
500 | 521 | | |
501 | 522 | | |
502 | 523 | | |
503 | 524 | | |
504 | | - | |
505 | | - | |
| 525 | + | |
| 526 | + | |
| 527 | + | |
506 | 528 | | |
507 | 529 | | |
508 | 530 | | |
509 | 531 | | |
510 | 532 | | |
511 | 533 | | |
512 | 534 | | |
513 | | - | |
| 535 | + | |
514 | 536 | | |
515 | 537 | | |
516 | 538 | | |
| |||
523 | 545 | | |
524 | 546 | | |
525 | 547 | | |
526 | | - | |
| 548 | + | |
527 | 549 | | |
528 | 550 | | |
529 | 551 | | |
530 | | - | |
531 | | - | |
532 | | - | |
| 552 | + | |
| 553 | + | |
| 554 | + | |
533 | 555 | | |
534 | 556 | | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
Lines changed: 10 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
| 1 | + | |
| 2 | + | |
| 3 | + | |
| 4 | + | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
0 commit comments