Bug 650283 - Review Request: rubygem-rspec-core - Rspec-2 runner and formatters
Summary: Review Request: rubygem-rspec-core - Rspec-2 runner and formatters
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: Package Review
Version: rawhide
Hardware: All
OS: Linux
medium
medium
Target Milestone: ---
Assignee: Vít Ondruch
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On: 650280 650282
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-11-05 16:49 UTC by Mamoru TASAKA
Modified: 2012-11-27 13:33 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-02-25 19:48:59 UTC
Type: ---
Embargoed:
vondruch: fedora-review+
gwync: fedora-cvs+


Attachments (Terms of Use)

Comment 2 Vít Ondruch 2011-02-21 10:10:44 UTC
I'll take this one.

Comment 3 Vít Ondruch 2011-02-21 17:15:22 UTC
At first, could you please explain how are you going to build all these packages? I assume that in first iteration, you are going to change need_bootstrap to 0 and in the second iteration, you are going to remove this constant and conditions completely, is that right?

* Bindir
  - Please consider usage of '--bindir .%{_bindir} \' in the gem install command.
    This would allow you to remove all the cruft beginning by line 86.

* Autospec
  - Since autospec command is deprecated and moreover completely useless, I would
    suggest its remove.
  - Moreover, autospec-2 is not aligned with MiniTest naming, where testrb2 is
    used to avoid conflicts.

* Test suite
  - The test suite is really tricky :/ I have tried to run all the specs and there
    are failing not only for autospec part, also for formatters. I have created
    several upstream bugs to cover this:
    https://github.com/rspec/rspec-core/issues/318
    https://github.com/rspec/rspec-core/issues/319
  - Cucumber specs has several failures as well
    https://github.com/rspec/rspec-core/issues/320
  - It is not hopefully showstopper
  - The selected subset works just fine

* Documentation
  - Files in -doc subpackage are not marked as documentation. That is reported
    by rpmlint. They can by appropriately queried later:

    $ rpm -qp -d noarch/rubygem-rspec-core-doc-2.5.1-1.fc14.noarch.rpm

  - It is messaged by rpmlint

* rpmlint output
  - rubygem-rspec-core-doc.noarch: W: hidden-file-or-dir 
        /usr/lib/ruby/gems/1.8/gems/rspec-core-2.5.1/features/.nav
  - rubygem-rspec-core.src: W: spelling-error 
        %description -l en_US Behaviour -> Behavior, Behave, Behalves
  
* Koji scratch build
  - http://koji.fedoraproject.org/koji/taskinfo?taskID=2854668
  - with need_bootstrap set to 1, the build is successful.

Comment 4 Mamoru TASAKA 2011-02-21 17:38:17 UTC
(In reply to comment #3)
> At first, could you please explain how are you going to build all these
> packages? I assume that in first iteration, you are going to change
> need_bootstrap to 0 and in the second iteration, you are going to remove this
> constant and conditions completely, is that right?

- As you see "Depends on" field on this bug, with version-compatible
  rubygem-rspec-{expectations,mocks} installed as BR, bootstrapping
  is not needed.
  (So the reason that need_bootstrap craft is added to -core spec file
   is only that I want to make all rubygem-rspec-foo related spec file
   alike).

  ! Note that for rubygem-rspec-{expectations,mocks}, bootstrapping
    is always needed if we want to enable tests, everytime we upgrade
    the version of rspec related gems.

> * Bindir
>   - Please consider usage of '--bindir .%{_bindir} \' in the gem install
> command.
>     This would allow you to remove all the cruft beginning by line 86.
- Will do.

> * Autospec
>   - Since autospec command is deprecated and moreover completely useless, I
> would
>     suggest its remove.
>   - Moreover, autospec-2 is not aligned with MiniTest naming, where testrb2 is
>     used to avoid conflicts.
- Will rename to autospec2 (I won't remove this script completely "by myself"
  - as the upstream will anyway remove this in the later version)

> * Test suite
>   - The test suite is really tricky :/ I have tried to run all the specs and
> there
>     are failing not only for autospec part, also for formatters. I have created
>     several upstream bugs to cover this:
>     https://github.com/rspec/rspec-core/issues/318
>     https://github.com/rspec/rspec-core/issues/319
>   - Cucumber specs has several failures as well
>     https://github.com/rspec/rspec-core/issues/320
>   - It is not hopefully showstopper
>   - The selected subset works just fine
- Well, I am using
  $ ruby -rubygems -Ilib/ ...
  note that "-Ilib/" is used here, which may explain the difference of test
  results between you and me.

> * Documentation
>   - Files in -doc subpackage are not marked as documentation. That is reported
>     by rpmlint. They can by appropriately queried later:
>     $ rpm -qp -d noarch/rubygem-rspec-core-doc-2.5.1-1.fc14.noarch.rpm
> 
>   - It is messaged by rpmlint
- It is intentional. I always say that "%doc attribute in -doc subpackage
  is redundant" because
  - The name of rpm already says that the package is for documentation
  - If --excludedocs is specified with $ rpm -ivh (or similar effect is
    set in rpm config file by default), files marked as %doc won't 
    be installed,  although the admin is just about to install -doc 
    package to see document files, which is perhaps not expected.

Comment 5 Mamoru TASAKA 2011-02-21 17:44:53 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > At first, could you please explain how are you going to build all these
> > packages? I assume that in first iteration, you are going to change
> > need_bootstrap to 0 and in the second iteration, you are going to remove this
> > constant and conditions completely, is that right?
> 
> - As you see "Depends on" field on this bug, with version-compatible
>   rubygem-rspec-{expectations,mocks} installed as BR, bootstrapping
>   is not needed.
>   (So the reason that need_bootstrap craft is added to -core spec file
>    is only that I want to make all rubygem-rspec-foo related spec file
>    alike)

- And also note that these 2 rpms (expectations,mocks) are also
  in Requires.

Comment 7 Vít Ondruch 2011-02-23 09:29:56 UTC
(In reply to comment #4)
> (In reply to comment #3)
> > At first, could you please explain how are you going to build all these
> > packages? I assume that in first iteration, you are going to change
> > need_bootstrap to 0 and in the second iteration, you are going to remove this
> > constant and conditions completely, is that right?
> 
> - As you see "Depends on" field on this bug, with version-compatible
>   rubygem-rspec-{expectations,mocks} installed as BR, bootstrapping
>   is not needed.
>   (So the reason that need_bootstrap craft is added to -core spec file
>    is only that I want to make all rubygem-rspec-foo related spec file
>    alike).
> 
>   ! Note that for rubygem-rspec-{expectations,mocks}, bootstrapping
>     is always needed if we want to enable tests, everytime we upgrade
>     the version of rspec related gems.
> 

So if I understand it correctly, you plan to import and build rubygem-rspec-{expectations,mocks}, which will not have executed the %check section while rubygem-rspec-core could be successfully build with executed test suite, right?

> > * Test suite
> >   - The test suite is really tricky :/ I have tried to run all the specs and
> > there
> >     are failing not only for autospec part, also for formatters. I have created
> >     several upstream bugs to cover this:
> >     https://github.com/rspec/rspec-core/issues/318
> >     https://github.com/rspec/rspec-core/issues/319
> >   - Cucumber specs has several failures as well
> >     https://github.com/rspec/rspec-core/issues/320
> >   - It is not hopefully showstopper
> >   - The selected subset works just fine
> - Well, I am using
>   $ ruby -rubygems -Ilib/ ...
>   note that "-Ilib/" is used here, which may explain the difference of test
>   results between you and me.

There apparently some issues with test suite. Some of them are already fixed upstream and some are waiting for their fix: https://github.com/rspec/rspec-core/issues/324

I hope it is not showstopper unless upstream will say so.

> > * Documentation
> >   - Files in -doc subpackage are not marked as documentation. That is reported
> >     by rpmlint. They can by appropriately queried later:
> >     $ rpm -qp -d noarch/rubygem-rspec-core-doc-2.5.1-1.fc14.noarch.rpm
> > 
> >   - It is messaged by rpmlint
> - It is intentional. I always say that "%doc attribute in -doc subpackage
>   is redundant" because
>   - The name of rpm already says that the package is for documentation
>   - If --excludedocs is specified with $ rpm -ivh (or similar effect is
>     set in rpm config file by default), files marked as %doc won't 
>     be installed,  although the admin is just about to install -doc 
>     package to see document files, which is perhaps not expected.

In our case, when we include spec or test suite in doc subpackage is this statement questionable. However it is discussion for fedora-devel then for this review.

I have no other objections. So this package is APPROVED.

Comment 8 Mamoru TASAKA 2011-02-23 18:02:09 UTC
Thank you for review and comments. I will refrect them when I import this
package into Fedora git.

New Package SCM Request
=======================
Package Name:         rubygem-rspec-core
Short Description:    Rspec-2 runner and formatters
Owners:               mtasaka
Branches:             f15 f14 f13
InitialCC:

Comment 9 Jason Tibbitts 2011-02-24 18:27:24 UTC
Git done (by process-git-requests).

Comment 10 Mamoru TASAKA 2011-02-25 19:48:59 UTC
Rebuilt for all branches, submitted push requests for F-15/14/13, closing.
Thank you for the review and git procedure.

Comment 11 Bryan Kearney 2012-11-27 13:22:47 UTC
Package Change Request
======================
Package Name: rubygem-rspec-core
New Branches: el6
Owners: bkearney vondruch
InitialCC:

Comment 12 Gwyn Ciesla 2012-11-27 13:33:39 UTC
Git done (by process-git-requests).


Note You need to log in before you can comment on or make changes to this bug.