#!/usr/bin/env bats load test_helper export RUBY_BUILD_CACHE_PATH="$TMP/cache" export MAKE=make setup() { mkdir -p "$INSTALL_ROOT" stub md5 false stub curl false } cached_tarball() { mkdir -p "$RUBY_BUILD_CACHE_PATH" pushd "$RUBY_BUILD_CACHE_PATH" >/dev/null tarball "$1" popd >/dev/null } tarball() { local name="$1" local path="$PWD/$name" local configure="$path/configure" mkdir -p "$path" cat > "$configure" < build.log OUT chmod +x "$configure" tar czf "${path}.tar.gz" -C "${path%/*}" "$name" } stub_make_install() { stub "$MAKE" \ " : echo \"$MAKE \$@\" >> build.log" \ "install : cat build.log >> '$INSTALL_ROOT/build.log'" } assert_build_log() { run cat "$INSTALL_ROOT/build.log" assert_output } @test "yaml is installed for ruby" { cached_tarball "yaml-0.1.4" cached_tarball "ruby-2.0.0" stub brew false stub_make_install stub_make_install install_fixture definitions/needs-yaml assert_success unstub make assert_build_log <