[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Unicycler: trying to run tests during the build process



Hi Andreas,

Sorry for the delay in answering! I had some questions, but could not find time to first explore them a bit.

The one is regarding cpp_functions.so file that is renamed for some reason to cpp_functions.cpython-{version}-x86_64-linux-gnu.so during the build. I have just found that it is possible to override dh_python3 with --no-ext-rename option ("do not add magic tags nor multiarch tuples to extension file names") (it was introduced after this issue [1]). What do you think about it?

[1] https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=721696

On Sat, 8 Sep 2018 at 20:46 Andreas Tille <andreas@an3as.eu> wrote:
On Sat, Sep 08, 2018 at 01:36:10PM +0200, Liubov Chuprikova wrote:
> > In general I have no problem to skip tests in a
> > package.  There can be different reasons for failing tests - sometimes
> > the test itself is wrong.
>
> The tests itself are definitely correct.
OK.
> > So if we know why a test fails excluding it
> > is perfectly fine.
>
> I tried to take a closer look today. The problem is when building in a
> clean chroot I get the following messages (many of them along with the
> build):
>
> tput: No value for $TERM and no -T specified

Tput is from package ncurses-bin.  If it needs $TERM set may be it helps
to export xterm or vt100 in d/rules.  I've checked codesearch

  https://codesearch.debian.net/search?q=file%3Adebian%2Frules+TERM

Wow, I did not know about this possibility to search through all the Debian code!

and found something like

    ifneq ($(filter $(TERM),$(KNOWN_TERM)),)

    xsetenv("TERM", "dumb", 1);
    xsetenv("TERM", "vt102", 1);
    export TERM=linux

The later three are from some version of util-linux (not the one in
unstable any more)

Thanks a lot for these tips! After adding "export TERM=linux" to d/rules the package builds without those warnings ("tput: No value for $TERM and no -T specified") and

> Then, there are two
> tests that run unicycler-runner.py with --help and check if stderr is equal
> to 0, but in my case stderr becomes equal to the same message.

all the tests are passing without errors now. Do you still prefer to leave "|| true" condition in the override_dh_auto_test piece of code or it can be removed? The problem is that in case some tests fail, the build proceedes but PYBUILD_AFTER_TEST clean-up commands are skipped.

One more thing, could you clarify the commit [2]? As I see it even without override_dh_auto_test the tests would still be run by dh_auto_test. I tried to implement the setup that is necessary for the tests to pass through pybuild-specific variables here [3] since I wasn't able to make it work using override_dh_auto_test.


Should I try to implement the same tests as autopkgtest suite? If so, I will have to put all required scripts and test data into the same or a separate .deb archive.

With regards,
Liubov

Reply to: