Sha256: c5a50ad3bf0f9bd25d931d7dc6e7a46ac088b9bcf9b4cbaf4c42f8946fa31edc

Contents?: true

Size: 1.37 KB

Versions: 56

Compression:

Stored size: 1.37 KB

Contents

#!/bin/bash

# Fail fast (e) and echo commands (vx)
set -evx

# Arguments
TEST_GEM=$1
shift

PROJECT_ROOT=$(pwd)
PROJECT_BUNDLE_PATH=${BUNDLE_PATH:-$(grep BUNDLE_PATH: $PROJECT_ROOT/.bundle/config | cut -d' ' -f2-)}
if [ -n "$PROJECT_BUNDLE_PATH" ]; then
  PROJECT_BUNDLE_PATH=$PROJECT_ROOT/$PROJECT_BUNDLE_PATH
fi

TEST_GEM_ROOT=$(bundle show $TEST_GEM)

# Make a copy of the original Gemfile and stitch in our Gemfile.lock
TEST_GEMFILE=$TEST_GEM_ROOT/Gemfile
MODIFIED_TEST_GEMFILE=$TEST_GEMFILE.externaltest
cat <<EOM > $MODIFIED_TEST_GEMFILE
require_relative "$PROJECT_ROOT/tasks/gemfile_util"
GemfileUtil.include_locked_gemfile(self, "$PROJECT_ROOT/Gemfile", gems: ["$TEST_GEM"] + "$TEST_WITH_GEMS".split(/\s+/))
$TEST_GEM_OVERRIDES
EOM
cat $TEST_GEMFILE >> $MODIFIED_TEST_GEMFILE
if [ -f $TEST_GEMFILE.lock ]; then
  cp $TEST_GEMFILE.lock $MODIFIED_TEST_GEMFILE.lock
elif [ -f $MODIFIED_TEST_GEMFILE.lock ]; then
  rm -f $MODIFIED_TEST_GEMFILE.lock
fi

# Run the bundle install
cd $TEST_GEM_ROOT
export BUNDLE_GEMFILE=$MODIFIED_TEST_GEMFILE
# Don't read from the project .bundle/config, just our env vars
export BUNDLE_IGNORE_CONFIG=true
# Use the top level bundle cache so we don't have to reinstall their packages
if [ -n "$PROJECT_BUNDLE_PATH" ]; then
  export BUNDLE_PATH=$PROJECT_BUNDLE_PATH
fi
export BUNDLE_FROZEN=
bundle install
export BUNDLE_FROZEN=true

bundle config
bundle exec $@

Version data entries

56 entries across 56 versions & 1 rubygems

Version Path
chef-12.22.5 tasks/bin/run_external_test
chef-12.22.5-universal-mingw32 tasks/bin/run_external_test
chef-12.22.3 tasks/bin/run_external_test
chef-12.22.3-universal-mingw32 tasks/bin/run_external_test
chef-12.21.31 tasks/bin/run_external_test
chef-12.21.31-universal-mingw32 tasks/bin/run_external_test
chef-12.21.26 tasks/bin/run_external_test
chef-12.21.26-universal-mingw32 tasks/bin/run_external_test
chef-12.21.20-universal-mingw32 tasks/bin/run_external_test
chef-12.21.20 tasks/bin/run_external_test
chef-12.21.14-universal-mingw32 tasks/bin/run_external_test
chef-12.21.14 tasks/bin/run_external_test
chef-12.21.12-universal-mingw32 tasks/bin/run_external_test
chef-12.21.12 tasks/bin/run_external_test
chef-12.21.10 tasks/bin/run_external_test
chef-12.21.10-universal-mingw32 tasks/bin/run_external_test
chef-12.21.4 tasks/bin/run_external_test
chef-12.21.4-universal-mingw32 tasks/bin/run_external_test
chef-12.21.1-universal-mingw32 tasks/bin/run_external_test
chef-12.21.1 tasks/bin/run_external_test