When new compression programs appear, I want to recompress my old archives with the new tool. So I need a tool to do that conveniently.

SCENARIO files are successfully recompressed

GIVEN an uncompressed file
AND it is compressed with gzip
AND it is compressed with bzip2
AND it is compressed with xz

WHEN recompressing gzip to xz
AND recompressing gzip to bzip2
AND recompressing gzip to gzip

AND recompressing bzip2 to xz
AND recompressing bzip2 to gzip
AND recompressing bzip2 to bzip2

AND recompressing xz to gzip
AND recompressing xz to bzip2
AND recompressing xz to xz

THEN all recompressed files are correct

SCENARIO recompression is aborted
GIVEN an uncompressed file
WHEN its recompression is aborted with SIGINT
THEN the original file exists
AND the output file does not exist