← Back to team overview

pytagsfs team mailing list archive

Re: [ANNOUNCE] pytagsfs version 0.9.2

 

Hi Ritesh,

Good to hear from you.

On Fri, Jan 15, 2010 at 05:11:17PM +0530, Ritesh Raj Sarraf wrote:
> Happy New Year.

Happy New Year!

> I am preparing a new upload for pytagsfs and found the following problems.
> 
> * python-pexpect is required for the tests. This isn't listed in the README.

Hm, this is actually a dependency of sclapp, although most of sclapp's core
functionality doesn't require it.  sclapp's README file doesn't mention the
dependency, either.  Sorry about that.

sclapp is essentially deprecated at this point.  I will likely be dropping it in
the next pytagsfs release.  I probably won't re-release sclapp to correct the
README file.

> * There are some test failures. Please do let me know if you have fixes for 
> them. I am planning an upload this weekend and would like to include the 
> execution of test cases during build time.
> 
> The entire build log is attached with this email.

As you mentioned in your other message, most of the failures are due to missing
dependencies.

It looks like the remaining failures are all unicode encode/decode errors.
These failures are probably occurring because LANG is not set or is set to "C" in
your build environment.  Any tests involving unicode filenames will fail in this
environment.

Right now, the test suite assumes UTF-8 but doesn't explicitly encode filenames
using UTF-8.  It should either force everything to UTF-8 or use the encoding
from the locale for everything (and not assume UTF-8).

Also, the iocharset, source_iocharset filesystem parameters default to UTF-8.
They should arguably default to the encoding from the locale.  I will look at
this for the next pytagsfs release.

Perhaps tests that will fail due to using filenames that are incompatible with
the encoding from the locale should be skipped instead of failed.  Thoughts?

In the meantime, a simple work-around would be to set LANG to a reasonable value
in your build environment (if you can).  I'll admit that my testing has always
been with en_US.UTF-8.  Any UTF-8 locale should work, and probably any
unicode-compatible encoding is fine, so long as your on-disk filesystem can
handle it.

There is one other thing I should mention:

The blackbox tests in the test suite actually create pytagsfs mounts.  You may
want to make sure that the user building the packages will have permissions for
this on the Debian build servers.

If those tests cannot be run on the build servers, I would suggest one of the
following options:

* Only run the test suite whenever you package a new version.
* Run everything but the blackbox tests in the build environment.  This can be
  done using a silly command like this:

    ./setup.py test --tests "$(
     find tests \
      -mindepth 1 \
      -maxdepth 1 \
      -name '*.py' \
      -not -name '__init__.py' \
      -not -name 'blackbox.py' \
      | sed 's/^tests\///' \
      | sed 's/\.py$//' \
      | python -c 'import sys; print ",".join("tests.%s" % line.strip() for line in sys.stdin)'
    )"

  This simpler command would also work, but might end up with a command-line
  that is too long for the shell:

    ./setup.py test --tests "$(
     ./setup.py test --print-only \
      | grep -v blackbox \
      | python -c 'import sys; print ",".join(line.strip() for line in sys.stdin)'
    )"

  An --exclude option would be a nicer alternative. ;)

Let me know what your thoughts are.  I'll do whatever I can to make running the
tests regularly as easy as possible, although I can't promise another pytagsfs
release for at least a few weeks.  I do appreciate your attention to release
quality for the distribution packages.

Thanks,
Forest
-- 
Forest Bond
http://www.alittletooquiet.net
http://www.pytagsfs.org

Attachment: signature.asc
Description: Digital signature


References