platform_bionic/tests
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
..
libs Use -Werror in bionic 2017-10-02 13:21:22 -07:00
math_data Add x86 optimization of rint functions and tests 2016-03-08 14:01:46 -08:00
prebuilt-elf-files Remove libc++ dependency from prebuilt test-libs 2017-01-23 14:47:45 -08:00
__cxa_thread_atexit_test.cpp Enable test with clang aarch64. 2016-03-04 12:28:50 -08:00
Android.bp Make bionic tests build for linux_bionic 2017-10-03 16:30:21 -07:00
Android.build.mk Switch bionic-unit-tests to libc++_static. 2017-01-13 12:34:36 -08:00
Android.build.prebuilt.mk Move test libraries under /data/nativetests 2016-09-02 14:27:47 -07:00
Android.mk libc: add clang FORTIFY support 2017-02-09 15:49:32 -08:00
arpa_inet_test.cpp Fix inet_aton on LP32. 2015-10-09 17:36:05 -07:00
assert_test.cpp Stop #define'ing __func__ and __restrict. 2016-07-25 11:13:47 -07:00
async_safe_test.cpp Refactor BufferOutputStream. 2017-08-22 13:17:28 -07:00
atexit_test.cpp Enable clang to compile more tests. 2015-11-16 11:36:15 -08:00
BionicDeathTest.h make all bionic death tests not dumpable 2014-11-06 11:09:03 -08:00
buffer_tests.cpp Fix over read in strcpy/stpcpy/strcat. 2015-09-24 14:17:36 -07:00
buffer_tests.h Add strcmp/memcmp testing. 2013-12-03 18:42:41 -08:00
bug_26110743_test.cpp Move scopeguard into android::base 2017-04-05 16:37:07 -07:00
cfi_test.cpp Extend cfi test to verify a range of target pointers. 2017-09-19 13:59:34 -07:00
complex_force_long_double_test.cpp Use __RENAME for long double functions. 2017-09-14 16:10:43 -07:00
complex_test.cpp Use __RENAME for long double functions. 2017-09-14 16:10:43 -07:00
ctype_test.cpp Upgrade our <ctype.h> implementation to OpenBSD head. 2014-04-18 10:29:16 -07:00
dirent_test.cpp Implement scandirat and scandirat64. 2015-10-27 13:47:36 -07:00
dl_test.cpp Don't run exec_with_ld_config_file* tests on non-production devices 2017-10-03 15:03:44 -07:00
dlext_private.h greylist is no longer enabled by default. 2017-05-09 17:59:00 -07:00
dlext_test.cpp With O_TMPFILE, open(2) takes a mode argument. 2017-08-04 10:20:18 -07:00
dlfcn_symlink_support.cpp bionic-unit-tests: Create symlinks in runtime 2016-10-10 04:41:56 -07:00
dlfcn_symlink_support.h bionic-unit-tests: Create symlinks in runtime 2016-10-10 04:41:56 -07:00
dlfcn_test.cpp Link vdso before linking the main executable 2017-09-26 14:34:18 +02:00
elf_test.cpp Restore ELF32_ST_INFO/ELF64_ST_INFO. 2017-04-30 22:56:10 -07:00
endian_test.cpp Add tests for <endian.h>. 2017-02-24 16:19:53 -08:00
errno_test.cpp Remove volatile from the __errno declaration. 2017-06-13 16:02:07 -07:00
error_test.cpp Add <error.h>. 2015-01-26 11:57:11 -08:00
eventfd_test.cpp Make sure that the same tests are on all platforms. 2014-02-06 20:12:21 -08:00
fcntl_test.cpp Merge "With O_TMPFILE, open(2) takes a mode argument." 2017-08-04 20:20:38 +00:00
fenv_test.cpp Upgrade libm. 2013-02-01 14:51:19 -08:00
file-check-cxx Fix our fortify tests for global -Werror. 2016-02-02 17:13:03 -08:00
float_test.cpp Add tests for all C11 headers. 2017-08-29 15:32:18 -07:00
fortify_compilation_test.cpp tests: explain how to debug FileCheck failures 2017-08-24 00:36:15 +00:00
fortify_test.cpp With O_TMPFILE, open(2) takes a mode argument. 2017-08-04 10:20:18 -07:00
fortify_test_main.cpp Fix our fortify tests for global -Werror. 2016-02-02 17:13:03 -08:00
ftw_test.cpp Fix ftw/nftw to only report unreadable directories once. 2016-04-18 12:05:18 -07:00
getauxval_test.cpp Fix test getauxval.arm_has_AT_HWCAP2. 2016-03-29 16:51:47 -07:00
getcwd_test.cpp Fix __pthread_clone on ARM to set errno on failure. 2013-02-11 16:39:10 -08:00
glob_test.cpp Add <glob.h>. 2017-09-26 18:46:09 -07:00
grp_pwd_test.cpp Remove a check for AIDs in the OEM range. 2017-08-04 13:30:21 -07:00
gtest_globals.cpp Use libbase for realpath and dirname 2017-03-16 11:47:08 -07:00
gtest_globals.h Fix bionic-unit-tests-glibc 2016-11-28 13:09:19 -08:00
gtest_globals_cts.cpp Fix bionic-unit-tests-glibc 2016-11-28 13:09:19 -08:00
gtest_main.cpp Make xfail passes not failures. 2017-07-24 14:40:21 -07:00
gtest_preinit_debuggerd.cpp Rename libdebuggerd_client to libdebuggerd_handler. 2017-01-17 15:11:46 -08:00
iconv_test.cpp Add an extra test for a POSIX iconv requirement. 2017-08-31 14:14:16 -07:00
ifaddrs_test.cpp Fix ifaddrs error handling. 2016-10-14 14:35:26 -07:00
inttypes_test.cpp Trivial tests for <inttypes.h>/<stdlib.h> *abs and *div functions. 2017-09-07 17:01:37 -07:00
iso646_test.c Add tests for all C11 headers. 2017-08-29 15:32:18 -07:00
langinfo_test.cpp Implement <langinfo.h>. 2016-11-19 11:46:54 -08:00
leak_test.cpp Fix pthread_leak test flakiness. 2017-10-03 13:51:45 -07:00
libdl_test.cpp Fix application_sdk_versions_smoke test 2015-06-10 17:03:12 -07:00
libgen_basename_test.cpp Fix test failure. 2015-11-09 16:04:50 -08:00
libgen_test.cpp Fix GNU/POSIX basename headers. 2015-11-04 14:19:55 -08:00
limits_test.cpp Add tests for all C11 headers. 2017-08-29 15:32:18 -07:00
link_test.cpp Make dl_iterate_phdr return correct name for first entry 2017-05-31 23:45:15 +00:00
linux_swab_test.cpp Update static functions/macro definitions. 2017-04-21 20:59:53 -07:00
locale_test.cpp The default locale "" should be a UTF-8 locale. 2016-10-24 14:50:31 -07:00
malloc_test.cpp Update posix_memalign testing. 2017-06-15 14:18:08 -07:00
math_data_test.h Fix sscanf/wcstod parsing of NaNs. 2016-09-07 15:01:54 -07:00
math_force_long_double_test.cpp Use __RENAME for long double functions. 2017-09-14 16:10:43 -07:00
math_test.cpp Use __RENAME for long double functions. 2017-09-14 16:10:43 -07:00
mntent_test.cpp Add hasmntopt(3) 2016-03-25 14:16:58 -07:00
net_if_test.cpp Implement if_nameindex(3)/if_freenameindex(3). 2016-01-18 12:07:38 -08:00
netdb_test.cpp Test that ip6-localhost exists in etc/hosts. 2015-01-13 17:30:51 -08:00
netinet_ether_test.cpp Fix the <netinet/ether.h> tests. 2016-05-16 16:21:37 -07:00
netinet_in_test.cpp Add tests for <endian.h>. 2017-02-24 16:19:53 -08:00
netinet_udp_test.cpp <netinet/udp.h> should include <linux/udp.h>. 2015-09-22 12:34:13 -07:00
nl_types_test.cpp Add trivial no-op <nl_types.h>. 2016-04-06 17:22:44 -07:00
pthread_dlfcn_test.cpp Eliminate deadlock in forked child due to delayed resetting mutex lock 2016-11-07 03:32:57 +00:00
pthread_test.cpp Pre-size the vector in the pthread_create ENOMEM test. 2017-10-03 12:20:07 -07:00
pty_test.cpp Fix pty.bug_28979140 test in Bionic 2016-08-27 09:12:31 -07:00
qsort_test.cpp libc: Sync qsort(3) with FreeBSD revision r318515. 2017-06-13 18:49:54 +00:00
regex_test.cpp Fix regerror(..., nullptr, 0). 2016-02-12 17:33:37 -08:00
resolv_test.cpp Fix b64_pton. 2016-04-06 12:08:45 -07:00
run-on-host.sh Remove reference to obj/lib 2017-05-17 16:49:56 -07:00
sched_test.cpp Add some <sched.h> tests. 2017-08-02 09:01:42 -07:00
ScopedSignalHandler.h Add SysV signal handling 2016-04-04 16:33:29 -07:00
scsi_sg_test.cpp Enable exporting the non-uapi scsi headers. 2017-05-25 19:17:55 -07:00
search_test.cpp Finish <search.h>. 2017-08-31 17:38:51 -07:00
semaphore_test.cpp Add and use constants for the Android API levels. 2016-11-16 16:55:42 -08:00
setjmp_test.cpp Add a checksum to jmp_buf on mips and mips64. 2016-03-28 14:54:49 +00:00
signal_test.cpp Replace killpg. 2017-07-11 15:00:17 -07:00
sstream_test.cpp Improve the <sstream> test. 2014-04-10 20:44:27 -07:00
stack_protector_test.cpp Improve and fix the stack-protector tests. 2016-03-10 08:15:08 -08:00
stack_protector_test_helper.cpp Remove a workaround from stack_protector_test that's not needed in master. 2016-04-01 21:02:25 -07:00
stack_unwinding_test.cpp Verify at least 2 frames out of signal handler. 2017-03-23 09:45:10 -07:00
stdalign_test.cpp Add tests for all C11 headers. 2017-08-29 15:32:18 -07:00
stdarg_test.cpp Add tests for all C11 headers. 2017-08-29 15:32:18 -07:00
stdatomic_test.cpp Fix compare_exchange_weak tests to allow spurious failure 2017-04-05 18:34:03 -07:00
stdbool_test.c Add tests for all C11 headers. 2017-08-29 15:32:18 -07:00
stdint_test.cpp Fixed int fast types for LP64 2014-02-21 16:27:21 +00:00
stdio_ext_test.cpp Finish <stdio_ext.h>. 2017-08-01 15:27:27 -07:00
stdio_nofortify_test.cpp Add method to run fortified versions of funcs. 2016-01-13 17:13:21 -08:00
stdio_test.cpp Expand swprintf tests. 2017-08-09 14:59:33 -07:00
stdlib_test.cpp Trivial tests for <inttypes.h>/<stdlib.h> *abs and *div functions. 2017-09-07 17:01:37 -07:00
stdnoreturn_test.cpp Add tests for all C11 headers. 2017-08-29 15:32:18 -07:00
string_nofortify_test.cpp Add method to run fortified versions of funcs. 2016-01-13 17:13:21 -08:00
string_posix_strerror_r_test.cpp Rationalize visibility. 2016-06-09 17:40:19 -07:00
string_test.cpp Add new memchr/strrchr tests. 2017-05-08 20:10:32 -07:00
strings_nofortify_test.cpp Add method to run fortified versions of funcs. 2016-01-13 17:13:21 -08:00
strings_test.cpp Add method to run fortified versions of funcs. 2016-01-13 17:13:21 -08:00
sys_epoll_test.cpp epoll_create: reject size <= 0 2016-03-24 16:37:20 -07:00
sys_mman_test.cpp Always log errno when aborting. 2017-09-15 16:18:49 -07:00
sys_msg_test.cpp Fix SysV IPC test failures on Android devices. 2016-08-26 19:23:39 -07:00
sys_personality_test.cpp Fix personality test for mips32r6 2015-12-14 12:29:53 +01:00
sys_prctl_test.cpp Merge "Add test for ambient caps" am: 51366e9b16 am: a505507056 2016-12-07 16:30:07 +00:00
sys_procfs_test.cpp Add a sys/procfs.h. 2015-06-15 18:39:02 -07:00
sys_ptrace_test.cpp sys_ptrace_test: Better detect missing HW support 2017-07-10 12:52:35 +00:00
sys_quota_test.cpp Add <sys/quota.h>. 2016-04-06 11:06:09 -07:00
sys_random_test.cpp Require getrandom(2). 2017-09-29 09:01:01 -07:00
sys_resource_test.cpp Add prlimit to LP32. 2015-10-28 20:04:59 -07:00
sys_select_test.cpp Factor out the waiting for children in bionic tests. 2016-01-26 13:13:52 -08:00
sys_sem_test.cpp Make union semun usable. 2017-05-18 15:05:26 -07:00
sys_sendfile_test.cpp Make sure that the same tests are on all platforms. 2014-02-06 20:12:21 -08:00
sys_shm_test.cpp Fix SysV IPC test failures on Android devices. 2016-08-26 19:23:39 -07:00
sys_socket_test.cpp better gtest runner for bionic 2014-12-13 18:53:34 -08:00
sys_stat_test.cpp Loosen fchmodat AT_SYMLINK_NOFOLLOW test on symlink. 2015-03-09 18:13:15 -07:00
sys_statvfs_test.cpp Hide statfs/fstatfs' ST_VALID flag from userspace. 2015-03-18 15:46:48 -07:00
sys_syscall_test.cpp Don't declare SYS_* constants for unavailable __NR_* constants. 2016-07-18 12:48:39 -07:00
sys_sysinfo_test.cpp Relax flaky _SC_AVPHYS_PAGES check in sys_sysinfo_test 2017-05-25 14:27:37 -07:00
sys_sysmacros_test.cpp Fix <sys/sysmacros.h>. 2016-01-12 14:43:27 -08:00
sys_time_test.cpp Add futimes, futimesat, and lutimes. 2016-06-08 19:51:20 -07:00
sys_timex_test.cpp Really add adjtimex(2), and add clock_adjtime(2) too. 2016-02-03 13:19:10 -08:00
sys_ttydefaults_test.cpp Make <sys/ttydefaults.h> more usable. 2017-07-06 10:33:15 -07:00
sys_types_test.cpp Fix dev_t (for LP64). 2014-01-03 14:49:37 -08:00
sys_uio_test.cpp Beef up process_vm_readv/writev tests 2017-01-13 10:21:19 +00:00
sys_vfs_test.cpp Hide statfs/fstatfs' ST_VALID flag from userspace. 2015-03-18 15:46:48 -07:00
sys_xattr_test.cpp Add O_PATH support for flistxattr() 2015-06-06 11:25:41 -07:00
system_properties_test.cpp Allow read-only system properties to have arbitrary lengths 2017-10-10 15:52:25 -07:00
system_properties_test2.cpp Add __system_property_wait and return the serial in __system_property_read_callback. 2017-02-13 13:30:10 -08:00
TemporaryFile.h CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps. 2014-09-23 18:21:52 -07:00
tgmath_test.c Add tests for all C11 headers. 2017-08-29 15:32:18 -07:00
thread_local_test.cpp Enable clang for modules failed with TLS. 2015-11-11 16:22:38 -08:00
time_test.cpp POSIX clock cleanup. 2017-10-05 10:33:18 -07:00
uchar_test.cpp Hide various mbstate implementation details. 2017-07-14 17:00:05 -07:00
unistd_nofortify_test.cpp Add method to run fortified versions of funcs. 2016-01-13 17:13:21 -08:00
unistd_test.cpp More POSIX limits cleanup. 2017-10-05 16:18:10 -07:00
utils.h Fix pthread_leak test flakiness. 2017-10-03 13:51:45 -07:00
utmp_test.cpp Fix <utmp.h> declarations. 2015-10-26 19:29:12 -07:00
wchar_test.cpp Use have_dl to guard all tests that rely on icu4c. 2017-08-30 16:17:40 +00:00
wctype_test.cpp Use have_dl to guard all tests that rely on icu4c. 2017-08-30 16:17:40 +00:00