blob: 40f61d77cc9bec232d2a5337ca4d0bdddb9de107 [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
murgatroid99d7d83372015-09-30 11:00:23 -070044if [ "$CONFIG" = "gcov" ]
45then
murgatroid99b0f3bf12015-10-05 10:18:05 -070046 ./node_modules/.bin/istanbul cover --dir reports/node_coverage \
murgatroid99d6d73ca2015-10-15 11:37:56 -070047 -x **/interop/* ./node_modules/.bin/_mocha -- --timeout 8000 src/node/test
murgatroid99d7d83372015-09-30 11:00:23 -070048 cd build
49 gcov Release/obj.target/grpc/ext/*.o
50 lcov --base-directory . --directory . -c -o coverage.info
murgatroid99d6d73ca2015-10-15 11:37:56 -070051 lcov -e coverage.info '**/src/node/ext/*' -o coverage.info
murgatroid99b0f3bf12015-10-05 10:18:05 -070052 genhtml -o ../reports/node_ext_coverage --num-spaces 2 \
murgatroid996fe015e2015-10-12 13:18:06 -070053 -t 'Node gRPC test coverage' coverage.info --rc genhtml_hi_limit=95 \
murgatroid99d6d73ca2015-10-15 11:37:56 -070054 --rc genhtml_med_limit=80 --no-prefix
Nicolas "Pixel" Noble0ca8c062015-10-09 23:46:34 +020055 echo '<html><head><meta http-equiv="refresh" content="0;URL=lcov-report/index.html"></head></html>' > \
56 ../reports/node_coverage/index.html
murgatroid99d7d83372015-09-30 11:00:23 -070057else
murgatroid9902a6b8e2016-01-25 10:10:23 -080058 JUNIT_REPORT_PATH=src/node/reports.xml JUNIT_REPORT_STACK=1 ./node_modules/.bin/mocha --reporter mocha-jenkins-reporter src/node/test
murgatroid99d7d83372015-09-30 11:00:23 -070059fi