Я хотел бы написать несколько тестов для моего пакета, который зависит от пакета foo
, и я бы хотел импортировать код, написанный для foo
test-suite
, но который isn ' t экспортировано или выставлено в foo.cabal
.Импорт модулей из тестового пакета пакета зависимостей
Других слова моих зависимости foo.cabal
имеет этот раздел
Test-Suite tests
Type: exitcode-stdio-1.0
Build-Depends: base, text, parsec >= 3, etc
Main-Is: Test/TestRunner.hs
GHC-Options: -fhpc -W -Wall -fno-warn-name-shadowing
CPP-Options: -DTESTING
И я хотел бы импортировать некоторые из модулей, что Test/TestRunner.hs
импорта. Я также хочу сделать это с помощью cabal-dev.
Есть ли способ сделать это без изменения foo
? Если бы не было хорошего способа запланировать foo
, чтобы поддержать это?
Возможно, более общая версия моего вопроса: Могу ли я сказать, что cabal предоставил мне доступ к неэкпортируемому коду в другом пакете?
Я был бы удивлен, если бы вы могли «сказать, что у меня есть доступ к неэкспортированному коду в другом пакете». Точка не экспортировать некоторые модули - не предоставлять пользователям доступ к ней. Если бы кабала просто проигнорировала это на простом переключателе, это не будет уважать намерения авторов. Если вам нужен доступ к неиспользуемым вещам, используйте источник, 'cabal unpack'. –