Найти путь к Makefile внутри Docker - сценария оболочки - PullRequest
0 голосов
/ 16 июня 2020

У меня есть docker со следующим каталогом: ~ / specs / scripts. Там у меня есть файл. c и соответствующий Makefile. Дополнительно я добавил C_util. sh в тот же каталог, который:

set -e
make -f Makefile

Я хочу выполнить Ruby тестов, имея файл ~ / specs / helpers / shared_endpoints / Cutil.rb.

Там я пишу:

    describe 'the script' do
        include Rspec::Bash

        let(:stubbed_env) { create_stubbed_env }

        it 'runs the script' do
            stdout, stderr, status = stubbed_env.execute(
                '${PWD}/specs/scripts/C_util.sh',

Однако Makefile не найден в нужном каталоге, и у меня есть код выхода 2. Мой вопрос - как перейти к Makefile?

1 Ответ

0 голосов
/ 16 июня 2020

Может быть несколько причин.

1) Ваша строковая интерполяция неверна, строковая интерполяция работает с #{} в Ruby, но лучше использовать File.join

File.join(Dir.pwd, "scripts", "C_util.sh")

2 ) Для дополнительной отладки рекомендую печатать путь к консоли с помощью

puts File.join(Dir.pwd, "scripts", "C_util.sh")
...