Skip Menu |

This queue is for tickets about the Smolder CPAN distribution.

Report information
The Basics
Id: 54419
Status: open
Priority: 0/
Queue: Smolder

People
Owner: Nobody in particular
Requestors: amiribarksdale [...] gmail.com
Cc:
AdminCc:

Bug Information
Severity: Important
Broken in: 1.51
Fixed in: (no value)



Subject: Relative/absolute paths in meta.yml
I think there's a problem with the way Smolder understands paths in archive files. If I run my prove command inside my application's root directory and upload that TAP archive to Smolder, I get pass and fail counts. So this works: prove -Iapp -v --merge --archive my_test_run.tar.gz The meta.yml file in that archive contains relative paths to the TAP output files. The following does not work, although the content of the TAP output files is identical. prove -I/mnt/ebs/home/users/amirib/sandbox/app -v --merge --archive /mnt/ebs/home/users/amirib/sandbox/t/archives/2010-02-06.tar.gz /mnt/ebs/home/users/amirib/sandbox/t This command latter produces a TAP archive with a full directory tree inside. The contents are thus: meta.yml mnt/ (with subdirs going all the way to t/) The meta.yml contains: --- file_attributes: - description: '/mnt/ebs/home/users/amirib/sandbox/t/01_class_sanity.t' end_time: 1265520534.63714 start_time: 1265520534.28689 - description: '/mnt/ebs/home/users/amirib/sandbox/t/02_register_noncoppa.t' end_time: 1265520538.78068 start_time: 1265520534.64297 file_order: - '/mnt/ebs/home/users/amirib/sandbox/t/01_class_sanity.t' - '/mnt/ebs/home/users/amirib/sandbox/t/02_register_noncoppa.t' start_time: 1265520534 stop_time: 1265520538 See the absolute paths? Those files are actually the test files, not the TAP output! If I change the contents of that file to use './mnt...', i.e., to reference the ./mnt directory in the archive file relatively, tar that back up, and upload that to Smolder, I get pass and fail counts. If I delete meta.yml entirely and tar up only the mnt/ directory, that works as well. Amiri
On Mon Feb 08 13:41:37 2010, AMIRI wrote: Show quoted text
> I think there's a problem with the way Smolder understands paths in > archive files.
This actually seems more like a bug in TAP::Harness::Archive (which is what smolder uses to get the results of the test run from the archive file). What version of TAP::Harness::Archive are you using? Show quoted text
> The meta.yml contains: > > --- > file_attributes: > - > description: '/mnt/ebs/home/users/amirib/sandbox/t/01_class_sanity.t' > end_time: 1265520534.63714 > start_time: 1265520534.28689 > - > description: > '/mnt/ebs/home/users/amirib/sandbox/t/02_register_noncoppa.t' > end_time: 1265520538.78068 > start_time: 1265520534.64297 > file_order: > - '/mnt/ebs/home/users/amirib/sandbox/t/01_class_sanity.t' > - '/mnt/ebs/home/users/amirib/sandbox/t/02_register_noncoppa.t' > start_time: 1265520534 > stop_time: 1265520538 > > See the absolute paths?
That's strange. TAP::Harness::Archive is trying to handle absolute paths and change them to relative ones. Line #207 and 208 are trying to handle this. Can you investigate why this isn't working for you? Show quoted text
> Those files are actually the test files, not the > TAP output!
These entries in the meta.yml file are actually the names of the TAP streams (in this case the names of the files that generated the TAP) so that the labels will match what people expect. Show quoted text
> If I change the contents of that file to use './mnt...', > i.e., to reference the ./mnt directory in the archive file relatively, > tar that back up, and upload that to Smolder, I get pass and fail counts.
This is what TAP::Harness::Archive is trying to do, but for some reason it's not happening for you. Show quoted text
> If I delete meta.yml entirely and tar up only the mnt/ directory, that > works as well.
Yes, but then you'll loose other metrics like file execution order, execution time, etc.