On Fri, 20 Mar 2020, 01:20 Pranav Ballaney, <ballaneypra...@gmail.com> wrote:
> Hi Andreas, > I've added some more tests to kalign, but there's a slight problem. > As specified in the README file, kalign supports two ways of taking input: > one is through stdin and the other through the -i flag (or even without it). > For some reason, all tests using the -i flag fail inside my testing > chroot, but work perfectly outside the chroot. > However, inside the chroot and outside, stdin input works as expected. > > In the run-unit-test file, all the tests take input from stdin, and all > the tests pass. > It's the same as what happened with loki earlier, I guess. Please > uncomment the lines with -i and try running them on your system. Maybe if > they work on yours and others', it's just an issue with my chroot. > > Here are the errors generated when commands using -i are run inside the > chroot: > LOG : kalign -i BB11001.tfa -f msf -o out.msf > ERROR : Input alignment format could not be detected. (rwalign.c line 314) > ERROR : Function "detect_alignment_format(b, &type)" failed. (rwalign.c > line 187) > ERROR : Function "tmp_msa = read_input(param->infile[i],tmp_msa)" failed. > (run_kalign.c line 383) > ERROR : Function "run_kalign(param)" failed. (run_kalign.c line 353) > Just checked. My best guess here is that -i invokes interaction, which won't work in a chroot. The best way to pass input inside a chroot is via either STDIN, or redirecting input with pipes. Also Just a suggestion: Autopkgtests look fine to me, but I would suggest to also add other .tfa and .msf files in ./dev/data directory and run tests on them. Regards, Nilesh >