Merge "Merge "Add Vts test for xsd_config" am: fd7bbebeaa am: 8cf6ace11d" into qt-dev-plus-aosp
This commit is contained in:
committed by
Android (Google) Code Review
commit
b99d71f607
34
core/xsd/vts/Android.bp
Normal file
34
core/xsd/vts/Android.bp
Normal file
@@ -0,0 +1,34 @@
|
|||||||
|
//
|
||||||
|
// Copyright (C) 2019 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.
|
||||||
|
//
|
||||||
|
|
||||||
|
cc_test {
|
||||||
|
name: "vts_permission_validate_test",
|
||||||
|
srcs: [
|
||||||
|
"ValidatePermission.cpp"
|
||||||
|
],
|
||||||
|
static_libs: [
|
||||||
|
"android.hardware.audio.common.test.utility",
|
||||||
|
"libxml2",
|
||||||
|
],
|
||||||
|
shared_libs: [
|
||||||
|
"liblog",
|
||||||
|
"libbase",
|
||||||
|
],
|
||||||
|
cflags: [
|
||||||
|
"-Wall",
|
||||||
|
"-Werror",
|
||||||
|
],
|
||||||
|
}
|
||||||
22
core/xsd/vts/Android.mk
Normal file
22
core/xsd/vts/Android.mk
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2019 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LOCAL_MODULE := VtsValidatePermission
|
||||||
|
include test/vts/tools/build/Android.host_config.mk
|
||||||
30
core/xsd/vts/AndroidTest.xml
Normal file
30
core/xsd/vts/AndroidTest.xml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2019 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.
|
||||||
|
-->
|
||||||
|
<configuration description="Config for VTS VtsValidatePermission.">
|
||||||
|
<option name="config-descriptor:metadata" key="plan" value="vts-treble" />
|
||||||
|
<target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
|
||||||
|
<option name="abort-on-push-failure" value="false"/>
|
||||||
|
<option name="push-group" value="HostDrivenTest.push"/>
|
||||||
|
<option name="push" value="DATA/etc/permission.xsd->/data/local/tmp/permission.xsd"/>
|
||||||
|
</target_preparer>
|
||||||
|
<test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
|
||||||
|
<option name="test-module-name" value="VtsValidatePermission"/>
|
||||||
|
<option name="binary-test-source" value="_32bit::DATA/nativetest/vts_permission_validate_test/vts_permission_validate_test" />
|
||||||
|
<option name="binary-test-source" value="_64bit::DATA/nativetest64/vts_permission_validate_test/vts_permission_validate_test" />
|
||||||
|
<option name="binary-test-type" value="gtest"/>
|
||||||
|
<option name="test-timeout" value="30s"/>
|
||||||
|
</test>
|
||||||
|
</configuration>
|
||||||
62
core/xsd/vts/ValidatePermission.cpp
Normal file
62
core/xsd/vts/ValidatePermission.cpp
Normal file
@@ -0,0 +1,62 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 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 <dirent.h>
|
||||||
|
#include <regex>
|
||||||
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
|
#include <sys/stat.h>
|
||||||
|
#include <unistd.h>
|
||||||
|
#include <string>
|
||||||
|
|
||||||
|
#include "android-base/logging.h"
|
||||||
|
#include "utility/ValidateXml.h"
|
||||||
|
|
||||||
|
static void get_files_in_dirs(const char* dir_path, std::vector<std::string>& files) {
|
||||||
|
DIR* d;
|
||||||
|
struct dirent* de;
|
||||||
|
|
||||||
|
d = opendir(dir_path);
|
||||||
|
if (d == nullptr) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
while ((de = readdir(d))) {
|
||||||
|
if (de->d_type != DT_REG) {
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
if (std::regex_match(de->d_name, std::regex("(.*)(.xml)"))) {
|
||||||
|
files.push_back(de->d_name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
closedir(d);
|
||||||
|
}
|
||||||
|
|
||||||
|
TEST(CheckConfig, permission) {
|
||||||
|
RecordProperty("description",
|
||||||
|
"Verify that the permission file "
|
||||||
|
"is valid according to the schema");
|
||||||
|
|
||||||
|
const char* location = "/vendor/etc/permissions";
|
||||||
|
|
||||||
|
std::vector<std::string> files;
|
||||||
|
get_files_in_dirs(location, files);
|
||||||
|
|
||||||
|
for (std::string file_name : files) {
|
||||||
|
EXPECT_ONE_VALID_XML_MULTIPLE_LOCATIONS(file_name.c_str(), {location},
|
||||||
|
"/data/local/tmp/permission.xsd");
|
||||||
|
}
|
||||||
|
}
|
||||||
33
services/core/xsd/vts/Android.bp
Normal file
33
services/core/xsd/vts/Android.bp
Normal file
@@ -0,0 +1,33 @@
|
|||||||
|
//
|
||||||
|
// Copyright (C) 2019 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.
|
||||||
|
//
|
||||||
|
|
||||||
|
cc_test {
|
||||||
|
name: "vts_defaultPermissions_validate_test",
|
||||||
|
srcs: [
|
||||||
|
"ValidateDefaultPermissions.cpp"
|
||||||
|
],
|
||||||
|
static_libs: [
|
||||||
|
"android.hardware.audio.common.test.utility",
|
||||||
|
"libxml2",
|
||||||
|
],
|
||||||
|
shared_libs: [
|
||||||
|
"liblog",
|
||||||
|
],
|
||||||
|
cflags: [
|
||||||
|
"-Wall",
|
||||||
|
"-Werror",
|
||||||
|
],
|
||||||
|
}
|
||||||
22
services/core/xsd/vts/Android.mk
Normal file
22
services/core/xsd/vts/Android.mk
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
#
|
||||||
|
# Copyright (C) 2019 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
LOCAL_PATH := $(call my-dir)
|
||||||
|
|
||||||
|
include $(CLEAR_VARS)
|
||||||
|
|
||||||
|
LOCAL_MODULE := VtsValidateDefaultPermissions
|
||||||
|
include test/vts/tools/build/Android.host_config.mk
|
||||||
30
services/core/xsd/vts/AndroidTest.xml
Normal file
30
services/core/xsd/vts/AndroidTest.xml
Normal file
@@ -0,0 +1,30 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<!-- Copyright (C) 2019 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.
|
||||||
|
-->
|
||||||
|
<configuration description="Config for VTS VtsValidateDefaultPermissions.">
|
||||||
|
<option name="config-descriptor:metadata" key="plan" value="vts-treble" />
|
||||||
|
<target_preparer class="com.android.compatibility.common.tradefed.targetprep.VtsFilePusher">
|
||||||
|
<option name="abort-on-push-failure" value="false"/>
|
||||||
|
<option name="push-group" value="HostDrivenTest.push"/>
|
||||||
|
<option name="push" value="DATA/etc/default-permissions.xsd->/data/local/tmp/default-permissions.xsd"/>
|
||||||
|
</target_preparer>
|
||||||
|
<test class="com.android.tradefed.testtype.VtsMultiDeviceTest">
|
||||||
|
<option name="test-module-name" value="VtsValidateDefaultPermissions"/>
|
||||||
|
<option name="binary-test-source" value="_32bit::DATA/nativetest/vts_defaultPermissions_validate_test/vts_defaultPermissions_validate_test" />
|
||||||
|
<option name="binary-test-source" value="_64bit::DATA/nativetest64/vts_defaultPermissions_validate_test/vts_defaultPermissions_validate_test" />
|
||||||
|
<option name="binary-test-type" value="gtest"/>
|
||||||
|
<option name="test-timeout" value="30s"/>
|
||||||
|
</test>
|
||||||
|
</configuration>
|
||||||
28
services/core/xsd/vts/ValidateDefaultPermissions.cpp
Normal file
28
services/core/xsd/vts/ValidateDefaultPermissions.cpp
Normal file
@@ -0,0 +1,28 @@
|
|||||||
|
/*
|
||||||
|
* Copyright (C) 2019 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 "utility/ValidateXml.h"
|
||||||
|
|
||||||
|
TEST(CheckConfig, mediaDefaultPermissions) {
|
||||||
|
RecordProperty("description",
|
||||||
|
"Verify that the default-permissions file "
|
||||||
|
"is valid according to the schema");
|
||||||
|
|
||||||
|
const char* location = "/vendor/etc/default-permissions";
|
||||||
|
|
||||||
|
EXPECT_ONE_VALID_XML_MULTIPLE_LOCATIONS("default-permissions.xml", {location},
|
||||||
|
"/data/local/tmp/default-permissions.xsd");
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user