Rspec и Cucumber вызывают дампы сегментации на моем расширении C - PullRequest
1 голос
/ 03 июля 2011

У меня есть часть моего проекта, в которой интенсивно используются расширения C. Сначала это были три автономных расширения, назовите их

  • Foo
  • Бар
  • Баз

В таком случае я мог проводить тесты Rspec и Cucumber и не иметь никаких проблем. Я преобразовал один из моих файлов ruby ​​в другое расширение C, так что теперь у меня есть расширение C, которое создает и хранит экземпляры Foo, Bar и Baz и вызывает методы для них. Проблема в том, что теперь, когда я запускаю Rspec или Cucumber, я получаю ошибки сегмента в непредсказуемых местах.

Итак, я запустил отладчик и прошел через Rspec, чтобы увидеть, где инициируется ошибка сегмента, и это было не в том месте, где ссылалась на мой код, поэтому я немного растерялся относительно того, что произошло. В итоге я просто переписал этот файл rspec в musta, и теперь тесты работают нормально. Так что я пошел к огурцу, и у меня возникла аналогичная проблема, за исключением того, что переписать мой файл огурца было бы гораздо большим обязательством.

Обратите внимание, что расширения C не взаимодействуют вне себя, нет вызовов базы данных, поэтому мои стратегии очистки базы данных не проблема. Настройки среды также не являются проблемой.

Есть ли какие-то ошибки, которые мне не хватает в отношении того, как Rspec (поскольку я сузил проблему до rspec конкретно) будет относиться к загрузке и тестированию расширений C, которые ссылаются на другие экземпляры расширений C?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...