git.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jan Hudec <bulb@ucw.cz>
To: Marco Costalba <mcostalba@gmail.com>
Cc: git@vger.kernel.org
Subject: [QGIT RFC] Unit tests for QGit
Date: Fri, 8 Aug 2008 23:13:18 +0200	[thread overview]
Message-ID: <20080808211318.GA4396@efreet.light.src> (raw)

Hello Marco and others,

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).

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.

 2. Put the list of sources into file included in the src.pro and include it
    in the tests.pro file too.

    Pros:
     - No libraries and stuff
     - Less moving stuff around.
    Cons:
     - The sources actually get compiled twice, once for the tests and once
       for the qgit binary.
     - Paths to the sources need to be manually adjusted after including into
       the .pro files, making the .pro files rather ugly.

There seems to be no solution requiring less changes to the projects, because
qmake can only create one library or executable per directory and including
files from other directory is not supported to well.

I've already done the later (have patch series ready), but I am now thinking
that I should probably redo it the first way. What do you think. Does it make
sense to do that?

-- 
						 Jan 'Bulb' Hudec <bulb@ucw.cz>

             reply	other threads:[~2008-08-08 21:14 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-08-08 21:13 Jan Hudec [this message]
2008-08-08 23:00 ` [QGIT RFC] Unit tests for QGit Benjamin Sergeant
2008-08-10  7:55   ` Jan Hudec
2008-08-17  8:57 ` Marco Costalba
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=20080808211318.GA4396@efreet.light.src \
    --to=bulb@ucw.cz \
    --cc=git@vger.kernel.org \
    --cc=mcostalba@gmail.com \
    /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).