Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

t/src/manifest.t failed

6 views
Skip to first unread message

Dino Morelli

unread,
May 17, 2005, 11:21:04 PM5/17/05
to Perl 6 Internals list
I'm seeing the following test failure at r8113

t/src/manifest....NOK 6# Failed test (t/src/manifest.t at line 79)
# Extra files:
# dynclasses/build.pl
# editor/imc.vim
# install_config.fpmc
# t/src/.manifest.t.swp
# test.imc
# test.pbc
# Looks like you failed 1 tests of 6.
t/src/manifest....dubious

I started tracing through how it got here. I gather that MANIFEST.SKIP
is constructed by gen_manifest_skip.pl which is fed by
Parrot::Distribution which gets its info from svn:ignore

I see that stuff like the .swp file above should probably be an ignore
for the entire project for something like ^\..*\.sw.$
(Vim swap file)

But the other things, I'm new and not sure yet what they are.

I think the inc.vim may have been created by the Makefile in editor/
when I had it create syntax highlighting.


-Dino

--
.~. Dino Morelli
/V\ email: dmor...@reactorweb.net
/( )\ weblog: http://categorically.net/d/blog/
^^-^^ preferred distro: Debian GNU/Linux http://www.debian.org

Leopold Toetsch

unread,
May 18, 2005, 1:52:46 AM5/18/05
to Dino Morelli, Perl 6 Internals list
Dino Morelli wrote:
> I'm seeing the following test failure at r8113
>
> t/src/manifest....NOK 6# Failed test (t/src/manifest.t at line 79)

I'd say we just drop this test. Whenever you do reasoanble work in the
working tree, you got test files, editor swap file and whatnot.

leo

Juergen Boemmels

unread,
May 18, 2005, 4:11:23 AM5/18/05
to perl6-i...@perl.org

The original version of t/src/manifest.t which i have written back in 2002
just tests that version control (CVS at that time) and MANIFEST are in sync.
There were no checks for extra file, because this would lead exact to the
above effects.

Still it is one of the most often failing tests, because people tend to
forget to update MANIFEST when adding files to CVS.
Garret Goebel wrote a commitinfo file which warned a commiter if he/she
forgot to update the MANIFEST.

I have an updated version of t/src/manifest.t I was about to commit but is
now conflicting with this latest version.

This new manifest.t introduces no new features (checking of MANIFEST.SKIP)
but just changes from CVS to SVN. While at it, I removed the reliance on
the interal files like CVS/Entries. In SVN this is no longer necessary
because working Perl-Bindings exist. A new version for the precommit-script
is still to be investigated.

I can commit this version, but first I want to reach consensus if this is
the right way to go.

bye
boe

manifest.t

Leopold Toetsch

unread,
May 18, 2005, 6:12:47 AM5/18/05
to Juergen Boemmels, perl6-i...@perl.org
Juergen Boemmels wrote:
> On Wednesday 18 May 2005 07:52, Leopold Toetsch wrote:

>>I'd say we just drop this test. Whenever you do reasoanble work in the
>>working tree, you got test files, editor swap file and whatnot.

> Still it is one of the most often failing tests, because people tend to


> forget to update MANIFEST when adding files to CVS.

It depends of course on how people organize their work. But I think
there are basically two cases:
- manicheck a clean repo
- manicheck a working copy, where you compile and run tests

I have both parrot trees, usual work is:
a) "svn up" in the clean tree
b) rsync -au trunk/ leo
c) work and compile in my tree
d) manidiff && copy changed files back to trunk
e) svn ci

Step d) and e) include some scripts that run a manickeck in the clean
tree. But this sequence doesn't prevent from just forgetting to add a
file to MANIFEST in leo/ :)

> Garret Goebel wrote a commitinfo file which warned a commiter if he/she
> forgot to update the MANIFEST.

perl tools/dev/manicheck.pl in the clean tree does it

> I have an updated version of t/src/manifest.t I was about to commit but is
> now conflicting with this latest version.

What about:

skip("number 6", 1) if -e parrot$EXE;

leo

Bernhard Schmalhofer

unread,
May 18, 2005, 2:14:57 PM5/18/05
to Leopold Toetsch, Juergen Boemmels, perl6-i...@perl.org
Leopold Toetsch schrieb:

> Juergen Boemmels wrote:
>
>> On Wednesday 18 May 2005 07:52, Leopold Toetsch wrote:
>
>>> I'd say we just drop this test. Whenever you do reasoanble work in the
>>> working tree, you got test files, editor swap file and whatnot.
>>

Yep, checking for temporary files is not a priority.
But keeping svn:ignore and MANIFEST.SKIP in sync
is nice to have, so that 'perl tools/dev/manicheck.pl' and 'svn status'
warn about the same extra files.

>> Still it is one of the most often failing tests, because people tend to
>> forget to update MANIFEST when adding files to CVS.
>
> It depends of course on how people organize their work. But I think
> there are basically two cases:
> - manicheck a clean repo

That's the same as checking that all files in SVN are also in MANIFEST.
So a list diff
between 'MANIFEST' and 'svn list -R' should be in t/src/manifest.t.
Currently this is not checked in 't/src/manifest.t', but I think it is
in Jürgens version.

> - manicheck a working copy, where you compile and run tests
>
> I have both parrot trees, usual work is:
> a) "svn up" in the clean tree
> b) rsync -au trunk/ leo
> c) work and compile in my tree
> d) manidiff && copy changed files back to trunk
> e) svn ci

I have a working copy 'local' for larger changes and a copy for smaller
patches 'repos'.
I generate patches from 'local' and apply them to 'repos'.
Before checking in I usually do 'make test', 'svn status' and look at
the output from 'svn diff'.

> Step d) and e) include some scripts that run a manickeck in the clean
> tree. But this sequence doesn't prevent from just forgetting to add a
> file to MANIFEST in leo/ :)
>
>> Garret Goebel wrote a commitinfo file which warned a commiter if he/she
>> forgot to update the MANIFEST.
>
> perl tools/dev/manicheck.pl in the clean tree does it

When you run it on a clean copy.

>> I have an updated version of t/src/manifest.t I was about to commit
>> but is now conflicting with this latest version.
>

Should I do a merge? Using the SVN Perl bindings make the code much nicer.

> What about:
>
> skip("number 6", 1) if -e parrot$EXE;

I have disabled the 'extra file' test for now.

>
> leo

CU, Bernhard

Juergen Boemmels

unread,
May 18, 2005, 3:11:31 PM5/18/05
to perl6-i...@perl.org
On Wednesday 18 May 2005 12:12, Leopold Toetsch wrote:
> Juergen Boemmels wrote:
> > On Wednesday 18 May 2005 07:52, Leopold Toetsch wrote:
> >>I'd say we just drop this test. Whenever you do reasoanble work in the
> >>working tree, you got test files, editor swap file and whatnot.
> >
> > Still it is one of the most often failing tests, because people tend to
> > forget to update MANIFEST when adding files to CVS.
>
> It depends of course on how people organize their work. But I think
> there are basically two cases:

More or less there are 3 cases

> - manicheck a clean repo

In this case no file should be skipped and ignored
Ideally make realclean should bring you back to this state.

> - manicheck a working copy, where you compile and run tests

These are actualy two cases:
- compile and run test.
Here are extra files should be skipped and ignored,
otherwise its an error
- develop in the tree. Here extra files are normal

> I have both parrot trees, usual work is:
> a) "svn up" in the clean tree
> b) rsync -au trunk/ leo
> c) work and compile in my tree
> d) manidiff && copy changed files back to trunk
> e) svn ci
>
> Step d) and e) include some scripts that run a manickeck in the clean
> tree. But this sequence doesn't prevent from just forgetting to add a
> file to MANIFEST in leo/ :)

I do pretty much the same, i use 2 checkouts.
To copy changes I use
svn diff | cd ../parrot-clean; patch -p0
before a commit I run
make test

> > Garret Goebel wrote a commitinfo file which warned a commiter if he/she
> > forgot to update the MANIFEST.
>
> perl tools/dev/manicheck.pl in the clean tree does it

so does the old version of
perl -Ilib t/src/manifest.t
but both have the problem, that they walk the tree. This was a problem for
the commitinfo. Don't know if its still a problem in SVN.

> > I have an updated version of t/src/manifest.t I was about to commit but
> > is now conflicting with this latest version.
>
> What about:
>
> skip("number 6", 1) if -e parrot$EXE;

Then you can skip it always. Even in a clean build there will be a parrot$EXE.

It should be checked that MANIFEST.SKIP and svn:ignore are consistent, i.e.
that all ignored files are in MANIFEST.SKIP and vice versa.
The new checks in t/src/manifest do this, but they drop the orignal check
between MANIFEST and svn

> leo

This little old test gets a lot attention these days
boe

Juergen Boemmels

unread,
May 18, 2005, 3:21:14 PM5/18/05
to perl6-i...@perl.org
On Wednesday 18 May 2005 20:14, Bernhard Schmalhofer wrote:
[...]

> That's the same as checking that all files in SVN are also in MANIFEST.
> So a list diff
> between 'MANIFEST' and 'svn list -R' should be in t/src/manifest.t.
> Currently this is not checked in 't/src/manifest.t', but I think it is
> in Jürgens version.

It was checked in the old CVS version.

[...]

> Should I do a merge? Using the SVN Perl bindings make the code much nicer.

I will do it, but I need some time. I have a day-time job.

bye
boe

0 new messages