Commit graph

17231 commits

Author SHA1 Message Date
David Pursell
76f4a6533c Merge changes from topic 'adb_shell'
* changes:
  adb: add client side shell protocol and enable.
  adb: implement shell protocol.
2015-09-14 18:39:37 +00:00
Elliott Hughes
3bfb528346 am ad1c0bb5: Merge "Lose du to toybox."
* commit 'ad1c0bb5fd29d970514362388c00ced594b5acb4':
  Lose du to toybox.
2015-09-14 17:59:12 +00:00
Elliott Hughes
ad1c0bb5fd Merge "Lose du to toybox." 2015-09-14 17:50:09 +00:00
Elliott Hughes
5cf29bc9f9 Lose du to toybox.
Change-Id: Ib240f74990274027258a454d3c63202791fcdb0b
2015-09-14 10:37:52 -07:00
David Zeuthen
77557e9091 am d906b297: Merge "fs_mgr: Error out if unable to determine slot_suffix"
* commit 'd906b2973b9f708b34d4df90a2496753f83199ec':
  fs_mgr: Error out if unable to determine slot_suffix
2015-09-14 15:39:49 +00:00
David Zeuthen
d906b2973b Merge "fs_mgr: Error out if unable to determine slot_suffix" 2015-09-14 15:33:35 +00:00
Steve Fung
4a1bc3824e crash_reporter: Fix a couple crash_sender issues
- Added grep to the list of required modules.
- Run crash_sender with the 'system' group to allow calls to
  metrics_client to read both metrics files owned by system and
  crash_reporter files owned by root.
- Fix periodic_scheduler's check delay to actually be 5 minutes.

Bug: 23122375
Change-Id: Iff214c4e591a676a516162a92ea5aedcf0824f46
2015-09-14 03:08:27 -07:00
Daniel Erat
1b2bbba306 am 3fa97b3c: Merge "Add libbinderwrapper."
* commit '3fa97b3cc3787ad7a58a5348e147cef67d9439e6':
  Add libbinderwrapper.
2015-09-12 20:43:01 +00:00
Daniel Erat
3fa97b3cc3 Merge "Add libbinderwrapper." 2015-09-12 20:37:05 +00:00
Elliott Hughes
a2d380af88 am c372a778: Merge "libbase_test: get it building for Windows"
* commit 'c372a778626dffdf6d1be5f98eafa966a95be082':
  libbase_test: get it building for Windows
2015-09-12 03:24:43 +00:00
Elliott Hughes
c372a77862 Merge "libbase_test: get it building for Windows" 2015-09-12 03:16:51 +00:00
Spencer Low
b2d4949cee libbase_test: get it building for Windows
Add to whitelist.

For some reason, when compiling, parseint_test.cpp would encounter
errors like the following:

host cross C++: host_cross_libbase_test <= system/core/base/parseint_test.cpp
In file included from external/gtest/include/gtest/gtest.h:1929:0,
                 from system/core/base/parseint_test.cpp:19:
system/core/base/parseint_test.cpp: In member function ‘virtual void parseint_signed_smoke_Test::TestBody()’:
external/gtest/include/gtest/internal/gtest-internal.h:133:55: error: converting ‘false’ to pointer type for argument 1 of ‘char testing::internal::IsNullLiteralHelper(testing::internal::Secret*)’ [-Werror=conversion-null]
     (sizeof(::testing::internal::IsNullLiteralHelper(x)) == 1)
                                                       ^
external/gtest/include/gtest/gtest_pred_impl.h:77:52: note: in definition of macro ‘GTEST_ASSERT_’
   if (const ::testing::AssertionResult gtest_ar = (expression)) \
                                                    ^
external/gtest/include/gtest/gtest_pred_impl.h:166:3: note: in expansion of macro ‘GTEST_PRED_FORMAT2_’
   GTEST_PRED_FORMAT2_(pred_format, v1, v2, GTEST_FATAL_FAILURE_)
   ^
external/gtest/include/gtest/gtest.h:1993:3: note: in expansion of macro ‘ASSERT_PRED_FORMAT2’
   ASSERT_PRED_FORMAT2(::testing::internal:: \
   ^
external/gtest/include/gtest/gtest.h:1994:32: note: in expansion of macro ‘GTEST_IS_NULL_LITERAL_’
                       EqHelper<GTEST_IS_NULL_LITERAL_(expected)>::Compare, \
                                ^
external/gtest/include/gtest/gtest.h:2011:32: note: in expansion of macro ‘GTEST_ASSERT_EQ’
 # define ASSERT_EQ(val1, val2) GTEST_ASSERT_EQ(val1, val2)
                                ^
system/core/base/parseint_test.cpp:23:3: note: in expansion of macro ‘ASSERT_EQ’
   ASSERT_EQ(false, android::base::ParseInt("x", &i));
   ^

For whatever reason, the gcc for Windows isn't handling the template
metaprogramming correctly, so to work-around the issue, I
search-and-replaced "ASSERT_EQ(false, " to "ASSERT_FALSE(" and
"ASSERT_EQ(true, " to "ASSERT_TRUE(" and that seems to compile just fine
for Linux and Windows (and the tests pass on both platforms).

Change-Id: I05132909d1f4b18afff23139652a218649689f2d
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
2015-09-11 20:01:29 -07:00
David Pursell
3b43b16182 am 7b749acd: Merge "adb: fix shell_service_protocol_test for Windows."
* commit '7b749acd5f7de9448f851e84ac2d3d90d28e5f03':
  adb: fix shell_service_protocol_test for Windows.
2015-09-12 01:37:50 +00:00
David Pursell
7b749acd5f Merge "adb: fix shell_service_protocol_test for Windows." 2015-09-12 01:30:20 +00:00
David Pursell
b404dec85a adb: fix shell_service_protocol_test for Windows.
Adds missing #ifdef guards to shell_service_protocol_test.cpp so the
test compiles on Windows.

Also fixes a bug in Windows socketpair write implementation. Previously
it was only checking for a closed pipe if the write happened to block.
This adds an additional pre-check to exit immediately on a closed pipe.

These two changes allow the test to compile and pass on Windows.

Change-Id: Ib8853ed72f015fc0d623da47c32982cb3ffa4a3d
2015-09-11 18:28:27 -07:00
Elliott Hughes
e917d8ed62 am 9336ee38: Merge "Fix (Windows) build."
* commit '9336ee389f79296d04790d1a1dab6f55b6a4c221':
  Fix (Windows) build.
2015-09-11 23:23:52 +00:00
Elliott Hughes
61eee3636f am 0ad13cf2: Merge "fix adb_test Windows build"
* commit '0ad13cf2982d428a4db742877720e5f4be738fa4':
  fix adb_test Windows build
2015-09-11 23:23:50 +00:00
Elliott Hughes
9336ee389f Merge "Fix (Windows) build." 2015-09-11 23:18:48 +00:00
Elliott Hughes
2f577205fc Fix (Windows) build.
Change-Id: Ib9afd101d255d748ba6c15ed8075f3d10338c95c
2015-09-11 16:18:24 -07:00
Elliott Hughes
0ad13cf298 Merge "fix adb_test Windows build" 2015-09-11 23:13:40 +00:00
Elliott Hughes
0b60dae6d3 am ee46239c: Merge "adb: win32: make adb_getenv() case-insensitive"
* commit 'ee46239c358fac90813128fccbcb49292f8b04f3':
  adb: win32: make adb_getenv() case-insensitive
2015-09-11 23:05:02 +00:00
Elliott Hughes
ee46239c35 Merge "adb: win32: make adb_getenv() case-insensitive" 2015-09-11 22:59:19 +00:00
Spencer Low
e6ae573571 adb: win32: make adb_getenv() case-insensitive
adb_getenv() should be case-insensitive just like the real getenv() on
Windows.

Added a unittest for adb_getenv(). In the process, made adb_test link
with -municode so that the environment block is Unicode.

Move wmain() from main.cpp to sysdeps_win32.cpp so that adb_test could
also use it.

Because wmain() moved, it wasn't as easy to do the runtime check to
verify that -municode was used, so do that check in _ensure_env_setup()
since adb_getenv() is called early in adb anyway.

Added a utility ToLower() which is good enough for env vars whose keys
are probably always ASCII to begin with.

Change-Id: I082f7fdee9dfe2c7f76b878528d2f7863df6d8d1
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
2015-09-11 15:53:08 -07:00
Spencer Low
ebf770fd73 fix adb_test Windows build
adb/Android.mk: adb_test should build on Windows (and Darwin), so add to
the whitelist.

Change-Id: I778f6a7dff4caec92c48e0957591abf32f86ab1b
Signed-off-by: Spencer Low <CompareAndSwap@gmail.com>
2015-09-11 15:47:20 -07:00
Dan Albert
8569a3b322 am 933f4fd4: Merge "Ensure that libbase and liblog can be built for Windows."
* commit '933f4fd413f5a6c0e32c7963f1d0da580085df38':
  Ensure that libbase and liblog can be built for Windows.
2015-09-11 22:14:35 +00:00
Elliott Hughes
3125457759 am 059544f6: Merge "Lose lsof to toybox."
* commit '059544f6a8e809ec8c36a10c286be4bb012e2328':
  Lose lsof to toybox.
2015-09-11 22:14:33 +00:00
David Pursell
90ba84b286 am 31139af0: Merge "adb: create shell protocol class (take 2)."
* commit '31139af04f97c843db2a98c7fafc1d58d7f7c8ac':
  adb: create shell protocol class (take 2).
2015-09-11 22:14:17 +00:00
Elliott Hughes
add42fdf63 am b56bd000: Merge "Add ParseInt (and ParseUint)."
* commit 'b56bd000460254aacaaa897a07e90191b05e7160':
  Add ParseInt (and ParseUint).
2015-09-11 22:14:15 +00:00
James Hawkins
861edb6261 am b02b6f41: Merge "metrics: Add an option to metrics_client to dump the logs cache."
* commit 'b02b6f410d5c92c7b016ed26895b5e21c16418a9':
  metrics: Add an option to metrics_client to dump the logs cache.
2015-09-11 22:14:03 +00:00
Dan Albert
933f4fd413 Merge "Ensure that libbase and liblog can be built for Windows." 2015-09-11 20:47:07 +00:00
Elliott Hughes
059544f6a8 Merge "Lose lsof to toybox." 2015-09-11 20:44:48 +00:00
David Pursell
606835ae5c adb: add client side shell protocol and enable.
Adds the shell protocol functionality to the client side and enables it
if the transport supports the feature.

Bug:http://b/23031026
Change-Id: I9abe1c8b1d39f8dd09666321b1c761ad708a8854
2015-09-11 13:02:17 -07:00
Stephen Hines
b0e4f08226 Ensure that libbase and liblog can be built for Windows.
Change-Id: If4adf1e2bd7ec36a7f02ae2e263d2db5187c6e7b
2015-09-11 11:39:16 -07:00
David Pursell
0955c66b22 adb: implement shell protocol.
Adds functionality for handling stdin/stdout/stderr streams and exit
codes using the shell protocol.

This CL just contains implementation for adbd which will not yet be
enabled. Once we have the ability to query transport features from the
adb client, another CL will add the implementation for the client side
and update the feature list to turn this on.

Note: this CL must be submitted together with a minadbd CL to update
the service_to_fd() function signature.

Bug: http://b/23030641

Change-Id: Ibed55e9c1946d8a35190696163ff63e8fb880238
2015-09-11 11:27:50 -07:00
David Pursell
31139af04f Merge "adb: create shell protocol class (take 2)." 2015-09-11 18:17:55 +00:00
Elliott Hughes
b56bd00046 Merge "Add ParseInt (and ParseUint)." 2015-09-11 18:00:20 +00:00
Elliott Hughes
42325f073c Lose lsof to toybox.
Change-Id: I4b5e0c8c33f5b2dfd3db85628d9a657940978a10
2015-09-11 10:58:21 -07:00
David Zeuthen
bd0231c96b fs_mgr: Error out if unable to determine slot_suffix
Instead of falling back to suffix _a, we now error out if neither the
kernel commandline nor the misc partition specifies the suffix. It's
cleaner this way.

Change-Id: I3f58928a664433504ebdf8d0ee05a319be5097cf
2015-09-11 12:53:18 -04:00
James Hawkins
b02b6f410d Merge "metrics: Add an option to metrics_client to dump the logs cache." 2015-09-11 16:39:19 +00:00
Steve Fung
520a3349b2 am a2e5b7cb: Merge "crash_reporter: Fix crash_sender"
* commit 'a2e5b7cb625169ec857fccd73003f912752b985c':
  crash_reporter: Fix crash_sender
2015-09-11 06:34:18 +00:00
Steve Fung
a2e5b7cb62 Merge "crash_reporter: Fix crash_sender" 2015-09-11 06:29:28 +00:00
Mark Salyzyn
e66f84d7e6 am 784a69f8: Merge "logd: worst uid record watermark part five"
* commit '784a69f8650068980bcc692584b515ab2372ab5b':
  logd: worst uid record watermark part five
2015-09-10 16:30:36 +00:00
Mark Salyzyn
784a69f865 Merge "logd: worst uid record watermark part five" 2015-09-10 16:24:25 +00:00
Mark Salyzyn
5bb2972dce logd: worst uid record watermark part five
A regression that resulted in increased memory consumption for some
logging patterns because we rarely did merge or leading checks, and
age-out checking. On the last prune cycle, we reset for a full scan.

Add some comments describing the pruning processes.

Bug: 23327476
Bug: 23681639
Bug: 23685592
Change-Id: I22b0f339c9269b006831fda9cefe295a263ebb92
2015-09-10 08:43:03 -07:00
Steve Fung
0e8746d895 crash_reporter: Fix crash_sender
- Remove all the ChromeOS specific logic.
- Fix paths to correct Android paths.
- Add periodic_scheduler, and add crash_sender to init.

Bug: 23231196
Bug: 23233267

Change-Id: I12de28bfbe5d5b08831eda9b28c6d7a669c22290
2015-09-09 17:06:33 -07:00
David Zeuthen
80364b94bc am 6ca11db7: Merge "fs_mgr: Fix ENOMEM behavior when dealing with slotselect."
* commit '6ca11db7b7dc5e141c767b38328c3838a3b90b60':
  fs_mgr: Fix ENOMEM behavior when dealing with slotselect.
2015-09-09 22:52:32 +00:00
David Zeuthen
6ca11db7b7 Merge "fs_mgr: Fix ENOMEM behavior when dealing with slotselect." 2015-09-09 22:45:24 +00:00
James Hawkins
5f6460081c metrics: Add an option to metrics_client to dump the logs cache.
The format of the metrics dump is rudimentary just yet. Here is an example:

  Metrics from /data/misc/metrics/uma-events

  name: hello     type: USER_ACTION
  name: world     type: USER_ACTION

This required the following changes:
* Added -d option to metrics_client
* Refactored file handling in SerializationUtils
 - Factored out file opening and log parsing into helper methods
 - Added ReadMetricsFromFile which is read-only so does not truncate the file

Change-Id: I6032d74242c79c678ec42a14e78fccc54e7af455
2015-09-09 15:23:24 -07:00
David Zeuthen
744a8f87d9 fs_mgr: Fix ENOMEM behavior when dealing with slotselect.
Change-Id: I5460a8d31baa0d4817ff5fcbd9aac272071937f4
2015-09-09 18:03:13 -04:00
Daniel Erat
be43a39ff5 Add libbinderwrapper.
Add a library that wraps libbinder to make it possible to
write tests for native code that communicates via binder.

Bug: 23791723
Change-Id: I3c842413e0f07dc252040c042d664031b0354353
2015-09-09 14:21:28 -06:00