| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
| |
Use a variable (QUILT_PC) instead of hard-coding ".pc" as the name of
the directory where quilt stores the state of the working tree
throughout the test suite. We still set that variable to ".pc" to
make it easier to investigate failed test cases, but at least this
allows us to promptly test that QUILT_PC can actually be set to any
other value and quilt still works.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
|
|
|
|
|
|
|
|
|
|
| |
There is no point in defining P and _P in the Makefile to allow for
QUILT_PATCHES_PREFIX to be set or unset if we do not use these
variables consistently in the test suite. Replace hardcoded
"patches/" with %{P} or %{_P} throughout the test suite wherever
relevant so that unsetting QUILT_PATCHES_PREFIX in test.quiltrc
actually works.
Signed-off-by: Jean Delvare <jdelvare@suse.de>
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Let the test suite runner script create a separate working
directory for each test. This makes it possible to run several
tests in parallel, speeding up testing on SMP systems. It also
ensures that a broken test case can no longer cause another test
case to fail.
At this point, it is possible to run the test suite in parallel,
the final result (success or failure) will be correct, however
the output is hardly readable because the progress of all tests
are interlaced. This will be improved later.
As a nice side effect, this means we can drop the setup and
clean-up steps that were present in all test cases.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
I think the reason is that apply_patch_temporarily() uses backup-files
to create the temporary files, and by default backup-files uses hard
links. For files which are modified by the patch, this isn't a problem
because patch will unlink the file before modifying it. But for files
which are not modified by the patch, the hard link is preserved.
Then quilt revert also makes a hard link to restore the file, on the
assumption that the temporary copy will be deleted right away. At
this point, files not modified by the patch will have a link count
of 3 (.pc/<patch>/<file>, d.*/<file> and <file>). When the temporary
file is deleted, the link count is still 2 (.pc/<patch>/<file> and
<file>).
A simple way to fix this is to always use cp instead of ln when
restoring the files. Performance is not as good, but at least it is
always correct. We could optimize the code to use ln when possible
and cp for the other cases, but honestly I don't think it is worth
the extra complexity. The speed of "quilt revert" is hardly
critical, given how infrequently this command is used.
|
|
possible: previously, a ``quilt add'' usually linked the file
to he backup and then copied the backup over the file to ensure
a link count of one. Recognize this case, and create a copy in
the first place instead.
|