git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Marco Costalba" <mcostalba@gmail.com>
To: "Jan Hudec" <bulb@ucw.cz>
Cc: git@vger.kernel.org
Subject: Re: [QGIT RFC] Unit tests for QGit
Date: Sun, 17 Aug 2008 09:57:36 +0100	[thread overview]
Message-ID: <e5bfff550808170157m45532428y3956e5d0d92e97d9@mail.gmail.com> (raw)
In-Reply-To: <20080808211318.GA4396@efreet.light.src>

On Fri, Aug 8, 2008 at 10:13 PM, Jan Hudec <bulb@ucw.cz> wrote:
> Hello Marco and others,
>

Hi Jan,

  sorry to reply so late but I just returned from holiday (no PC there
due to it was severely forbidden by my boss aka wife :-)


> I've been thinking about some refactoring of QGit since some time. And to be
> sure I don't screw up things too hard in the process, I thought about adding
> a test suite infrastructure first (and add some test cases for each think
> just before refactoring it).
>

That's interesting. I have NO experience on test suites for GUI
applications (command line applications like git I would think are
easier to setup some tests suite for)


> The problem is, that implementing unittests means I need to compile
> 2 separate binaries -- qgit itself and the test -- using most (but not all)
> of the same sources. I see two ways to do it, so I'd like to ask which you
> consider cleaner:
>
>  1. Reorganize stuff so that a (static) library is created from all the
>    sources except qgit.cpp and than qgit.cpp is linked to this library to
>    create qgit and the tests are linked with it to provide the test runner.
>
>    Pros:
>     - The .pro files should remain reasonably simple.
>     - The sources are only compiled once.
>    Cons:
>     - Need to split the src directory to two, so bigger moving stuff around.
>

This is not a cons IMHO if it helps in separating tests from sources.

As I said I am no expert, but I would try to

- Let the test suite be easily stripped/not compiled for the
publishing (remember that we have to produce also that little
qgit_install.exe file used on *that* OS)

- Let the test be compiled only on demand (during developing I just
want to compile and run as few things as possible: C++ is already
quite bad in that regard and I don't want the situation get worst. BTW
I consider C++ slow compile times the biggest and probably only
drawback of C++ against C for big projects)

- Try to find some literature/reference before starting coding. As I
said I am no expert of GUI testing, so I would probably try to find
some Qt projects that use it and see/ask the developers how they
managed to do that and what are the problems. Then try to be stick to
known best practice (read someone that has DONE that in a REAL
project, not someone that has WRITTEN about that in a paper or a
vendor marketing/documentation)

Anyhow I'm really interested in this thing, and hope to see your work
soon. Please feel free to drop me a line for any help you think I can
give you.

Bye
Marco

  parent reply	other threads:[~2008-08-17  8:58 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-08 21:13 [QGIT RFC] Unit tests for QGit Jan Hudec
2008-08-08 23:00 ` Benjamin Sergeant
2008-08-10  7:55   ` Jan Hudec
2008-08-17  8:57 ` Marco Costalba [this message]
2008-08-17 14:15   ` Jan Hudec
2008-08-17 15:46 ` Marco Costalba
2008-08-17 19:58   ` Jan Hudec
2008-08-17 20:30     ` Marco Costalba
2008-08-18 18:00       ` Jan Hudec
2008-08-19 14:53         ` Marco Costalba
2008-08-27 20:18           ` Jan Hudec
2008-08-28 11:29             ` Marco Costalba
2008-08-28 15:31               ` Karl Hasselström
2008-08-28 18:54                 ` Marco Costalba
2008-08-28 22:01                   ` Jan Hudec
2008-08-29  7:01                     ` Marco Costalba
2008-08-28 22:18                   ` Karl Hasselström

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e5bfff550808170157m45532428y3956e5d0d92e97d9@mail.gmail.com \
    --to=mcostalba@gmail.com \
    --cc=bulb@ucw.cz \
    --cc=git@vger.kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).