diff options
author | Dmitriy Ivanov <dimitry@google.com> | 2015-01-07 15:05:49 -0800 |
---|---|---|
committer | Dmitriy Ivanov <dimitry@google.com> | 2015-01-07 16:32:05 -0800 |
commit | bfa15e464ecfb43d93e468f166d91e4e6265f300 (patch) | |
tree | 4e6d54ea790dcac6fe2f9fabae686ed65d5d5636 /tests | |
parent | d3de1ddef1427708581af4df02943486783f980d (diff) | |
download | android_bionic-bfa15e464ecfb43d93e468f166d91e4e6265f300.tar.gz android_bionic-bfa15e464ecfb43d93e468f166d91e4e6265f300.tar.bz2 android_bionic-bfa15e464ecfb43d93e468f166d91e4e6265f300.zip |
Set linux 32bit personality for 32 bit processes
Bug: 18069809
Change-Id: Ie143d56b0f8f03510dc451649291067e1add1d2f
Diffstat (limited to 'tests')
-rw-r--r-- | tests/Android.mk | 1 | ||||
-rw-r--r-- | tests/sys_personality_test.cpp | 33 |
2 files changed, 34 insertions, 0 deletions
diff --git a/tests/Android.mk b/tests/Android.mk index dfb89d266..38d85f848 100644 --- a/tests/Android.mk +++ b/tests/Android.mk @@ -93,6 +93,7 @@ libBionicStandardTests_src_files := \ sstream_test.cpp \ sys_epoll_test.cpp \ sys_mman_test.cpp \ + sys_personality_test.cpp \ sys_resource_test.cpp \ sys_select_test.cpp \ sys_sendfile_test.cpp \ diff --git a/tests/sys_personality_test.cpp b/tests/sys_personality_test.cpp new file mode 100644 index 000000000..55a023dfa --- /dev/null +++ b/tests/sys_personality_test.cpp @@ -0,0 +1,33 @@ +/* + * Copyright (C) 2015 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#include <gtest/gtest.h> + +#include <sys/personality.h> + +TEST(sys_personality, current_persona) { + int persona = personality(0xffffffff); +#if defined(__BIONIC__) +#if defined(__LP64__) + ASSERT_EQ(PER_LINUX, persona); +#else + ASSERT_EQ(PER_LINUX32, persona); +#endif +#else + // GLIBC does not set persona prior process startup - it is always PER_LINUX; + ASSERT_EQ(PER_LINUX, persona); +#endif +} |