Conversation

Replying to
CTS largely operates via adb. There's a whole lot of functionality available in `adb shell` that's largely to support the CTS. So, CTS has access as `adb shell` and as the many apps it installs, including device managers, accessibility services, etc. that it authorizes.
1
2
Replying to and
CTS is kind of unprivileged and does most of the testing via apps, but it also does a whole lot of stuff via `adb shell` that an app could never do, and it uses `adb shell` to install the thousands of different app-based test suites, etc.
1
1
Replying to and
If you look at the CTS modules list, you'll see a lot of modules with the term "Host" in their name, and that means a test suite that operates via `adb shell` and largely does the work on the host running the CTS test harness, not within an app on the device like most tests.
1
1
Replying to and
To fully pass the CTS, you need to have a non-test-key-signed release / user build. Something that amuses me is that the public CTS build published by Google isn't signed with release keys and it gets mad about the apps it sees using the test key that it installed itself.
1
2
Replying to
I think it's a set of app-based test suites that are installed and run on the device rather than host tests, and it just triggers LocalTransport via adb and then does most of the work via the code running on the device. I'm normally just running the CTS tests, not writing them.
1
Replying to
I *think* that test suite never actually pulls any data to the host? it just uses a lot of apks to exercise the transport, and matches logcat messages for what it can't do that way
2
1
Show replies