Skip Menu |
Report information
Id: 130660
Status: open
Priority: 0/
Queue: perl6

Owner: Nobody
Requestors: toolforger [at] durchholz.org
Cc:
AdminCc:

Severity: (no value)
Tag: (no value)
Platform: (no value)
Patch Status: (no value)
VM: (no value)



To: rakudobug [...] perl.org
From: Toolforger <toolforger [...] durchholz.org>
Subject: make t/spec/foo/bar.t modifies the current installation
Date: Sat, 28 Jan 2017 11:00:28 +0100
Download (untitled) / with headers
text/plain 395b
Testing an installation should not modify it, however make -n for an individual test file gives me this: ~/try-out-roast/rakudo$ make -n t/spec/S22-package-format/local.t rm -f -- perl6 cp -- perl6-m perl6 chmod -- 755 perl6 /usr/bin/perl t/harness5 --fudge --moar --keep-exit-code --verbosity=1 t/spec/S22-package-format/local.t I.e. it's copying perl6-m over perl6, which it shouldn't do.
RT-Send-CC: perl6-compiler [...] perl.org
Download (untitled) / with headers
text/plain 741b
On Sat, 28 Jan 2017 02:10:47 -0800, toolforger@durchholz.org wrote: Show quoted text
> I.e. it's copying perl6-m over perl6,
I assume that's to select which backend to use for testing. `perl6` is just a 1-line wrapper bash script. That make target will also recompile the compiler if you made any changes to it. Very handy during development. Show quoted text
> Testing an installation should not modify it
From `make -n test` I see that it doesn't. Roast contains language compliance tests, not a verification of a installation. You can run them with `t/fudgeandrun` tool if you don't want an automated recompilation of changes that all the core devs need. A make target can be made that just runs the roast tests. What benefits will we attain by having such an option?
To: perl6-compiler [...] perl.org
Subject: Re: [perl #130660] make t/spec/foo/bar.t modifies the current installation
From: Joachim Durchholz <jo [...] durchholz.org>
Date: Sun, 29 Jan 2017 10:55:39 +0100
Download (untitled) / with headers
text/plain 263b
My approach to solving this would be to have make test use perl-m resp. perl-j directly. Adding another make target still leaves "make test" overwriting the perl6 file, which might be surprising if somebody has explicitly set up perl6 to mean (say) perl6-j.
RT-Send-CC: perl6-compiler [...] perl.org
Download (untitled) / with headers
text/plain 245b
On Sun, 29 Jan 2017 01:56:16 -0800, jo@durchholz.org wrote: Show quoted text
> My approach to solving this would be to have make test use perl-m resp. > perl-j directly.
OK. It already does so. As stated above, `make test` doesn't overwrite anything. Closing.
Date: Sun, 29 Jan 2017 17:45:34 +0100
Subject: Re: [perl #130660] make t/spec/foo/bar.t modifies the current installation
From: Joachim Durchholz <jo [...] durchholz.org>
To: perl6-compiler [...] perl.org
Download (untitled) / with headers
text/plain 593b
Am 29.01.2017 um 14:58 schrieb Zoffix Znet via RT: Show quoted text
> On Sun, 29 Jan 2017 01:56:16 -0800, jo@durchholz.org wrote:
>> My approach to solving this would be to have make test use perl-m resp. >> perl-j directly.
> > OK. It already does so.
Then it does not need to overwrite perl6. Show quoted text
> As stated above, `make test` doesn't overwrite anything.
This statement is in direct contradiction to reported observation. Cf. the relevant section in my initial post: ~/try-out-roast/rakudo$ make -n t/spec/S22-package-format/local.t rm -f -- perl6 cp -- perl6-m perl6 chmod -- 755 perl6 Can you explain?
Download (untitled) / with headers
text/plain 130b
On Sun, 29 Jan 2017 08:46:28 -0800, jo@durchholz.org wrote: Show quoted text
> Can you explain?
You're not running `make test` in that command.
RT-Send-CC: perl6-compiler [...] perl.org
Download (untitled) / with headers
text/plain 593b
On Sun, 29 Jan 2017 09:03:34 -0800, cpan@zoffix.com wrote: Show quoted text
> On Sun, 29 Jan 2017 08:46:28 -0800, jo@durchholz.org wrote:
> > Can you explain?
> > You're not running `make test` in that command. > >
A few data points: - none of make spectest, make stresstest, nor make test do the overwrite-perl6 thing - grepping the roast, I see a few places mentioning `./perl6` - removing `./perl6` and running make stresstest doesn't have any issues - `make t/some/file` copies over `perl6`, but seemingly pointlessly, as the test is run with t/harness --moar which uses `perl6-m` and not the `perl6`
Date: Sun, 29 Jan 2017 23:14:19 +0100
To: perl6-compiler [...] perl.org
From: Joachim Durchholz <jo [...] durchholz.org>
Subject: Re: [perl #130660] make t/spec/foo/bar.t modifies the current installation
Download (untitled) / with headers
text/plain 300b
Am 29.01.2017 um 18:03 schrieb Zoffix Znet via RT: Show quoted text
> On Sun, 29 Jan 2017 08:46:28 -0800, jo@durchholz.org wrote:
>> Can you explain?
> > You're not running `make test` in that command.
Oh. You mentioned `make test` in your first answer, so I was just assuming any differences would be irrelevant.
To: perl6-bugs-followup [...] perl.org
From: Toolforger <toolforger [...] durchholz.org>
Subject: Re: [perl #130660] make t/spec/foo/bar.t modifies the current installation
Date: Sun, 29 Jan 2017 23:13:30 +0100
Am 29.01.2017 um 19:28 schrieb Zoffix Znet via RT: Show quoted text
> On Sun, 29 Jan 2017 09:03:34 -0800, cpan@zoffix.com wrote:
>> On Sun, 29 Jan 2017 08:46:28 -0800, jo@durchholz.org wrote:
>>> Can you explain?
>> >> You're not running `make test` in that command.
> > A few data points: > - none of make spectest, make stresstest, nor make test do the
overwrite-perl6 thing Show quoted text
> - grepping the roast, I see a few places mentioning `./perl6` > - removing `./perl6` and running make stresstest doesn't have any issues
Thanks, I find that kind of lateral information useful. (Just for the record: I'd prefer it if roast didn't access ./perl6.) Show quoted text
> - `make t/some/file` copies over `perl6`, but seemingly pointlessly,
as the test is run with t/harness --moar which uses `perl6-m` and not the `perl6` Agreeing with observation and conclusions. Maybe the fix is as simple as removing the rm/cp/chmod commands. I'd try that out myself given my pretty minimal knowledge of perl6 infrastructure, I'd likely miss important workflows so my testing would be nearly pointless.


This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

For issues related to this RT instance (aka "perlbug"), please contact perlbug-admin at perl.org