1/**
2 * Copyright (c) 2022 Huawei Device Co., Ltd.
3 * Licensed under the Apache License, Version 2.0 (the "License");
4 * you may not use this file except in compliance with the License.
5 * You may obtain a copy of the License at
6 *
7 *   http://www.apache.org/licenses/LICENSE-2.0
8 *
9 * Unless required by applicable law or agreed to in writing, software
10 * distributed under the License is distributed on an "AS IS" BASIS,
11 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 * See the License for the specific language governing permissions and
13 * limitations under the License.
14 */
15
16#include <sys/auxv.h>
17#include "functionalext.h"
18
19/*
20 * @tc.name      : getauxval_0100
21 * @tc.desc      : Verify that the value can be retrieved from the auxiliary vector (parameter is AT_SECURE)
22 * @tc.level     : Level 0
23 */
24void getauxval_0100(void)
25{
26    unsigned long int result;
27    result = getauxval(AT_SECURE);
28    EXPECT_EQ("getauxval_0100", result, 0);
29}
30
31/*
32 * @tc.name      : getauxval_0200
33 * @tc.desc      : Verify that the value can be retrieved from the auxiliary vector (parameter is AT_SYSINFO)
34 * @tc.level     : Level 0
35 */
36void getauxval_0200(void)
37{
38    unsigned long int result;
39    result = getauxval(AT_SYSINFO);
40    EXPECT_EQ("getauxval_0200", result, 0);
41}
42
43/*
44 * @tc.name      : getauxval_0300
45 * @tc.desc      : Verify that the value can be retrieved from the auxiliary vector (parameter is AT_SYSINFO_EHDR)
46 * @tc.level     : Level 0
47 */
48void getauxval_0300(void)
49{
50    unsigned long int result;
51    result = getauxval(AT_SYSINFO_EHDR);
52    EXPECT_TRUE("getauxval_0300", result != 0);
53}
54
55int main(int argc, char *argv[])
56{
57    getauxval_0100();
58    getauxval_0200();
59    getauxval_0300();
60    return t_status;
61}