blob: 178584ae8ed59f035b92b409de1a9101fbf53fbc [file] [log] [blame]
murgatroid992c8d5162015-01-26 10:41:21 -08001#!/bin/bash
murgatroid99e30785a2016-01-25 13:46:26 -08002# Copyright 2015-2016, 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 -080033set -ex
34
Jan Tattermusche477b842016-02-06 22:19:01 -080035nvm use $NODE_VERSION
36
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
murgatroid99d7d83372015-09-30 11:00:23 -070051 cd build
52 gcov Release/obj.target/grpc/ext/*.o
53 lcov --base-directory . --directory . -c -o coverage.info
murgatroid99d6d73ca2015-10-15 11:37:56 -070054 lcov -e coverage.info '**/src/node/ext/*' -o coverage.info
murgatroid99b0f3bf12015-10-05 10:18:05 -070055 genhtml -o ../reports/node_ext_coverage --num-spaces 2 \
murgatroid996fe015e2015-10-12 13:18:06 -070056 -t 'Node gRPC test coverage' coverage.info --rc genhtml_hi_limit=95 \
murgatroid99d6d73ca2015-10-15 11:37:56 -070057 --rc genhtml_med_limit=80 --no-prefix
Nicolas "Pixel" Noble0ca8c062015-10-09 23:46:34 +020058 echo '<html><head><meta http-equiv="refresh" content="0;URL=lcov-report/index.html"></head></html>' > \
59 ../reports/node_coverage/index.html
murgatroid99d7d83372015-09-30 11:00:23 -070060else
murgatroid997d243df2016-02-18 09:58:05 -080061 JUNIT_REPORT_PATH=src/node/reports.xml JUNIT_REPORT_STACK=1 \
62 ./node_modules/.bin/mocha --timeout $timeout \
63 --reporter mocha-jenkins-reporter $test_directory
murgatroid99d7d83372015-09-30 11:00:23 -070064fi