platform_bionic/tests
Nick Kralevich c92f9f8069 libc: Add O_PATH support for fgetxattr / fsetxattr
Support O_PATH file descriptors when handling fgetxattr and fsetxattr.
This avoids requiring file read access to pull extended attributes.

This is needed to support O_PATH file descriptors when calling
SELinux's fgetfilecon() call. In particular, this allows the querying
and setting of SELinux file context by using something like the following
code:

  int dirfd = open("/path/to/dir", O_DIRECTORY);
  int fd = openat(dirfd, "file", O_PATH | O_NOFOLLOW);
  char *context;
  fgetfilecon(fd, &context);

This change was motivated by a comment in
https://android-review.googlesource.com/#/c/152680/1/toys/posix/ls.c

(cherrypicked from commit 2825f10b7f)

Change-Id: Ic0cdf9f9dd0e35a63b44a4c4a08400020041eddf
2015-06-02 10:08:05 -07:00
..
libs Fix dlsym(handle_of_main_executable, ...) 2015-06-01 16:57:33 -07:00
math_data Accuracy tests for libm 2015-02-14 00:56:46 +08:00
__cxa_thread_atexit_test.cpp Merge "Call __cxa_thread_finalize for the main thread." 2015-04-16 08:06:03 +00:00
Android.build.mk Yet another relocation test 2014-11-19 10:39:05 -08:00
Android.mk libc: Add O_PATH support for fgetxattr / fsetxattr 2015-06-02 10:08:05 -07:00
arpa_inet_test.cpp Use the NetBSD inet_ntop until the OpenBSD bug is fixed. 2014-05-13 19:17:46 -07:00
atexit_test.cpp Add atexit test for attributed c-tor/d-tor 2014-08-15 14:22:07 -07:00
BionicDeathTest.h make all bionic death tests not dumpable 2014-11-06 11:09:03 -08:00
buffer_tests.cpp Add strcmp/memcmp testing. 2013-12-03 18:42:41 -08:00
buffer_tests.h Add strcmp/memcmp testing. 2013-12-03 18:42:41 -08:00
complex_test.cpp Fix our <complex.h> support. 2014-11-06 11:16:55 -08:00
ctype_test.cpp Upgrade our <ctype.h> implementation to OpenBSD head. 2014-04-18 10:29:16 -07:00
dirent_test.cpp implement missing seekdir and telldir 2014-11-07 10:20:32 -08:00
dl_test.cpp Revert "Fix symbol lookup order during relocation" 2014-11-03 22:15:08 -08:00
dlext_test.cpp Fix dl* tests to run-on-host 2015-04-09 14:56:26 -07:00
dlfcn_test.cpp Fix dlsym(handle_of_main_executable, ...) 2015-06-01 16:57:33 -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 Add posix_fadvise(3). 2014-09-11 08:45:46 -07:00
fenv_test.cpp
file-check-cxx Add compile time test infrastructure for bionic. 2014-10-06 11:38:01 -07:00
fortify_compilation_test.cpp Rename fortify_sprintf_warnings.cpp to fortify_compilation_test.cpp. 2015-03-05 00:46:18 -08:00
fortify_test.cpp add fortified readlink/readlinkat implementations 2015-04-17 18:49:12 -04:00
ftw_test.cpp Fix ftw tests when run as non-root. 2015-04-01 12:22:40 -07:00
getauxval_test.cpp set errno to ENOENT in getauxval per glibc 2.19 2015-03-17 19:50:55 -04:00
getcwd_test.cpp
gtest_main.cpp gtest_repeat should allow negative values. 2015-04-02 12:16:00 -07:00
inttypes_test.cpp Pull in upstream fixes to reject invalid bases. 2014-09-23 14:53:10 -07:00
libc_logging_test.cpp Add GNU-compatible strerror_r. 2014-08-28 16:37:09 -07:00
libdl_test.cpp Add functions to provide target sdk version 2015-05-27 16:20:16 -07:00
libgen_test.cpp Don't expose non-standard basename_r and dirname_r in LP64. 2014-09-08 16:44:48 -07:00
locale_test.cpp Fix newlocale with a NULL locale name. 2014-11-04 18:03:44 -08:00
malloc_test.cpp Implement malloc_info(3). 2014-08-22 10:23:12 -07:00
math_data_test.h Accuracy tests for libm 2015-02-14 00:56:46 +08:00
math_test.cpp Accuracy tests for libm 2015-02-14 00:56:46 +08:00
mntent_test.cpp Fix our <mntent.h> implementation. 2014-11-13 15:51:36 -08:00
netdb_test.cpp Test that ip6-localhost exists in etc/hosts. 2015-01-13 17:30:51 -08:00
pthread_dlfcn_test.cpp Move pthread_atfork_dlclose test out of static lib 2015-05-06 16:47:54 -07:00
pthread_test.cpp Remove pthread_detach_no_leak test. 2015-05-18 10:31:20 -07:00
pty_test.cpp Implement <pty.h>. 2014-12-03 15:55:34 -08:00
regex_test.cpp Consistently use #if defined(__BIONIC__) in tests. 2014-05-13 11:19:57 -07:00
sched_test.cpp Consistently use #if defined(__BIONIC__) in tests. 2014-05-13 11:19:57 -07:00
ScopedSignalHandler.h support _POSIX_REALTIME_SIGNALS 2014-12-08 21:52:43 -08:00
search_test.cpp Implement twalk(3), add unit tests. 2014-07-24 15:14:06 -07:00
semaphore_test.cpp Add semaphore tests, fix sem_destroy. 2014-09-19 17:37:06 -07:00
setjmp_test.cpp Add a test for float registers across setjmp/logjmp. 2015-01-26 20:52:34 -08:00
signal_test.cpp support _POSIX_REALTIME_SIGNALS 2014-12-08 21:52:43 -08:00
sstream_test.cpp Improve the <sstream> test. 2014-04-10 20:44:27 -07:00
stack_protector_test.cpp Fix bug for recursive/errorcheck mutex on 32-bit devices. 2015-04-03 19:01:17 -07:00
stack_unwinding_test.cpp Display errors instead of running infinitely. 2015-02-06 18:05:58 -08:00
stdatomic_test.cpp Switch benchmarks and tests to libc++. 2014-09-30 10:28:30 -07:00
stdint_test.cpp Fixed int fast types for LP64 2014-02-21 16:27:21 +00:00
stdio_ext_test.cpp Implement __fsetlocking. 2015-01-21 10:33:30 -08:00
stdio_test.cpp Add a test for getdelim(3) on a directory. 2015-04-05 10:51:56 -07:00
stdlib_test.cpp Add POSIX lcong48. 2014-11-06 14:14:37 -08:00
string_posix_strerror_r_test.cpp Fix glibc 2.15 build. 2014-11-12 19:31:21 -08:00
string_test.cpp Add GNU extensions mempcpy and wmemcpy. 2015-02-18 22:02:56 -08:00
strings_test.cpp Implement all the POSIX _l functions. 2014-11-06 15:52:22 -08:00
stubs_test.cpp fix shared gid support in getpwnam/getgrnam 2014-11-18 19:58:04 -08:00
sys_epoll_test.cpp bionic: make epoll_event structure packed 2014-05-05 19:48:55 -07:00
sys_mman_test.cpp implement posix_madvise 2014-12-04 11:01:28 -08:00
sys_personality_test.cpp Set linux 32bit personality for 32 bit processes 2015-01-07 16:32:05 -08:00
sys_resource_test.cpp Make sys_resource test more robust. 2015-01-16 13:28:43 -08:00
sys_select_test.cpp Include sys/types.h and sys/wait.h for waitpid 2014-04-01 17:42:31 -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_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 Add a unit test for syscall(2). 2013-11-13 13:14:31 -08:00
sys_sysinfo_test.cpp Add functions in sysinfo.h. 2014-11-14 16:22:48 -08:00
sys_time_test.cpp Use VDSO for clock_gettime(2) and gettimeofday(2). 2014-07-16 15:15:53 -07:00
sys_types_test.cpp Fix dev_t (for LP64). 2014-01-03 14:49:37 -08: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 libc: Add O_PATH support for fgetxattr / fsetxattr 2015-06-02 10:08:05 -07:00
system_properties_test.cpp make all bionic death tests not dumpable 2014-11-06 11:09:03 -08:00
TemporaryFile.h CLOEXEC support in fdopen, freopen, and mkostemp/mkostemps. 2014-09-23 18:21:52 -07:00
time_test.cpp resolved conflicts for merge of 473d96c0 to lmp-mr1-ub-dev 2015-05-20 13:36:56 -07:00
uchar_test.cpp Move the meat of <features.h> into <sys/cdefs.h>. 2014-08-19 11:18:20 -07:00
uniqueptr_test.cpp Load libraries in breadth-first order 2014-10-01 16:01:28 -07:00
unistd_test.cpp Cleanup ftruncate negative test. 2015-06-01 13:24:36 -07:00
utils.h Fix x86_64 build 2015-04-06 19:05:58 -07:00
utmp_test.cpp Implement <pty.h>. 2014-12-03 15:55:34 -08:00
wchar_test.cpp Add GNU extensions mempcpy and wmemcpy. 2015-02-18 22:02:56 -08:00