Импортиране на модули от 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 просто игнорира това при просто превключване, няма да уважи намеренията на авторите. Ако имате нужда от достъп до неекспортирани неща, използвайте източника, cabal unpack.   -  person Daniel Fischer    schedule 05.04.2013


Отговори (1)


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

person jberryman    schedule 04.04.2013