Skip to content

Commit

Permalink
[Azure]Add FV Win network test job
Browse files Browse the repository at this point in the history
Add job and script for Windows build/test job.
It will rung nightly on Azure pipelines.

Resolves: OLPEDGE-928

Signed-off-by: Yaroslav Stefinko <[email protected]>
  • Loading branch information
ystefinko committed Sep 15, 2020
1 parent abf5284 commit bd0ab79
Show file tree
Hide file tree
Showing 3 changed files with 82 additions and 4 deletions.
16 changes: 13 additions & 3 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,11 +22,21 @@ jobs:
displayName: 'Commit checker script'
- job: Windows_build
pool:
vmImage: 'vs2017-win2016'
vmImage: 'windows-latest'
steps:
- bash: scripts/windows/build.sh
- bash: curl https://raw.githubusercontent.com/mock-server/mockserver/master/mockserver-core/src/main/resources/org/mockserver/socket/CertificateAuthorityCertificate.pem --output mock-server-cert.cer
displayName: 'Get cert'
- powershell: Import-Certificate -FilePath mock-server-cert.cer -CertStoreLocation Cert:\LocalMachine\Root
displayName: 'Import cert'
- powershell: dir Cert:\CurrentUser\Root
displayName: 'Check cert CurrentUser'
- powershell: dir Cert:\LocalMachine\Root
displayName: 'Check cert LocalMachine'
- bash: whoami && scripts/windows/build.sh
displayName: 'Windows Build'

- bash: sudo scripts/windows/test_fv_network.sh
displayName: 'Windows FV Network test'
condition: in(variables['Build.Reason'], 'Schedule', 'Manual')
- job: MacOS_build
pool:
vmImage: 'macOS-10.14'
Expand Down
7 changes: 6 additions & 1 deletion scripts/windows/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -17,9 +17,14 @@
# SPDX-License-Identifier: Apache-2.0
# License-Filename: LICENSE

echo ">>> Installing mock server SSL certificate into OS... >>>"
curl https://raw.githubusercontent.com/mock-server/mockserver/master/mockserver-core/src/main/resources/org/mockserver/socket/CertificateAuthorityCertificate.pem --output mock-server-cert.cer
certutil -enterprise -f -v -addstore "Root" mock-server-cert.cer
certutil -enterprise -f -v -addstore "CA" mock-server-cert.cer


[[ -d "build" ]] && rm -rf build
mkdir build && cd build
cmake .. -G "Visual Studio 15 2017 Win64" \
cmake .. -G "Visual Studio 16 2019" -A "x64" \
-DCMAKE_BUILD_TYPE=$BUILD_TYPE
cmake --build . --config $BUILD_TYPE
63 changes: 63 additions & 0 deletions scripts/windows/test_fv_network.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
#!/bin/bash -ex
#
# Copyright (C) 2020 HERE Europe B.V.
#
# 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.
#
# SPDX-License-Identifier: Apache-2.0
# License-Filename: LICENSE

# Set workspace location
if [[ ${CI_PROJECT_DIR} == "" ]]; then
export CI_PROJECT_DIR=`pwd`
fi

[[ -d "reports" ]] && rm -rf reports

#echo ">>> Installing mock server SSL certificate into OS... >>>"
#curl https://raw.githubusercontent.com/mock-server/mockserver/master/mockserver-core/src/main/resources/org/mockserver/socket/CertificateAuthorityCertificate.pem --output mock-server-cert.cer
#certutil -enterprise -f -v -addstore "Root" mock-server-cert.cer
#certutil -enterprise -f -v -addstore "CA" mock-server-cert.cer


echo ">>> Starting Mock Server... >>>"
pushd tests/utils/mock-server
npm install
node server.js & export SERVER_PID=$!
popd

# Node can start server in 1 second, but not faster.
# Add waiter for server to be started. No other way to solve that.
# Curl returns code 1 - means server still down. Curl returns 0 when server is up
RC=1
while [[ ${RC} -ne 0 ]];
do
set +e
curl -s http://localhost:1080
RC=$?
sleep 0.2
set -e
done

echo ">>> Start network tests ... >>>"
$CI_PROJECT_DIR/build/tests/functional/network/RelWithDebInfo/olp-cpp-sdk-functional-network-tests \
--gtest_output="xml:$CI_PROJECT_DIR/reports/olp-functional-network-test-report.xml"
result=$?
echo ">>> Finished network tests >>>"

# Terminate the mock server
kill -TERM $SERVER_PID

wait

exit ${result}

0 comments on commit bd0ab79

Please sign in to comment.