Импорт модулей из Test-Suite пакета зависимостей

Я хотел бы написать несколько тестов для моего пакета, который зависит от пакета foo, и я хотел бы импортировать некоторый код, написанный для test-suite foo, но который не экспортируется и не отображается в 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 предоставить мне доступ к неэкспортированному коду в другом пакете?


person jberryman    schedule 04.04.2013    source источник
comment
Я был бы удивлен, если бы вы сказали Cabal предоставить мне доступ к неэкспортированному коду в другом пакете. Смысл не экспортировать некоторые модули в том, чтобы не давать пользователям к ним доступ. Если бы клика просто проигнорировала это на простом переключателе, она бы не уважала намерения авторов. Если вам нужен доступ к неэкспортированным вещам, используйте источник cabal unpack.   -  person Daniel Fischer    schedule 05.04.2013


Ответы (1)


Как полагает Даниэль Фишер, это, наверное, глупо просить клику. Вместо этого я, вероятно, хочу разветвить библиотеку и экспортировать то, что мне нужно. И, возможно, здесь помогут подмодули git.

person jberryman    schedule 04.04.2013