xref: /aosp_15_r20/external/grpc-grpc/src/ruby/spec/spec_helper.rb (revision cc02d7e222339f7a4f6ba5f422e6413f4bd931f2)
1*cc02d7e2SAndroid Build Coastguard Worker# Copyright 2015 gRPC authors.
2*cc02d7e2SAndroid Build Coastguard Worker#
3*cc02d7e2SAndroid Build Coastguard Worker# Licensed under the Apache License, Version 2.0 (the "License");
4*cc02d7e2SAndroid Build Coastguard Worker# you may not use this file except in compliance with the License.
5*cc02d7e2SAndroid Build Coastguard Worker# You may obtain a copy of the License at
6*cc02d7e2SAndroid Build Coastguard Worker#
7*cc02d7e2SAndroid Build Coastguard Worker#     http://www.apache.org/licenses/LICENSE-2.0
8*cc02d7e2SAndroid Build Coastguard Worker#
9*cc02d7e2SAndroid Build Coastguard Worker# Unless required by applicable law or agreed to in writing, software
10*cc02d7e2SAndroid Build Coastguard Worker# distributed under the License is distributed on an "AS IS" BASIS,
11*cc02d7e2SAndroid Build Coastguard Worker# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12*cc02d7e2SAndroid Build Coastguard Worker# See the License for the specific language governing permissions and
13*cc02d7e2SAndroid Build Coastguard Worker# limitations under the License.
14*cc02d7e2SAndroid Build Coastguard Worker
15*cc02d7e2SAndroid Build Coastguard Workerspec_dir = File.expand_path(File.dirname(__FILE__))
16*cc02d7e2SAndroid Build Coastguard Workerroot_dir = File.expand_path(File.join(spec_dir, '..'))
17*cc02d7e2SAndroid Build Coastguard Workerlib_dir = File.expand_path(File.join(root_dir, 'lib'))
18*cc02d7e2SAndroid Build Coastguard Worker
19*cc02d7e2SAndroid Build Coastguard Worker$LOAD_PATH.unshift(spec_dir)
20*cc02d7e2SAndroid Build Coastguard Worker$LOAD_PATH.unshift(lib_dir)
21*cc02d7e2SAndroid Build Coastguard Worker$LOAD_PATH.uniq!
22*cc02d7e2SAndroid Build Coastguard Worker
23*cc02d7e2SAndroid Build Coastguard Worker# set up coverage
24*cc02d7e2SAndroid Build Coastguard Workerrequire 'simplecov'
25*cc02d7e2SAndroid Build Coastguard WorkerSimpleCov.start do
26*cc02d7e2SAndroid Build Coastguard Worker  add_filter 'spec'
27*cc02d7e2SAndroid Build Coastguard Worker  add_filter 'bin'
28*cc02d7e2SAndroid Build Coastguard Worker  SimpleCov.command_name ENV['COVERAGE_NAME']
29*cc02d7e2SAndroid Build Coastguard Workerend if ENV['COVERAGE_NAME']
30*cc02d7e2SAndroid Build Coastguard Worker
31*cc02d7e2SAndroid Build Coastguard Workerrequire 'rspec'
32*cc02d7e2SAndroid Build Coastguard Workerrequire 'logging'
33*cc02d7e2SAndroid Build Coastguard Workerrequire 'rspec/logging_helper'
34*cc02d7e2SAndroid Build Coastguard Workerrequire 'grpc'
35*cc02d7e2SAndroid Build Coastguard Worker
36*cc02d7e2SAndroid Build Coastguard Workerrequire_relative 'support/services'
37*cc02d7e2SAndroid Build Coastguard Workerrequire_relative 'support/helpers'
38*cc02d7e2SAndroid Build Coastguard Worker
39*cc02d7e2SAndroid Build Coastguard Worker# GRPC is the general RPC module
40*cc02d7e2SAndroid Build Coastguard Worker#
41*cc02d7e2SAndroid Build Coastguard Worker# Configure its logging for fine-grained log control during test runs
42*cc02d7e2SAndroid Build Coastguard Workermodule GRPC
43*cc02d7e2SAndroid Build Coastguard Worker  extend Logging.globally
44*cc02d7e2SAndroid Build Coastguard Workerend
45*cc02d7e2SAndroid Build Coastguard WorkerLogging.logger.root.appenders = Logging.appenders.stdout
46*cc02d7e2SAndroid Build Coastguard WorkerLogging.logger.root.level = :info
47*cc02d7e2SAndroid Build Coastguard WorkerLogging.logger['GRPC'].level = :info
48*cc02d7e2SAndroid Build Coastguard WorkerLogging.logger['GRPC::ActiveCall'].level = :info
49*cc02d7e2SAndroid Build Coastguard WorkerLogging.logger['GRPC::BidiCall'].level = :info
50*cc02d7e2SAndroid Build Coastguard Worker
51*cc02d7e2SAndroid Build Coastguard Worker# Configure RSpec to capture log messages for each test. The output from the
52*cc02d7e2SAndroid Build Coastguard Worker# logs will be stored in the @log_output variable. It is a StringIO instance.
53*cc02d7e2SAndroid Build Coastguard WorkerRSpec.configure do |config|
54*cc02d7e2SAndroid Build Coastguard Worker  include RSpec::LoggingHelper
55*cc02d7e2SAndroid Build Coastguard Worker  config.capture_log_messages  # comment this out to see logs during test runs
56*cc02d7e2SAndroid Build Coastguard Worker  include GRPC::Spec::Helpers
57*cc02d7e2SAndroid Build Coastguard Workerend
58*cc02d7e2SAndroid Build Coastguard Worker
59*cc02d7e2SAndroid Build Coastguard WorkerRSpec::Expectations.configuration.warn_about_potential_false_positives = false
60*cc02d7e2SAndroid Build Coastguard Worker
61*cc02d7e2SAndroid Build Coastguard WorkerThread.abort_on_exception = true
62