Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #9104 > unrolled thread

Re: CI and BDD with Python

Started byStefan Behnel <stefan_ml@behnel.de>
First post2011-07-09 06:36 +0200
Last post2011-07-09 22:11 -0700
Articles 13 — 5 participants

Back to article view | Back to comp.lang.python

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: CI and BDD with Python Stefan Behnel <stefan_ml@behnel.de> - 2011-07-09 06:36 +0200
    Re: CI and BDD with Python Phlip <phlip2005@gmail.com> - 2011-07-09 19:05 -0700
      Re: CI and BDD with Python mark curphey <mark@curphey.com> - 2011-07-09 19:39 -0700
        Re: CI and BDD with Python Phlip <phlip2005@gmail.com> - 2011-07-09 20:03 -0700
          Morelia for BDD in Python (was: CI and BDD with Python) Ben Finney <ben+python@benfinney.id.au> - 2011-07-10 13:38 +1000
            Re: Morelia for BDD in Python (was: CI and BDD with Python) Phlip <phlip2005@gmail.com> - 2011-07-09 22:10 -0700
              Re: Morelia for BDD in Python Ben Finney <ben+python@benfinney.id.au> - 2011-07-10 15:21 +1000
                Re: Morelia for BDD in Python Phlip <phlip2005@gmail.com> - 2011-07-10 08:00 -0700
                  Re: Morelia for BDD in Python Phlip <phlip2005@gmail.com> - 2011-07-10 08:29 -0700
                Re: Morelia for BDD in Python rusi <rustompmody@gmail.com> - 2011-07-10 10:45 -0700
                  Re: Morelia for BDD in Python Ben Finney <ben+python@benfinney.id.au> - 2011-07-11 07:57 +1000
              Re: Morelia for BDD in Python Stefan Behnel <stefan_ml@behnel.de> - 2011-07-10 08:52 +0200
            Re: Morelia for BDD in Python (was: CI and BDD with Python) Phlip <phlip2005@gmail.com> - 2011-07-09 22:11 -0700

#9104 — Re: CI and BDD with Python

FromStefan Behnel <stefan_ml@behnel.de>
Date2011-07-09 06:36 +0200
SubjectRe: CI and BDD with Python
Message-ID<mailman.792.1310186214.1164.python-list@python.org>
mark curphey, 09.07.2011 01:41:
> And for CI having been using Hudson for a while, any real advantages in a Python / Django world for adopting something native like Trac and one of the CI plugins like Bitten?

I warmly recommend Jenkins (i.e. Hudson) for anything CI. It gives you tons 
of plugins and configuration options together with full information 
awareness about your build status and dependencies through a nice web 
interface.

The only reason to go native here is that it may become simpler to set up 
Python build and test jobs. But given that it's usually just a couple of 
shell commands that you write once, you'd miss more from the interface than 
what you gain from a quicker job setup.

Stefan

[toc] | [next] | [standalone]


#9133

FromPhlip <phlip2005@gmail.com>
Date2011-07-09 19:05 -0700
Message-ID<d7123b8f-a03a-43e3-a850-3cf7378da1e5@b39g2000prd.googlegroups.com>
In reply to#9104
On Jul 8, 9:36 pm, Stefan Behnel <stefan...@behnel.de> wrote:
> mark curphey, 09.07.2011 01:41:
>
> > And for CI having been using Hudson for a while, any real advantages in a Python / Django world for adopting something native like Trac and one of the CI plugins like Bitten?

I'm kind'a partial to Morelia for BDD.

Don't be fooled by Ruby's RSpec - it's _not_ "BDD". In my exalted
opinion. "BDD" means "your customer gives you requirements as
sentences, and you make them into executable statements." That's what
Cucumber does, which Morelia learns from.

And BDD and CI are orthogonal. BDD should be part of a complete TDD
test suite, and your CI tool should run that.

I still like CruiseControl.rb - even though it has bugs when it sees
too many git integrations. Hudson had way too many features, and CCrb
mildly presumes you know how to operate its .cruise/projects folder
manually!

[toc] | [prev] | [next] | [standalone]


#9136

Frommark curphey <mark@curphey.com>
Date2011-07-09 19:39 -0700
Message-ID<mailman.817.1310265553.1164.python-list@python.org>
In reply to#9133
Thanks. FWIW I played with a bunch (Freshen, Morelia, Lettuce....) over the last few days and Lettuce appears to be the most "actively" maintained and closest to a cucumber-like implementation IMHO. I have decided to adopt it for now. I played with a few CI servers but Jenkins (Hudson) is tough to beat IMHO but I am sure this is just my personal preference. Anyways thanks for the help. Cheers, Mark


On Jul 9, 2011, at 7:05 PM, Phlip wrote:

> On Jul 8, 9:36 pm, Stefan Behnel <stefan...@behnel.de> wrote:
>> mark curphey, 09.07.2011 01:41:
>> 
>>> And for CI having been using Hudson for a while, any real advantages in a Python / Django world for adopting something native like Trac and one of the CI plugins like Bitten?
> 
> I'm kind'a partial to Morelia for BDD.
> 
> Don't be fooled by Ruby's RSpec - it's _not_ "BDD". In my exalted
> opinion. "BDD" means "your customer gives you requirements as
> sentences, and you make them into executable statements." That's what
> Cucumber does, which Morelia learns from.
> 
> And BDD and CI are orthogonal. BDD should be part of a complete TDD
> test suite, and your CI tool should run that.
> 
> I still like CruiseControl.rb - even though it has bugs when it sees
> too many git integrations. Hudson had way too many features, and CCrb
> mildly presumes you know how to operate its .cruise/projects folder
> manually!
> -- 
> http://mail.python.org/mailman/listinfo/python-list

[toc] | [prev] | [next] | [standalone]


#9142

FromPhlip <phlip2005@gmail.com>
Date2011-07-09 20:03 -0700
Message-ID<e065aa3c-3fcb-4677-b26c-8cecbf884c32@r28g2000prb.googlegroups.com>
In reply to#9136
On Jul 9, 7:39 pm, mark curphey <m...@curphey.com> wrote:

> Thanks. FWIW I played with a bunch (Freshen, Morelia, Lettuce....)

Morelia is "undermaintained" because it's finished. It attaches to any
pre-existing TestCase-style test runner, hence there's nothing to
maintain!

Packages like Lettuce rebuild the entire TestCase back-end just to
change the front end. That forces its maintainer to then do the Red
Queen thing, and constantly compete with all other test runners just
to stay in place. Props for the effort, though..!

[toc] | [prev] | [next] | [standalone]


#9144 — Morelia for BDD in Python (was: CI and BDD with Python)

FromBen Finney <ben+python@benfinney.id.au>
Date2011-07-10 13:38 +1000
SubjectMorelia for BDD in Python (was: CI and BDD with Python)
Message-ID<871uxyhkj5.fsf_-_@benfinney.id.au>
In reply to#9142
Phlip <phlip2005@gmail.com> writes:

> On Jul 9, 7:39 pm, mark curphey <m...@curphey.com> wrote:
>
> > Thanks. FWIW I played with a bunch (Freshen, Morelia, Lettuce....)
>
> Morelia is "undermaintained" because it's finished. It attaches to any
> pre-existing TestCase-style test runner, hence there's nothing to
> maintain!

It looks good! But it's not yet in Debian :-(

I've filed bug report #633411 <URL:http://bugs.debian.org/633411> to
call for an interested Python programmer to package it for Debian.

-- 
 \        “That's the essence of science: Ask an impertinent question, |
  `\            and you're on the way to the pertinent answer.” —Jacob |
_o__)                            Boronowski, _The Ascent of Man_, 1976 |
Ben Finney

[toc] | [prev] | [next] | [standalone]


#9147 — Re: Morelia for BDD in Python (was: CI and BDD with Python)

FromPhlip <phlip2005@gmail.com>
Date2011-07-09 22:10 -0700
SubjectRe: Morelia for BDD in Python (was: CI and BDD with Python)
Message-ID<91740322-7b3f-452f-aba6-8c37aaea71b2@j9g2000prj.googlegroups.com>
In reply to#9144
On Jul 9, 8:38 pm, Ben Finney <ben+pyt...@benfinney.id.au> wrote:
> Phlip <phlip2...@gmail.com> writes:
> > On Jul 9, 7:39 pm, mark curphey <m...@curphey.com> wrote:
>
> > > Thanks. FWIW I played with a bunch (Freshen, Morelia, Lettuce....)
>
> > Morelia is "undermaintained" because it's finished. It attaches to any
> > pre-existing TestCase-style test runner, hence there's nothing to
> > maintain!
>
> It looks good! But it's not yet in Debian :-(

Tx - I never added anything to a distro before! But..!

'sudo pip install morelia' just worked for me, on Ubuntu. I don't
think a python-morelia aptitude package would add any value. Such test
rigs shall never have any embedded C code or other shenanigans.

If I needed to think of a feature to add, it would be P<name> notation
in the regular expressions, to then enforce the names of the matching
arguments. But this is fluff; real programmers can do without it. If I
worked closer to the center of the BDD thought leadership I'd know
what else to add...

[toc] | [prev] | [next] | [standalone]


#9149 — Re: Morelia for BDD in Python

FromBen Finney <ben+python@benfinney.id.au>
Date2011-07-10 15:21 +1000
SubjectRe: Morelia for BDD in Python
Message-ID<87wrfqg17p.fsf@benfinney.id.au>
In reply to#9147
Phlip <phlip2005@gmail.com> writes:

> 'sudo pip install morelia' just worked for me, on Ubuntu.

The problem with ‘pip’ is that it's a parallel package installation that
ignores the available package management system on the OS.

That's not a fault of ‘pip’ or Setuptools or PyPI or the rest; but it's
a higher maintenance burden for the user than getting a package from the
same system that provides all the rest of their packages on the
computer.

On operating systems with poor package management, Python's distutils
and PyPI etc. are better than nothing. But on an OS like Debian with
good package management already for free software, it's a step backward
to rely on external dependencies from a disjoint package system.

> I don't think a python-morelia aptitude package would add any value.

I think it would add great value, since without it I'm unlikely to
bother using Morelia in any project. The maintenance burden is too high
to keep adding dependencies that come from a distinct dependency system
outside my OS.

-- 
 \        “Consider the daffodil. And while you're doing that, I'll be |
  `\              over here, looking through your stuff.” —Jack Handey |
_o__)                                                                  |
Ben Finney

[toc] | [prev] | [next] | [standalone]


#9167 — Re: Morelia for BDD in Python

FromPhlip <phlip2005@gmail.com>
Date2011-07-10 08:00 -0700
SubjectRe: Morelia for BDD in Python
Message-ID<303c5739-89ae-48ba-9680-c0218b33d66e@p29g2000pre.googlegroups.com>
In reply to#9149
> I think it would add great value, since without it I'm unlikely to
> bother using Morelia in any project. The maintenance burden is too high
> to keep adding dependencies that come from a distinct dependency system
> outside my OS.

pip freeze! Specifically, we already added pip freeze and virtualenv
support to our project's fab file...

> There's no "pip uninstall", though.

I can see that would matter to projects you would want to uninstall,
but not Morelia...

[toc] | [prev] | [next] | [standalone]


#9169 — Re: Morelia for BDD in Python

FromPhlip <phlip2005@gmail.com>
Date2011-07-10 08:29 -0700
SubjectRe: Morelia for BDD in Python
Message-ID<c55d3dbf-1827-4992-a969-95f6a46d8886@e20g2000prf.googlegroups.com>
In reply to#9167
Two of my feature requests for Morelia:

 - integrate with the test runner (nose etc.) to provide one
    dot . per passing step

 - insert a long multi-line abstract string (typically
    XML) with inside [[CDATA-style escaping tags

 - the ability to stub a step as <not passing yet>

 - the ability to pass a | delimited | table into a step
    as an argument containing an array, instead of unrolling
    the table into multiple calls to one step

 - a rapid conversion to an HTML report, with folding blocks,
     as an instant project documentation.

Lack of the second option is why we _didn't_ use M for the BDD test
runner on our latest project. (The onsite customer is an XML-freak,
AND the lead architect until I can manage to retire him upstairs!;)

But if I could put those four in, then write a disposable script that
converted our XML "project definition" file back into Morelia-Cucumber-
Gherkin notation, I'd have Morelia back in our project!

[toc] | [prev] | [next] | [standalone]


#9175 — Re: Morelia for BDD in Python

Fromrusi <rustompmody@gmail.com>
Date2011-07-10 10:45 -0700
SubjectRe: Morelia for BDD in Python
Message-ID<bac5f15b-a758-4230-ae69-33efde1455e2@q12g2000prb.googlegroups.com>
In reply to#9149
On Jul 10, 10:21 am, Ben Finney <ben+pyt...@benfinney.id.au> wrote:
> Phlip <phlip2...@gmail.com> writes:
> > 'sudo pip install morelia' just worked for me, on Ubuntu.
>
> The problem with ‘pip’ is that it's a parallel package installation that
> ignores the available package management system on the OS.
>
> That's not a fault of ‘pip’ or Setuptools or PyPI or the rest; but it's
> a higher maintenance burden for the user than getting a package from the
> same system that provides all the rest of their packages on the
> computer.
>
> On operating systems with poor package management, Python's distutils
> and PyPI etc. are better than nothing. But on an OS like Debian with
> good package management already for free software, it's a step backward
> to rely on external dependencies from a disjoint package system.

Just curious: Do you manage to stay within debian packages and have
all the python packages you want/need at the versions that are most
convenient?

For myself, until recently my debian testing did not even give
python2.7.

[toc] | [prev] | [next] | [standalone]


#9184 — Re: Morelia for BDD in Python

FromBen Finney <ben+python@benfinney.id.au>
Date2011-07-11 07:57 +1000
SubjectRe: Morelia for BDD in Python
Message-ID<87hb6tg5oe.fsf@benfinney.id.au>
In reply to#9175
rusi <rustompmody@gmail.com> writes:

> Just curious: Do you manage to stay within debian packages and have
> all the python packages you want/need at the versions that are most
> convenient?

When that's not the case, I consider it not a status quo to live with,
but a problem to be addressed.

-- 
 \     “I cannot conceive that anybody will require multiplications at |
  `\   the rate of 40,000 or even 4,000 per hour …” —F. H. Wales, 1936 |
_o__)                                                                  |
Ben Finney

[toc] | [prev] | [next] | [standalone]


#9153 — Re: Morelia for BDD in Python

FromStefan Behnel <stefan_ml@behnel.de>
Date2011-07-10 08:52 +0200
SubjectRe: Morelia for BDD in Python
Message-ID<mailman.829.1310280770.1164.python-list@python.org>
In reply to#9147
Phlip, 10.07.2011 07:10:
> On Jul 9, 8:38 pm, Ben Finney<ben+pyt...@benfinney.id.au>  wrote:
>> Phlip<phlip2...@gmail.com>  writes:
>>> On Jul 9, 7:39 pm, mark curphey<m...@curphey.com>  wrote:
>>
>>>> Thanks. FWIW I played with a bunch (Freshen, Morelia, Lettuce....)
>>
>>> Morelia is "undermaintained" because it's finished. It attaches to any
>>> pre-existing TestCase-style test runner, hence there's nothing to
>>> maintain!
>>
>> It looks good! But it's not yet in Debian :-(
>
> Tx - I never added anything to a distro before! But..!
>
> 'sudo pip install morelia' just worked for me, on Ubuntu. I don't
> think a python-morelia aptitude package would add any value.

There's no "pip uninstall", though.

Stefan

[toc] | [prev] | [next] | [standalone]


#9148 — Re: Morelia for BDD in Python (was: CI and BDD with Python)

FromPhlip <phlip2005@gmail.com>
Date2011-07-09 22:11 -0700
SubjectRe: Morelia for BDD in Python (was: CI and BDD with Python)
Message-ID<0922c0f1-1c3e-49fa-87d0-92d43b96f7bf@17g2000prr.googlegroups.com>
In reply to#9144
> --
>  \        “That's the essence of science: Ask an impertinent question, |
>   `\            and you're on the way to the pertinent answer.” —Jacob |
> _o__)                            Boronowski, _The Ascent of Man_, 1976 |
> Ben Finney

That nose keeps reminding me of the start of one of the Pirates of the
Caribbean movies...

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web