blob: 44f75645f5f21cf8e1df65f4df40ac47126358df [file] [log] [blame]
murgatroid992c8d5162015-01-26 10:41:21 -08001#!/bin/bash
Craig Tiller6169d5f2016-03-31 07:46:18 -07002# Copyright 2015, Google Inc.
Craig Tiller83428812015-02-16 12:13:57 -08003# All rights reserved.
4#
5# Redistribution and use in source and binary forms, with or without
6# modification, are permitted provided that the following conditions are
7# met:
8#
9# * Redistributions of source code must retain the above copyright
10# notice, this list of conditions and the following disclaimer.
11# * Redistributions in binary form must reproduce the above
12# copyright notice, this list of conditions and the following disclaimer
13# in the documentation and/or other materials provided with the
14# distribution.
15# * Neither the name of Google Inc. nor the names of its
16# contributors may be used to endorse or promote products derived from
17# this software without specific prior written permission.
18#
19# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
murgatroid992c8d5162015-01-26 10:41:21 -080030
Jan Tattermusche477b842016-02-06 22:19:01 -080031NODE_VERSION=$1
32source ~/.nvm/nvm.sh
murgatroid992c8d5162015-01-26 10:41:21 -080033
Jan Tattermusche477b842016-02-06 22:19:01 -080034nvm use $NODE_VERSION
murgatroid99def177b2016-03-25 15:00:47 -070035set -ex
Jan Tattermusche477b842016-02-06 22:19:01 -080036
murgatroid99132ce6a2015-03-04 17:29:14 -080037CONFIG=${CONFIG:-opt}
38
murgatroid992c8d5162015-01-26 10:41:21 -080039# change to grpc repo root
40cd $(dirname $0)/../..
41
42root=`pwd`
43
murgatroid997d243df2016-02-18 09:58:05 -080044test_directory='src/node/test'
45timeout=8000
46
murgatroid99d7d83372015-09-30 11:00:23 -070047if [ "$CONFIG" = "gcov" ]
48then
murgatroid99b0f3bf12015-10-05 10:18:05 -070049 ./node_modules/.bin/istanbul cover --dir reports/node_coverage \
murgatroid997d243df2016-02-18 09:58:05 -080050 -x **/interop/* ./node_modules/.bin/_mocha -- --timeout $timeout $test_directory
murgatroid991014a4e2016-04-01 14:11:55 -070051 cp -r reports/node_coverage/lcov-report/* reports/node_coverage/
murgatroid99d7d83372015-09-30 11:00:23 -070052 cd build
53 gcov Release/obj.target/grpc/ext/*.o
54 lcov --base-directory . --directory . -c -o coverage.info
murgatroid99d6d73ca2015-10-15 11:37:56 -070055 lcov -e coverage.info '**/src/node/ext/*' -o coverage.info
murgatroid99b0f3bf12015-10-05 10:18:05 -070056 genhtml -o ../reports/node_ext_coverage --num-spaces 2 \
murgatroid996fe015e2015-10-12 13:18:06 -070057 -t 'Node gRPC test coverage' coverage.info --rc genhtml_hi_limit=95 \
murgatroid99d6d73ca2015-10-15 11:37:56 -070058 --rc genhtml_med_limit=80 --no-prefix
murgatroid99d7d83372015-09-30 11:00:23 -070059else
murgatroid9985b9cd92016-02-24 13:18:47 -080060 JUNIT_REPORT_PATH=src/node/report.xml JUNIT_REPORT_STACK=1 \
murgatroid997d243df2016-02-18 09:58:05 -080061 ./node_modules/.bin/mocha --timeout $timeout \
62 --reporter mocha-jenkins-reporter $test_directory
murgatroid99d7d83372015-09-30 11:00:23 -070063fi