summaryrefslogtreecommitdiffstats
path: root/src/build/citest/build-script
blob: 0327293c8c01d568cf0206c011fd2b71e3fcfcde (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
#!/bin/sh
# IBM_PROLOG_BEGIN_TAG
# This is an automatically generated prolog.
#
# $Source: src/build/citest/build-script $
#
# OpenPOWER HostBoot Project
#
# Contributors Listed Below - COPYRIGHT 2014,2019
# [+] International Business Machines Corp.
#
#
# 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.
#
# IBM_PROLOG_END_TAG

if [ -z $PROJECT_ROOT ]; then
    source "$WORKSPACE/env.bash"
fi

source "$PROJECT_ROOT/src/build/citest/setup-env"
echo "#--------------------------------"
echo "SANDBOXROOT=$SANDBOXROOT"
echo "SANDBOXNAME=$SANDBOXNAME"
echo "CHIP=$CHIP"
echo "PNOR=$PNOR"
echo "CONFIG_FILE=$CONFIG_FILE"
echo "#--------------------------------"
#export HOSTBOOT_DEBUG=1    #-- Ensure printkd / tracd is compiled in.

# Force simics into Secure Mode
export SECURITY_HW_POLICY="1"

# Check copyright.
check-copyright > copyright.log 2>&1
if [ $? -eq 0 ]; then
    echo "----Copyright check succeeded."
    cat copyright.log
else
    echo "----Copyright check failed."
    cat copyright.log
    exit -1
fi


# Create simics sandbox.
create-sandbox > create-sandbox.log 2>&1 &
CREATESANDBOX_PID=$!

my_date=$(date)
# Build Hostboot.
if [[ -z "${HOSTBOOT_PROFILE}" ]]; then
    echo "#--------------------------------"
    printf "\n\n$(date): STARTED running \"make -j32\"\n\n"
    echo "#--------------------------------"
    make -j32 || exit -1
    echo "#--------------------------------"
    printf "\n\nrc=$?: $(date): FINISHED running (\"make -j32\" was started at $my_date)\n\n"
    echo "#--------------------------------"
else
    # Build with code coverage when HOSTBOOT_PROFILE=1
    echo "#--------------------------------"
    printf "\n\n$(date): STARTED running \"make -j32 gcov\"\n\n"
    echo "#--------------------------------"
    make -j32 gcov || exit -1
    echo "#--------------------------------"
    printf "\n\nrc=$?: $(date): FINISHED running (\"make -j32 gcov\" was started at $my_date)\n\n"
    echo "#--------------------------------"
fi

# Check sandbox create completion.
wait $CREATESANDBOX_PID
if [ $? -eq 0 ]; then
    echo "----Sandbox creation succeeded, here is the log."
    cat create-sandbox.log
else
    echo "----Sandbox creation failed."
    cat create-sandbox.log
    exit -1
fi

# Add Hostboot files to simics sandbox.
my_date=$(date)
echo "#--------------------------------"
printf "\n\n$(date): STARTED running populate-sandbox....\n\n"
echo "#--------------------------------"
populate-sandbox || exit -1
echo "#--------------------------------"
printf "\n\nrc=$?: $(date): FINISHED running (\"populate-sandbox\" was started at $my_date)\n\n"
echo "#--------------------------------"

if [ "$CHIP" == "FSPBUILD" ];
then
        # Start errl parser building.
        my_date=$(date)
        printf "\n\n$(date): STARTED running \"build-errl-parsers\"\n\n"
        build-errl-parsers > errl-parsers.log 2>&1 &
        ERRLPARSERS_PID=$!

        # Check errl parser completion.
        wait $ERRLPARSERS_PID
        if [ $? -ne 0 ]; then
            echo "----Error parsers failed."
            cat errl-parsers.log
            exit -1
        else
            printf "\n\n$(date): FINISHED running (\"build-errl-parsers\" was started at $my_date)\n\n"
        fi


else
        printf "2) CHIP=$CHIP"
        echo "CHIP3=$CHIP"


        # Start CxxTest Simics execution.
        my_date=$(date)
        echo "#--------------------------------"
        printf "\n\n$(date): STARTED running cxxtest-start.sh....\n\n"
        echo "#--------------------------------"
        cxxtest-start.sh || exit -1
        echo "#--------------------------------"
        printf "\n\nrc=$?: $(date): FINISHED running (\"cxxtest-start.sh\" was started at  $my_date)\n\n"
        echo "#--------------------------------"

fi

if [[ ! -z "${HOSTBOOT_PROFILE}" ]]; then
    # Generate the code coverage report. Located obj/gcov_report
    # Jenkins will artifact and can display html report
    my_date=$(date)
    echo "#--------------------------------"
    printf "\n\n$(date): STARTED running \"make lcov\"\n\n"
    echo "#--------------------------------"
    make lcov || exit -1
    echo "#--------------------------------"
    printf "\n\nrc=$?: $(date): FINISHED running (\"make lcov\" was started at  $my_date)\n\n"
    echo "#--------------------------------"
fi
OpenPOWER on IntegriCloud