Commit graph

2162 commits

Author SHA1 Message Date
Chih-Hung Hsieh
38997e4aed Use -Werror in bionic/tests
Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: I64a0458c787054a0694c736be20dc53772ff3781
2017-11-16 13:51:17 -08:00
Elliott Hughes
ff279d0f7a Merge "Change ARG_MAX/_SC_ARG_MAX back to a constant."
am: 8c75675ec6

Change-Id: I87d269067bd40e600dbb4e804ed952fdce861473
2017-11-16 21:49:11 +00:00
Elliott Hughes
baed51ee3a Change ARG_MAX/_SC_ARG_MAX back to a constant.
As per the lkml thread https://lkml.org/lkml/2017/11/1/946.

Bug: http://b/65818597
Test: ran tests
Change-Id: I7a0610e6903e6761f2b31416e2f5017bd7a60659
2017-11-15 15:14:35 -08:00
Elliott Hughes
1a24e07da9 Merge "Reduce unnecessary quoting for --gtest_filter."
am: de5f9a1c54

Change-Id: I8e35d3796e880a60e73f3dfe18ec412eacfded3c
2017-11-15 22:49:07 +00:00
Elliott Hughes
de5f9a1c54 Merge "Reduce unnecessary quoting for --gtest_filter." 2017-11-15 22:38:30 +00:00
Tom Cherry
fe21bf5e18 Merge "Only use uids and gids for which we've allocated AIDs"
am: 966f659d7f

Change-Id: I502117ac5afcd828ba74a23469718ae68867c99d
2017-11-15 21:47:44 +00:00
Tom Cherry
4362f897f7 Only use uids and gids for which we've allocated AIDs
Currently, getpwnam, getpwent, etc return successfully for any uid
from AID_APP_START (10000) to AID_USER_OFFSET (100000) for each user.
This is not correct however, as only specific ranges above
AID_APP_START are reserved as valid ranges.  This change corrects this.

This is particularly important as the newly added AID_OVERFLOWUID is
65534, which is above AID_APP_START but not in any reserved range,
collided with the faulty returned values.

Bug: 69119022
Bug: 69128408
Test: pwd/grp bionic unit tests
Change-Id: I3dae97a90597915fa30a88fe27cda88b107e9c35
2017-11-15 10:31:49 -08:00
Elliott Hughes
10ba4bd6d1 Reduce unnecessary quoting for --gtest_filter.
Use posix_spawn rather than popen, to remove a surprising extra shell.

Bug: http://b/68949647
Test: /data/nativetest64/bionic-unit-tests/bionic-unit-tests --gtest_filter=stdio.swprintf_1$ju_UINTMAX_MAX
Change-Id: Id90afab04ee799932de9f5ca7e580e61ecfde7a4
2017-11-15 09:30:16 -08:00
Xin Li
74d57a37cb Merge commit 'e3d21c84af0b8e3244e4c67a873d2a16bfb85034' into HEAD
Change-Id: I09b21c2e27a0dfbef10633b20d8ee7adbedc1597
2017-11-14 13:14:23 -08:00
Treehugger Robot
1c9f04464b Merge "Better test handling and logging in grp_pwd_test.cpp" 2017-11-10 21:11:37 +00:00
Tom Cherry
2c05c0f9b0 Better test handling and logging in grp_pwd_test.cpp
grp_pwd_test.cpp uses ASSERT_ where EXPECT_ is possible, causing
missing failures when multiple failures are present.

Also, print out the uid/gid in the _iterate tests, to make debugging
easier.

Test: these same unit tests
Change-Id: I839b74fb86232b3e896091e76ab862cc5b6b8782
2017-11-10 10:57:21 -08:00
Treehugger Robot
843e340874 Merge "Add trivial test for __memrchr_chk." 2017-11-10 01:57:24 +00:00
Elliott Hughes
55a8cc2a0d Add trivial test for __memrchr_chk.
Bug: N/A
Test: ran tests
Change-Id: I42aefcbf1fac6b96e56a0e21f94586a3caa524dc
2017-11-09 15:46:51 -08:00
Elliott Hughes
a6092a9a75 Merge "Add trivial tests for the <resolv.h> base64 functions." 2017-11-09 23:09:18 +00:00
Elliott Hughes
1670e2a298 Merge "Add trivial ttyname(3) test." 2017-11-09 23:08:28 +00:00
Elliott Hughes
728cde5be9 Add trivial ttyname(3) test.
Bug: N/A
Test: ran tests
Change-Id: Id5bf51a9c50db0fdbc9df0225165e87e698d0c83
2017-11-08 21:53:50 -08:00
Elliott Hughes
32f608dd46 Remove test that adds no coverage.
qsort_test doesn't test anything that stdlib's qsort tests don't already cover.

Bug: N/A
Test: ran tests
Change-Id: I6df3008d82083f1120a2027e759dc7cf77cc4e3b
2017-11-08 21:40:55 -08:00
Elliott Hughes
70f020953b Add trivial tests for the <resolv.h> base64 functions.
Bug: N/A
Test: ran tests
Change-Id: Ib57443efb03dbaddbe69e21949ebc8df6cf8a4bb
2017-11-08 21:13:15 -08:00
Treehugger Robot
265b1ab966 Merge "Change bool, and string properties to *bool, and *string for cc" 2017-11-08 18:41:33 +00:00
Treehugger Robot
3404bb11a3 Merge "Allow 32-bit fseeko/fseeko64 SEEK_CUR/SEEK_SET to exceed 2 GiB" 2017-11-08 01:57:38 +00:00
Ryan Prichard
bf54986d19 Allow 32-bit fseeko/fseeko64 SEEK_CUR/SEEK_SET to exceed 2 GiB
Bug: http://b/68837650
Test: /data/nativetest/bionic-unit-tests/bionic-unit-tests
Test: /data/nativetest/bionic-unit-tests-static/bionic-unit-tests-static
Test: /data/nativetest64/bionic-unit-tests/bionic-unit-tests
Change-Id: I367e0238c31d35f76d8ad89fd0aa27ecfeb7c149
2017-11-07 15:34:23 -08:00
Nan Zhang
dab0fd582f Change bool, and string properties to *bool, and *string for cc
there's no use case for prepending/appending to bool, and string
properties within module struct. Declearing "*bool" and "*string" almost
cover everything user need.

Test: m -j checkbuild
Bug: b/68853585
Change-Id: I8342d4a43fb81f2842532ddb38fba414767ac82a
2017-11-07 12:39:10 -08:00
Treehugger Robot
8574a1f630 Merge "Fix arm/arm64 <fenv.h> to match current reality." 2017-11-07 18:50:41 +00:00
dimitry
109040c868 Add test checking library unload on dlclose
Bug: http://b/68262627
Test: Run bionic-unit-tests --gtest_filter=dl*:Dl*
Change-Id: Ied85bc4ab37524cfcdbc33fd6c6e69b8d87ee08a
2017-11-07 10:51:59 +01:00
Elliott Hughes
b6c7f6e595 Fix arm/arm64 <fenv.h> to match current reality.
ARM stopped supporting enabling of FP exceptions years ago.

Bug: http://b/68832485
Test: ran tests
Change-Id: I8450baa78e04d994c352180975b0a1ecd5a9f662
2017-11-03 16:46:32 -07:00
Raj Mamadgi
527229cb72 Fix for dlfcn.rtld_next_from_library.
Using fclose to get the same address for the test assertion because
Samsung already uses LD_PRELOAD to intercept `close`.

Bug: http://b/67978141
Bug: http://b/68855476
Test: ran tests
Change-Id: I2da463e8b27e0db5cb1ba370d30f0402d7531396
Signed-off-by: Raj Mamadgi <r.mamadgi@samsung.com>
2017-11-03 15:00:09 -07:00
Elliott Hughes
232541aa02 Merge "More printf de-duplication." 2017-11-03 15:26:02 +00:00
Elliott Hughes
3a33da5d73 Merge "Fix pthread test race conditions." 2017-11-03 04:55:33 +00:00
Elliott Hughes
4f97cffd29 Merge "Add basic tests for the remaining 9 libm <fenv.h> functions." 2017-11-03 02:52:03 +00:00
Elliott Hughes
618303ca4a More printf de-duplication.
Fix the 'j' (intmax_t/uintmax_t) length qualifier in the wide
variant. (With new tests that fail without this fix.)

Fix a typo in the wide support for intmax_t*, which isn't testable because
%n is disabled on Android (and will be removed in a later cleanup pass).

Also move the public vfprintf/vfwprint functions into stdio.cpp.

Bug: http://b/67371539
Test: ran tests
Change-Id: Ib003599b1e9cb789044a068940b59e447f2cb7cb
2017-11-02 16:58:44 -07:00
Elliott Hughes
18a1957444 Add basic tests for the remaining 9 libm <fenv.h> functions.
It seems that feenableexcept/fegetexcept are lying to us on arm/arm64
because the hardware doesn't actually support such functionality. When
I get confirmation of that from ARM I'll fix the <fenv.h> implementation
correspondingly --- writing to/reading from reserved FP control register
bits as we currently do doesn't seem like the best of ideas.

Bug: http://b/31742322
Test: ran tests on arm/arm64/x86/x86-64
Change-Id: If78f83ddab221b568fa168c3364a7ae95c024983
2017-11-02 16:18:43 -07:00
Elliott Hughes
0bd9d13572 Fix pthread test race conditions.
Guarantee that threads live long enough for us to fiddle with them.

Bug: http://b/68768209
Test: ran tests
Change-Id: I06b1bb64fec9f8181b5f5b43ca1030e255fdccc1
2017-11-02 13:11:13 -07:00
Elliott Hughes
eed523e7cb Merge "Test __fpclassify/__isinf/__isnan." 2017-11-02 16:54:40 +00:00
Elliott Hughes
46621f43b0 Merge "Start de-duplicating the regular and wide printf implementations." 2017-11-02 15:44:32 +00:00
Elliott Hughes
9ecd2cc0a2 Test __fpclassify/__isinf/__isnan.
These are obsolete aliases for equally obsolete functions, but apps built
with old versions of the NDK might still be emitting references to them.

Bug: N/A
Test: ran tests
Change-Id: I6eab910e3cd4d322604167799e83b5b7411c04c3
2017-11-01 22:17:26 -07:00
Elliott Hughes
2f9c8ce38a Start de-duplicating the regular and wide printf implementations.
This patch switches to C++ (in anticipation of needing it later), removes
a little duplication (via a macro for now), and ensures uniform support
for %C/%lc and %S/%ls between regular and wide (with new tests).

Since it's so hard to debug problems in printf (as the time I've wasted
already today will testify), that's all I want to do in this change. The
other 500 lines of diff can wait...

(Also merge "floatio.h" into "local.h" now all the users are in forked
code.)

Bug: http://b/67371539
Test: ran tests
Change-Id: I083353d89c32b9302d759ca6967cc6d8a62cd8a5
2017-11-01 18:13:36 -07:00
Chih-Hung Hsieh
b1cc5bd276 Use -Werror in bionic/tests
* Should not use -Wno-error

Bug: 66996870
Test: build with WITH_TIDY=1
Change-Id: I92552b0d9860835216500c4f57574cd2928b24f1
2017-11-01 14:13:24 -07:00
Treehugger Robot
07e412419b Merge "More missing _unlocked <stdio.h> functions." 2017-10-31 22:43:34 +00:00
Elliott Hughes
37ad959783 More missing _unlocked <stdio.h> functions.
Also simplify trivial one-liners like perror/puts/fputs, and clean up
fread/fwrite slightly.

Fix perror to match POSIX.

Add basic perror and *_unlocked tests.

Bug: N/A
Test: ran tests
Change-Id: I63f83c8e0c15c3c4096509d17421ac331b6fc23d
2017-10-31 13:23:41 -07:00
George Burgess IV
0086fc813e Rename the fortify compile-time diags test
Following up on comments from I40c66ff9e638b306878ada006bc2c98f2346e77a.
My best attempt at a name that conveys "a test that fails to compile in
N different ways with FORTIFY enabled, and is intended to be used with
either FileCheck, or as a cheap way to check that FORTIFY is getting
properly disabled given some set of flags."

Bug: None
Test: mma.
Change-Id: I6d62875bd1cabc5d01b10ae0f03accd5ee5c8c0a
2017-10-31 13:14:56 -07:00
George Burgess IV
e5d66eb86a libc: Disable FORTIFY if we're using clang-tidy.
Having FORTIFY enabled for clang-tidy adds no value, and breaks some
heuristics for recognizing standard library functions (see the bug).

This also disables FORTIFY for the static analyzer (which we use
through clang-tidy), because it presumably tries to recognize standard
library functions through similar heuristics.

Bug: 36664104
Test: mma with and without the patch to cdefs. New test breaks without.
Change-Id: I40c66ff9e638b306878ada006bc2c98f2346e77a
2017-10-30 22:30:40 -07:00
Elliott Hughes
7a66066e66 Fix pthread.pthread_attr_setinheritsched__PTHREAD_INHERIT_SCHED__PTHREAD_EXPLICIT_SCHED for LP32.
LP32 continues to ignore failures to set scheduler attributes for
backwards compatibility with pre-Honeycomb bugs :-(

Bug: http://b/68486614
Test: ran tests (32-bit and 64-bit!)
Change-Id: I18a012cdf2f3c5bb63a5367bca2bac2de7f53ae2
2017-10-30 09:26:06 -07:00
Elliott Hughes
6c1d23f059 Merge "Improve glibc compatibility of gethostby*_r functions." 2017-10-26 16:51:43 +00:00
Elliott Hughes
c8a2612ffc Merge "Implement pthread_attr_getinheritsched/pthread_attr_setinheritsched." 2017-10-26 16:12:04 +00:00
Elliott Hughes
8aecba7aa6 Implement pthread_attr_getinheritsched/pthread_attr_setinheritsched.
Historically, Android defaulted to EXPLICIT but with a special case
because SCHED_NORMAL/priority 0 was awkward. Because the code couldn't
actually tell whether SCHED_NORMAL/priority 0 was a genuine attempt to
explicitly set those attributes (because the parent thread is SCHED_FIFO,
say) or just because the pthread_attr_t was left at its defaults.

Now we support INHERIT, we could call sched_getscheduler to see whether
we actually need to call sched_setscheduler, but since the major cost
is the fixed syscall overhead, we may as well just conservatively
call sched_setscheduler and let the kernel decide whether it's a
no-op. (Especially because we'd then have to add both sched_getscheduler
and sched_setscheduler to any seccomp filter.)

Platform code (or app code that only needs to support >= P) can actually
add a call to pthread_attr_setinheritsched to say that they just want
to inherit (if they know that none of their threads actually mess with
scheduler attributes at all), which will save them a sched_setscheduler
call except in the doubly-special case of SCHED_RESET_ON_FORK (which we
do handle).

An alternative would be "make pthread_attr_setschedparams and
pthread_attr_setschedprio set EXPLICIT and change the platform default
to INHERIT", but even though I can only think of weird pathological
examples where anyone would notice that change, that behavior -- of
pthread_attr_setschedparams/pthread_attr_setschedprio overriding an
earlier call to pthread_attr_setinheritsched -- isn't allowed by POSIX
(whereas defaulting to EXPLICIT is).

If we have a lot of trouble with this change in the app compatibility
testing phase, though, we'll want to reconsider this decision!

 -*-

This change also removes a comment about setting the scheduler attributes
in main_thread because we'd have to actually keep them up to date,
and it's not clear that doing so would be worth the trouble.

Also make async_safe_format_log preserve errno so we don't have to be
so careful around it.

Bug: http://b/67471710
Test: ran tests
Change-Id: Idd026c4ce78a536656adcb57aa2e7b2c616eeddf
2017-10-25 14:28:42 -07:00
Elliott Hughes
fc30bfe2a4 Don't try to link(2) in a test if we're not root.
Bug: http://b/68055982
Test: ran tests
Change-Id: Icdbe3dd58fb84f3661e5d9ed3ff6884cc0ea2ff8
2017-10-24 22:54:34 -07:00
Dimitry Ivanov
0b1c8be3be Merge "linker: fix error message for inaccessible libs" 2017-10-24 06:44:19 +00:00
Elliott Hughes
bb7d9fb5d4 Improve glibc compatibility of gethostby*_r functions.
And add more tests.

Bug: N/A (but I'm here because a recent test broke existing tests)
Test: ran tests
Change-Id: Ib78430f179b43484a49bb50ff447ea6870c1ee3a
2017-10-23 17:38:35 -07:00
Treehugger Robot
8220d84f52 Merge "Fix WORD_BIT test." 2017-10-23 21:00:02 +00:00
Elliott Hughes
dc8a612bf3 Fix WORD_BIT test.
The only explanation for this and the unistd_test failures is that I
wasn't actually running the code I thought I was. There are some unrelated
netdb_test failures still to come...

Bug: N/A
Test: ran tests
Change-Id: I91af9d2d6a42f5433fa27e7cd8f5b903e1af36ba
2017-10-23 12:06:30 -07:00
Elliott Hughes
cf3a3e6774 Fix unistd.sysconf test.
A previous change added new assertions about these, but didn't remove
these old now-invalid assertions.

Bug: http://b/68133223
Test: ran tests
Change-Id: Ib6ce6e5f7abe143f2c871e074e7fd51faaf452ac
2017-10-23 17:10:53 +00:00
dimitry
8db36a51ff linker: fix error message for inaccessible libs
Added a test to make sure linker produces correct error message
when user attempts to load a library in a linked namespace and fails.

Bug: http://b/67866190
Bug: http://b/64950640
Bug: http://b/64888291
Test: bionic-unit-test --gtest_filter=dlext*
Change-Id: I5b5c2070d1388eff123118350b2b5c8fc7571a29
2017-10-23 15:14:01 +02:00
Treehugger Robot
8f348a0cce Merge "Remove some legacy declarations from <math.h>." 2017-10-20 18:40:17 +00:00
Treehugger Robot
619df557c0 Merge "Fix: linker segfault on dlopen of a DF_1_GLOBAL so" 2017-10-20 00:55:59 +00:00
Treehugger Robot
ac29d9f3b9 Merge "Add POSIX swab." 2017-10-19 21:49:29 +00:00
Elliott Hughes
5c6a7bf0dc Remove some legacy declarations from <math.h>.
These are still needed for backwards compatibility with code built by old
versions of the NDK, but we don't need to pollute the headers with them.

Also lose the hand-written code for these. The compiler-generated code
is either the same or better, and no new code is calling these functions
anyway.

Bug: N/A
Test: ran tests
Change-Id: Ib01ad9805034433e0105aec882608cc8e6526f78
2017-10-19 14:15:31 -07:00
Elliott Hughes
a1c30b98e9 Merge "Add POSIX fexecve." 2017-10-19 15:42:56 +00:00
Dimitry Ivanov
d6084a764e Merge "Use ro.debuggable property instead of checking build type" 2017-10-19 06:51:21 +00:00
Jiyong Park
01162f2469 Fix: linker segfault on dlopen of a DF_1_GLOBAL so
Added the missing null check routine.

Bug: 67755729
Test: dlfcn.dlopen_df_1_global added and it passes
Change-Id: Ibe8db18b0b5a481e2e9937041abef6d6b179dd87
2017-10-19 15:13:54 +09:00
Elliott Hughes
e3d21c84af Merge "More <limits.h> fixes." am: 8f57fd4179 am: 4dd32e00f7
am: 47ffbcad0f

Change-Id: Ia75335d51f86594d2c828e0b6c5fa492b675c6df
2017-10-18 23:35:03 +00:00
Elliott Hughes
4d215aad85 Add POSIX fexecve.
I'm skeptical about the usefulness of this, but it's in POSIX, it's
in glibc (but not iOS), and it is used in some internal source (test
runners and container code).

Bug: N/A
Test: ran tests
Change-Id: I92c5398f2a679b21a33fba92bc8e67e3ae2eb76f
2017-10-18 16:26:17 -07:00
Elliott Hughes
fa386e0d1e Add POSIX swab.
Surprisingly to me, there are actual uses of `swab` in the codebases
I have available to search, including one with a #ifndef __ANDROID__
around it.

Bug: N/A
Test: ran tests
Change-Id: Ic91b78ae22bb65c346cb46dd38916f48d979abe0
2017-10-18 13:34:32 -07:00
Elliott Hughes
19d7685982 More <limits.h> fixes.
Went through the POSIX spec for the _POSIX* and _XOPEN* constants.

Bug: http://b/32776472
Test: ran tests
Change-Id: I389100dbc7de354eae9056e44b0a7fa8c37374e3
2017-10-18 13:27:01 -07:00
dimitry
59d3062f51 Use ro.debuggable property instead of checking build type
Test: make
Change-Id: I094663c20721f345cd6684e06fcef38f300790be
2017-10-18 13:23:08 +02:00
Elliott Hughes
9793ea25c4 Merge "Add pthread_setschedprio." am: 435e6384de am: 0cf1a3699b
am: 463ab4b0f5

Change-Id: If6f7adf5f9c824e24309682309762e9ed40ab83b
2017-10-17 18:08:58 +00:00
Elliott Hughes
dff08ced56 Add pthread_setschedprio.
Bug: http://b/26204555
Test: ran tests
Change-Id: Ic34062b9b6036a1ce2642a069514bab48a893338
2017-10-17 09:14:05 -07:00
Elliott Hughes
f22fd343d7 Merge "Complete <netdb.h>." am: bf886f621b am: 8b9405e779
am: c7a36acf91

Change-Id: Idb39ed2af66acd1db2268833845d1143b02c3747
2017-10-17 16:12:23 +00:00
Elliott Hughes
bf886f621b Merge "Complete <netdb.h>." 2017-10-17 16:03:54 +00:00
Josh Gao
11e18a31dc Merge changes I93dc3811,I710d2929,I6ae029ed am: d4b4f06cad am: 9a0a7b3f5c
am: a29ad1565c

Change-Id: I35c66a1394f4d9201aea78d3ddadcc4c91e90143
2017-10-17 06:39:16 +00:00
Josh Gao
084f6ec9af Don't use PR_SET_DUMPABLE to prevent crash dumping in death tests.
Bug: http://b/27833000
Test: bionic-unit-tests are way faster
Change-Id: I6ae029edcd4c4b4b0dfaf613fc17c208d3cb24d1
2017-10-16 21:31:37 -07:00
Elliott Hughes
5033918092 Complete <netdb.h>.
Add all the missing <netdb.h> functions.

Also fix getservbyport to handle a null protocol correctly.

Also fix getservbyname/getservbyport to not interfere with getservent.

Also fix endservent to reset getservent iteration.

Also reduce unnecessary differences from upstream NetBSD sethostent.c.

The servent implementation is still horrific, and we should
probably support protoent too so that debugging tools can use
getprotobyname/getprotobynumber.

Bug: N/A
Test: ran tests
Change-Id: I639108c46df0a768af297cf3bbce857cb1bef9d9
2017-10-15 10:37:51 -07:00
Elliott Hughes
bea6a12ee0 Merge "Implement <spawn.h>." am: 01bb7bf6fb am: 1f1c3a8b80
am: bb5e49fcde

Change-Id: I44b79c654dcda78ce45239bd2a1051cfd0c9c285
2017-10-12 21:31:46 +00:00
Elliott Hughes
01bb7bf6fb Merge "Implement <spawn.h>." 2017-10-12 21:02:54 +00:00
dimitry
b48bb2dae3 Merge "ns_anonymous test: Make it work for natively bridged environment" am: b49ac81c8e am: 1ac327aed7
am: 24837ada27

Change-Id: I3525fdbfff4ae1b41ef9525a1a742a1304016221
2017-10-12 17:42:32 +00:00
Treehugger Robot
b49ac81c8e Merge "ns_anonymous test: Make it work for natively bridged environment" 2017-10-12 17:26:32 +00:00
dimitry
8eaf28dc42 ns_anonymous test: Make it work for natively bridged environment
The executable flag might not be present for the executable segment
if the code is being handled by native bridge implementation. This
commit changes the test to restore executable flag for first segment
if it was removed.

Test: bionic-unit-tests
Change-Id: Ie930539135edc4db3245574b5cbe476aa1ad49c7
2017-10-12 15:02:16 +02:00
Tom Cherry
b02df314d3 Merge "Allow read-only system properties to have arbitrary lengths" am: a08f704e2a am: 127c1f940e
am: 4735c9291f

Change-Id: I2b7983aca2a54cd2119b0efb35b21b7f3e534939
2017-10-12 00:50:14 +00:00
Tom Cherry
a08f704e2a Merge "Allow read-only system properties to have arbitrary lengths" 2017-10-12 00:22:57 +00:00
Elliott Hughes
14e3ff9f09 Implement <spawn.h>.
As described here:

  http://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_spawn.html

And here:

  http://man7.org/linux/man-pages/man3/posix_spawn.3.html

Bug: N/A (but mentioned in my inbox since 2013)
Test: ran tests
Change-Id: I0b27b2919b660779e3bd8a25fb429527c16dc621
2017-10-11 14:57:49 -07:00
dimitry
9bff7d8814 Merge "Fix dlopen_vdso test" am: 1d297d2654 am: c46b602403
am: ab0a1d5cd6

Change-Id: I5fb27cd474afc34f6736aef8b227121f0cdf7260
2017-10-11 19:40:04 +00:00
Treehugger Robot
1d297d2654 Merge "Fix dlopen_vdso test" 2017-10-11 19:17:10 +00:00
dimitry
b9555a9251 Fix dlopen_vdso test
arm32 is still missing vdso (at least on some kernels).
This commit adds explicit check for it and skip the test
if AT_SYSINFO_EHDR is not set.

Test: run 32bit bionic-unit-tests --gtest_filter=dlfcn.dlopen_vdso on angler
Change-Id: I7fae78c6a4f819601a4ac9e8e1da53ff07c833ff
2017-10-11 18:04:05 +02:00
Kazuhiro Inaba
8bffeaba27 Merge "Fix fcntrl#tee test to use the same expected/actual buffer size." am: a52555d356 am: 67c73cde0b
am: a1933210ef

Change-Id: I0b77906eaa0b3019b7f8170d4199595918213a24
2017-10-10 23:56:08 +00:00
Treehugger Robot
a52555d356 Merge "Fix fcntrl#tee test to use the same expected/actual buffer size." 2017-10-10 23:32:52 +00:00
Tom Cherry
8a311631ed Allow read-only system properties to have arbitrary lengths
We need to be able to store build fingerprints that are over 92 characters
long, which is the current restriction for system property value
length.

Increasing the value maximum across the board has plenty of caveats,
particularly that an allocator would be required to handle
deallocation when replacing long property values with short values.
There is also no compelling reasons to do this.

But, increasing the length of simply read-only properties, such as the
build fingerprint, has less caveats as there will never be a
deallocation of these strings.

This change uses spare bits in the top of serial (only spare for
read-only properties) to indicate if a property is 'long' or not.  The
information required to access these 'long' properties is stored in a
union where the legacy property value is located.  An error message is
retained for legacy callers.

The new property is readable via __system_property_read_callback() and
most importantly android::base::GetProperty and higher level (Java,
`getprop`) callers.  All code should move to these higher level
functions as much as possible.

Bug: 23102347
Bug: 34954705
Test: bionic unit tests
Change-Id: Ia85e0d979b92afff601cc52b39114379617a0c64
2017-10-10 15:52:25 -07:00
Elliott Hughes
731bb0f4c4 Merge "More POSIX limits cleanup." am: 7181e53cfe am: 0b071dfeed
am: f19357a158

Change-Id: I3b87e39007f2aeafc468876046da9578885734c1
2017-10-06 02:29:41 +00:00
Elliott Hughes
aaf83e8051 More POSIX limits cleanup.
http://man7.org/linux/man-pages/man7/posixoptions.7.html is a very useful
quick reference to what these are supposed to mean.

Bug: http://b/32776472
Test: ran tests
Change-Id: Icea6812d6075e663885844d7424aa6cf73d6284a
2017-10-05 16:18:10 -07:00
Elliott Hughes
86ea76009a Merge "POSIX clock cleanup." am: 0a451314b0 am: 71830bea01
am: 4fc3146765

Change-Id: I5d05f3d6cc6d52100d6a816d27a3ed696c77e772
2017-10-05 21:02:05 +00:00
Elliott Hughes
0a451314b0 Merge "POSIX clock cleanup." 2017-10-05 20:45:39 +00:00
Elliott Hughes
3a8f75d8b0 POSIX clock cleanup.
The newest of these clocks was added in Linux 2.6.12, so no need for runtime
checks.

Add CTS tests that we can actually use the various clocks.

Bug: http://b/67458266
Test: ran tests
Change-Id: I3cfd7982043d6f8d4ebdc2b29e8722334f443ce5
2017-10-05 10:33:18 -07:00
Dan Willemsen
ebf1259a2a Merge "Make bionic tests build for linux_bionic" am: 7c6784061d am: 0b537c2773
am: ce5514d287

Change-Id: I30f5ef5add1058f391a83d2a196b730be9fbdf0b
2017-10-04 21:03:58 +00:00
Treehugger Robot
7c6784061d Merge "Make bionic tests build for linux_bionic" 2017-10-04 20:13:33 +00:00
Elliott Hughes
98b03efe12 Merge "Fix pthread_leak test flakiness." am: 11dfca4c4a am: 8863421ad1
am: fb88ac00df

Change-Id: If07a27a269d2cc90c8f624c5d3065ec9fac1de2f
2017-10-04 00:34:06 +00:00
Treehugger Robot
42f3bd0ffc Merge "Sync internal and external master." 2017-10-04 00:10:31 +00:00
Elliott Hughes
11dfca4c4a Merge "Fix pthread_leak test flakiness." 2017-10-04 00:04:59 +00:00
Dan Willemsen
268ae362cd Make bionic tests build for linux_bionic
Adds a necessary library, and disables the glibc host tests when
building for bionic host.

Bug: 31559095
Test: mmma bionic
Change-Id: Ie825db59a21bf8e9b4dbdadc63ff14bf8da23087
2017-10-03 16:30:21 -07:00
Elliott Hughes
6a571e7b19 Merge "Pre-size the vector in the pthread_create ENOMEM test." am: 48fbf91672 am: c56d884b97
am: 71fb19589b

Change-Id: Ib55c1f3dee0ed9988afbb87b79b936501028fc17
2017-10-03 22:39:30 +00:00
Elliott Hughes
5a7c950909 Sync internal and external master.
Not sure how this managed to cling on in AOSP master, but all the other
mentions of this constant in AOSP master are already expecting the new
value anyway.

Bug: N/A
Test: ran tests
Change-Id: I8b6b4b320eeb1c4cea1c06bea4c1e8e314ee344d
2017-10-03 15:19:02 -07:00
Jiyong Park
41704cdf61 Don't run exec_with_ld_config_file* tests on non-production devices
The tests that use LD_CONFIG_FILE environment variable shouldn't be run
on non-production devices because LD_CONFIG_FILE is only for debuggable
builds. We have used the build-time flag USE_LD_CONFIG_FILE, which is
set for the debuggable builds, to conditionally include or exclude the
tests. However, this can be a problem when 1) the device is not
debuggable but 2) the CTS itself is built with debuggable target. So,
instead of relying on the build-time flag USE_LD_CONFIG_FILE, the tests
now check the debuggability of the device and skip the tests when it
isn't debuggable.

Bug: 65842135
Test: 1) flash user build image to a 2017 pixel device.
2) build cts with 'userdebug' build target
3) CtsBionicTestCases pass on the device

(cherrypick of 5e3d44100be32fd5efffd0c309bd90c04cc9620c.)

Change-Id: Ib88e3b26d093e5479d52cd87db47dee5e108cac2
2017-10-03 15:03:44 -07:00
Elliott Hughes
a838490101 Fix pthread_leak test flakiness.
Stop allocating and deallocating memory as part of the test itself.

There's still the fopen, but since our stdio reuses existing structs,
that doesn't seem to be a problem in practice.

Bug: http://b/67077411
Test: ran tests with --gtest_repeat=1000
Change-Id: I99de5de0911161ec04afe75653075f1ccefb01a5
2017-10-03 13:51:45 -07:00