У меня есть часть моего проекта, в которой интенсивно используются расширения C. Сначала это были три автономных расширения, назовите их
В таком случае я мог проводить тесты Rspec и Cucumber и не иметь никаких проблем. Я преобразовал один из моих файлов ruby в другое расширение C, так что теперь у меня есть расширение C, которое создает и хранит экземпляры Foo, Bar и Baz и вызывает методы для них. Проблема в том, что теперь, когда я запускаю Rspec или Cucumber, я получаю ошибки сегмента в непредсказуемых местах.
Итак, я запустил отладчик и прошел через Rspec, чтобы увидеть, где инициируется ошибка сегмента, и это было не в том месте, где ссылалась на мой код, поэтому я немного растерялся относительно того, что произошло. В итоге я просто переписал этот файл rspec в musta, и теперь тесты работают нормально. Так что я пошел к огурцу, и у меня возникла аналогичная проблема, за исключением того, что переписать мой файл огурца было бы гораздо большим обязательством.
Обратите внимание, что расширения C не взаимодействуют вне себя, нет вызовов базы данных, поэтому мои стратегии очистки базы данных не проблема. Настройки среды также не являются проблемой.
Есть ли какие-то ошибки, которые мне не хватает в отношении того, как Rspec (поскольку я сузил проблему до rspec конкретно) будет относиться к загрузке и тестированию расширений C, которые ссылаются на другие экземпляры расширений C?