blob: c891c1bf5e45e32eaab4df10c094ef1bdc20bea1 [file] [log] [blame]
Craig Tiller06059952015-02-18 08:34:56 -08001# Copyright 2015, Google Inc.
nnoble097ef9b2014-12-01 17:06:10 -08002# All rights reserved.
3#
4# Redistribution and use in source and binary forms, with or without
5# modification, are permitted provided that the following conditions are
6# met:
7#
8# * Redistributions of source code must retain the above copyright
9# notice, this list of conditions and the following disclaimer.
10# * Redistributions in binary form must reproduce the above
11# copyright notice, this list of conditions and the following disclaimer
12# in the documentation and/or other materials provided with the
13# distribution.
14# * Neither the name of Google Inc. nor the names of its
15# contributors may be used to endorse or promote products derived from
16# this software without specific prior written permission.
17#
18# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
19# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
20# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
21# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
22# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
23# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
24# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
25# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
26# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
27# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
28# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
29
Tim Emiola5d6dfd52015-01-30 13:43:28 -080030spec_dir = File.expand_path(File.dirname(__FILE__))
31root_dir = File.expand_path(File.join(spec_dir, '..'))
32lib_dir = File.expand_path(File.join(root_dir, 'lib'))
33
34$LOAD_PATH.unshift(spec_dir)
35$LOAD_PATH.unshift(lib_dir)
36$LOAD_PATH.uniq!
37
Tim Emiolac85c1ae2015-04-17 18:12:32 -070038# set up coverage
39require 'simplecov'
40SimpleCov.start do
41 add_filter 'spec'
42 add_filter 'bin'
43 SimpleCov.command_name ENV['COVERAGE_NAME']
44end if ENV['COVERAGE_NAME']
45
nnoble097ef9b2014-12-01 17:06:10 -080046require 'rspec'
47require 'logging'
48require 'rspec/logging_helper'
49
Tim Emiola25f50112015-08-17 12:22:23 -070050# GRPC is the general RPC module
51#
52# Configure its logging for fine-grained log control during test runs
53module GRPC
54 extend Logging.globally
55end
56Logging.logger.root.appenders = Logging.appenders.stdout
57Logging.logger.root.level = :info
58Logging.logger['GRPC'].level = :info
59Logging.logger['GRPC::ActiveCall'].level = :info
60Logging.logger['GRPC::BidiCall'].level = :info
61
nnoble097ef9b2014-12-01 17:06:10 -080062# Configure RSpec to capture log messages for each test. The output from the
63# logs will be stored in the @log_output variable. It is a StringIO instance.
64RSpec.configure do |config|
65 include RSpec::LoggingHelper
Tim Emiola25f50112015-08-17 12:22:23 -070066 config.capture_log_messages # comment this out to see logs during test runs
Craig Tiller190d3602015-02-18 09:23:38 -080067end
Tim Emiola821e4a72015-06-17 11:57:46 -070068
69RSpec::Expectations.configuration.warn_about_potential_false_positives = false