Skip to content

Commit 2f679f1

Browse files
Compress spindumps on client side before packaging into layout test results zip (mac & ios)
https://bugs.webkit.org/show_bug.cgi?id=176853 Reviewed by Aakash Jain. * BuildSlaveSupport/test-result-archive: (main): (gzip_file): use gzip to compress a file, removing original (compress_spindumps): find and compress spindumps matching a filter (archive_test_results): refactor to snake_case (archiveTestResults): Deleted. git-svn-id: http://svn.webkit.org/repository/webkit/trunk@221985 268f45cc-cd09-0410-ab3c-d52691b4dbfc
1 parent 1cfb9f1 commit 2f679f1

File tree

2 files changed

+31
-3
lines changed

2 files changed

+31
-3
lines changed

Tools/BuildSlaveSupport/test-result-archive

+17-3
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
2424
# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2525

26-
import optparse, os, shutil, subprocess, sys
26+
import gzip, optparse, os, shutil, subprocess, sys
2727

2828
sourceRootDirectory = os.path.abspath(os.path.join(os.path.dirname(__file__), "..", ".."))
2929
archiveFile = os.path.join(sourceRootDirectory, "layout-test-results.zip")
@@ -43,9 +43,22 @@ def main():
4343
parser.error("Action is required")
4444

4545
layoutTestResultsDir = os.path.abspath(os.path.join(sourceRootDirectory, "layout-test-results"))
46-
return archiveTestResults(options.configuration, options.platform, layoutTestResultsDir)
46+
return archive_test_results(options.configuration, options.platform, layoutTestResultsDir)
4747

48-
def archiveTestResults(configuration, platform, layoutTestResultsDir):
48+
def gzip_file(root, name):
49+
with open(os.path.join(root, name), 'rb') as f_in, gzip.open(os.path.join(root, name + '.gz'), 'wb') as f_out:
50+
shutil.copyfileobj(f_in, f_out)
51+
os.remove(os.path.join(root, name))
52+
53+
def compress_spindumps(layoutTestResultsDir):
54+
file_patterns = ('-spindump.txt','-sample.txt')
55+
for root, dirs, files in os.walk(layoutTestResultsDir):
56+
for name in files:
57+
for pattern in file_patterns:
58+
if pattern in name:
59+
gzip_file(root, name)
60+
61+
def archive_test_results(configuration, platform, layoutTestResultsDir):
4962
assert platform in ('mac', 'win', 'gtk', 'wincairo', 'ios', 'wpe')
5063

5164
try:
@@ -64,6 +77,7 @@ def archiveTestResults(configuration, platform, layoutTestResultsDir):
6477
open(os.path.join(layoutTestResultsDir, '.placeholder'), 'w').close()
6578

6679
if platform in ('mac', 'ios'):
80+
compress_spindumps(layoutTestResultsDir)
6781
if subprocess.call(["ditto", "-c", "-k", "--sequesterRsrc", "--zlibCompressionLevel", "2", layoutTestResultsDir, archiveFile]):
6882
return 1
6983
elif platform in ('win', 'gtk', 'wincairo', 'wpe'):

Tools/ChangeLog

+14
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,17 @@
1+
2017-09-13 Lucas Forschler <[email protected]>
2+
3+
Compress spindumps on client side before packaging into layout test results zip (mac & ios)
4+
https://bugs.webkit.org/show_bug.cgi?id=176853
5+
6+
Reviewed by Aakash Jain.
7+
8+
* BuildSlaveSupport/test-result-archive:
9+
(main):
10+
(gzip_file): use gzip to compress a file, removing original
11+
(compress_spindumps): find and compress spindumps matching a filter
12+
(archive_test_results): refactor to snake_case
13+
(archiveTestResults): Deleted.
14+
115
2017-09-13 Alex Christensen <[email protected]>
216

317
Add WKUIDelegatePrivate equivalent of WKPageUIClient's setIsResizable, getWindowFrame, and setWindowFrame

0 commit comments

Comments
 (0)