[Bug 182306] Review Request: dogtail - GUI test tool and automation framework

bugzilla at redhat.com bugzilla at redhat.com
Mon Mar 6 07:14:23 UTC 2006


Please do not reply directly to this email. All additional
comments should be made in the comments box of this bug report.

Summary: Review Request: dogtail - GUI test tool and automation framework


https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=182306





------- Additional Comments From toshio at tiki-lounge.com  2006-03-06 02:14 EST -------

Looks like someone on the pyspi bug is willing to sponsor you.  Here's a full
review for dogtail to work on while you get through the paperwork.

rpmlint
W: dogtail no-version-in-last-changelog
  Add the version information after each Changelog entry:
  * Fri Feb  17 2006 Zack Cerza <zcerza at redhat.com> - 0.5.0-2

E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/i18n.py 0644
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/rawinput.py 0644
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/logging.py 0644
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/utils.py 0644
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/path.py 0644
  The files in question are not intended to be executables but they have
  #!/usr/bin/python lines so rpmlint is complaining.  Removing the #! line
  upstream is probably the best thing to do.

E: dogtail standard-dir-owned-by-package /usr/bin
E: dogtail standard-dir-owned-by-package /usr/lib
  These are blockers.  See comments under Needswork.

E: dogtail hardcoded-library-path in /usr/lib/
  This is a blocker.  See comments under Needswork.

E:dogtail script-without-shellbang
/usr/share/doc/dogtail-0.5.0/examples/dogtail/apps/wrappers/evolution.py
  evolution.py has the executable bit set when it shouldn't.
  Actually, though, the examples/dogtail directory should be deleted upstream.

E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/config.py 0644
E: dogtail non-executable-script
/usr/lib/python2.4/site-packages/dogtail/tree.py 0644
  Safe to ignore.  These have test cases that can be run.

W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/abiword-test.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-composing-html.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-configuring-exchange.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-configuring-imap-smtp.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-first-time-wizard.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-sending-email.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-survives-email-CAN-2005-0806.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/evolution-test-switching-components.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/filechooser-stress-test.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/firefox-test-browsing-local-html-file.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/frysk-click-processes.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/gcalctool-test-fibonacci.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/gedit-test-utf8-procedural-api.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/gedit-test-utf8-tree-api.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/gnome-panel-test-starting-every-app.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/google-search.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/i18n-test.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/nautilus-test-icon-view-collage.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/no-help-at-all.py /usr/bin/env
W: dogtail doc-file-dependency /usr/share/doc/dogtail-0.5.0/examples/recorder.py
/usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/rhythmbox-test.py /usr/bin/env
W: dogtail doc-file-dependency
/usr/share/doc/dogtail-0.5.0/examples/test-events.py /usr/bin/env
  There has been talk of removing execute permissions on anything in %{_docdir}.
 I don't believe this has been made a hard requirement yet but you can see
  it causes rpm to auto-require dependencies that the package without %doc
  does not.  If you remove the execute permissions on examples this goes away:
    %install
    find examples -type f -exec chmod 0644 \{\} \;

W: dogtail dangerous-command-in-%post rm
  There doesn't seem to be a good reason for this.  Remove it.

W: dogtail strange-permission dogtail.spec 0600
  You can prevent this by changing the spec to 0644 but it isn't strictly
  necessary.

Needswork:
* Source0: should be a complete URL:
  http://people.redhat.com/zcerza/dogtail/releases/%{name}-%{version}.tar.gz
* The upstream source has a problem.  There are two versions of
  dogtail-0.5.0.tar.gz  One version is in dogtail/releases/.  The other is in
  dogtail/releases/rpm_inst/.  Since you are upstream, it would probably be
  best if you create a dogtail 0.5.1 that includes whichever is the preferred
  version.
* The included tarball has two copies of the dogtail/ directory.  One at the
  toplevel and a second one that I think is in error in dogtail/examples.  If
  your spinning a new upstream release based off this source you probably want
  to address this as well.
* Should BuildRequires: python even though it's already in the build
  environment
* I see an explicit ChangeLog saying you needed to add at-spi-devel in order to
  build.  Can you explain that?  I've built the package with at-spi-devel
  installed and uninstalled/BuildRequires taken out and diff -ur does not show
  any differences.  Unless there's something I'm missing, you should take this
  out.
* The example files and scripts should be created non-executable.
* At least on FC4, brp-python-bytecompile does not include documentation.
  Unless you know of a place where this fails, the definition of
  __os_install_post should be removed.
* Macros should be used in place of directory names.  The python package is
  compiled using directory macros like %{_libdir}, %{_bindir}, etc.  When you
  use python's distutils via the setup.py script, python will substitute these
  paths.  If the path definitions ever change, your hardcoded definitions would
  have to be manually changed whereas %{_bindir}, etc will continue to work.
  - For the python files in /usr/lib, it's an even better idea to use python's
    arch independent libdir.  A macro to ca[ture this is:
    %{!?python_sitelib: %define python_sitelib %(%{__python} -c "from
distutils.sysconfig import get_python_lib; print get_python_lib()")}
    Then you can use  %{python_sitelib}/dogtail/ in your %files section.
    This protects you in case python's site independent directory changes in
    the future (moves to /usr/share/python3.0, for instance)
* The .desktop file must be installed via desktop-file-utils:
  http://www.fedoraproject.org/wiki/Packaging/Guidelines#desktop
  to add fedora as the vendor and X-Fedora as a category.
* This package owns system directories which is a big no-no.
  Instead of /usr/bin/ use %{_bindir}/*
  Instead of /usr/lib/ use the %{python_sitelib}/dogtail/ syntax noted earlier.
  Instead of /usr/share/applications/ use %{_datadir}/applications/*
  /usr/share/icons/hicolor/.... I'm not sure what to do about.  The hicolor
  hierarchy isn't directly owned by anything we depend on but it seems to be
  expected by a good many gnome/gtk+ programs.  I'll ask fedora-extras for
  ideas.
* Please see:
 
http://www.fedoraproject.org/wiki/ScriptletSnippets#head-d37d740d062d3aa6013aab44a79de88a6c1fe533
  for an example of using gtk-update-icon-cache.  In particular, the touch of
  the hicolor directory, the use of || : to prevent errors (for instance,
  if a %_netsharedpath is being used on the installer's system), and calling
  gtk-update-icon-cache from a %postun as well as %post.

Cosmetic:
* The BuildArchitectures: tag is usually written as BuildArch:.  rpmbuild 4.4.1
  appears to recognize both syntaxes, though.
* Fedora Extras usually puts Requires/BuildRequires on separate lines for
  readability.
* Group should probably be Development/Tools

Highlights of passed checklist items:
* Name follows naming guidelines
* spec name matches package name
* OSI License (GPL)
* Copy of the GPL included
* Builds on an FC4 x86_64 box (noarch package)
* Permissions are okay
* Has a proper %%clean
* No %doc files are necessary for the operation of the program.
* Builds in mock

Fix these things up and I'll test out whether it works okay.


-- 
Configure bugmail: https://bugzilla.redhat.com/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug, or are watching the QA contact.




More information about the fedora-extras-list mailing list