From f1ddf07a45f0c5543658d71625ead66574395b90 Mon Sep 17 00:00:00 2001 From: Jonas Hermsmeier Date: Mon, 3 Jul 2017 23:35:06 +0200 Subject: [PATCH] test(image-stream): Test more compression methods (#1565) * test(image-stream): Add more zip compression methods * test(image-stream): Add more dmg compression methods * test(image-stream): Add bz2 level 9 test Change-Type: patch --- tests/image-stream/bz2.spec.js | 10 ++++- .../data/bz2/etcher-test-9.img.bz2 | Bin 0 -> 2127 bytes .../image-stream/data/dmg/etcher-test-adc.dmg | Bin 0 -> 11342 bytes .../image-stream/data/dmg/etcher-test-bz2.dmg | Bin 0 -> 9243 bytes .../data/dmg/etcher-test-lzfse.dmg | Bin 0 -> 9055 bytes tests/image-stream/data/zip/zip-bzip2.zip | Bin 0 -> 2254 bytes tests/image-stream/data/zip/zip-deflate.zip | Bin 0 -> 9028 bytes tests/image-stream/data/zip/zip-lzma.zip | Bin 0 -> 2607 bytes tests/image-stream/data/zip/zip-ppmd.zip | Bin 0 -> 3648 bytes tests/image-stream/dmg.spec.js | 35 ++++++++++++++++- tests/image-stream/zip.spec.js | 36 ++++++++++++++++++ 11 files changed, 78 insertions(+), 3 deletions(-) create mode 100644 tests/image-stream/data/bz2/etcher-test-9.img.bz2 create mode 100644 tests/image-stream/data/dmg/etcher-test-adc.dmg create mode 100644 tests/image-stream/data/dmg/etcher-test-bz2.dmg create mode 100644 tests/image-stream/data/dmg/etcher-test-lzfse.dmg create mode 100644 tests/image-stream/data/zip/zip-bzip2.zip create mode 100644 tests/image-stream/data/zip/zip-deflate.zip create mode 100644 tests/image-stream/data/zip/zip-lzma.zip create mode 100644 tests/image-stream/data/zip/zip-ppmd.zip diff --git a/tests/image-stream/bz2.spec.js b/tests/image-stream/bz2.spec.js index 339b1c2c..b79e042d 100644 --- a/tests/image-stream/bz2.spec.js +++ b/tests/image-stream/bz2.spec.js @@ -29,9 +29,15 @@ describe('ImageStream: BZ2', function() { this.timeout(20000); - describe('.getFromFilePath()', function() { + describe('compression method', function() { - describe('given a bz2 image', function() { + describe('bzip2 level 9', function() { + tester.extractFromFilePath( + path.join(BZ2_PATH, 'etcher-test-9.img.bz2'), + path.join(IMAGES_PATH, 'etcher-test.img')); + }); + + describe('bzip2 level 1', function() { tester.extractFromFilePath( path.join(BZ2_PATH, 'etcher-test.img.bz2'), path.join(IMAGES_PATH, 'etcher-test.img')); diff --git a/tests/image-stream/data/bz2/etcher-test-9.img.bz2 b/tests/image-stream/data/bz2/etcher-test-9.img.bz2 new file mode 100644 index 0000000000000000000000000000000000000000..1f13cba066b8a786ef6381751328185fca7fa43e GIT binary patch literal 2127 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 literal 0 HcmV?d00001 diff --git a/tests/image-stream/data/dmg/etcher-test-lzfse.dmg b/tests/image-stream/data/dmg/etcher-test-lzfse.dmg new file mode 100644 index 0000000000000000000000000000000000000000..66370e18de1566a74acaf4a5976f5ac14d767e5c GIT binary patch literal 9055 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 literal 0 HcmV?d00001 diff --git a/tests/image-stream/data/zip/zip-deflate.zip b/tests/image-stream/data/zip/zip-deflate.zip new file mode 100644 index 0000000000000000000000000000000000000000..8014c145738973aa6dbe99361e5b0b9966d4f0c3 GIT binary patch literal 9028 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 bnYVG{m;YyOZ4Ny1j~)hq->;zl?^yUZGKB9* literal 0 HcmV?d00001 diff --git a/tests/image-stream/data/zip/zip-ppmd.zip b/tests/image-stream/data/zip/zip-ppmd.zip new file mode 100644 index 0000000000000000000000000000000000000000..7e606e6ffb6e33eebe8d2c4b32ddd094c11e3a90 GIT binary patch literal 3648 zcmeH~X*3&H8^@EzQdDcCW3MtawZzh@J*6Uck<_%)Wl(FAXk$z4DG|#%gJ@ALwN%GW zD76eKQW>STDrzd0Qd?5X2vwplGTPHGb7tn_`{g~Jd(M6CbI)_nz4v$T^Wl$n0123b z002)wsr$G+a40+@MI5kaXn@pSkHdRld@GYF>-XPI_bm51&+3;fIvT!(bKYYCgL8Q|FR8{ zU>aXK^N2IIWQ)HYT|A+}aAx8)JpM~C6VWl-fta%8R()Z5tIMkIGjysP2>}jAZ{BUA zLIbm+v`cl3stpct8z=M?sWwX&XZu_LxvyCZ5%rZuQkBEW*3O#T`Ei4oS_jJ~%bCkl zB_jxwGi>*YA=$KKyNCtN2P2MzX1&19i5X)PE@@IQp{SBs#R51|Hgf8a z^T%1iI!FuZ#2I%Nzv$bZ+d@2rr)$+OHN)FeE6k5f6Z$_ax(y8m89au3Q-)l4R5d2~ zM0gP#-!-n-gyRRExxAsLYQ@F~_C~3uc9RGhhSDvx?QF%xtn(vTTwWh}Kth8meoLyZ z)ldcVqjxzR|1BJdz>28$e159GnGk@Og-)92k0O>$`r_^-Q+6%!M3p0gz6JvHHNOys zInt1KYzAk4HB7iTB3wKtfNZbjre-qna4LvLjQgExrWN#-mHv$tc)F)(Wzp%4Vq_!N>nav_N721$1_O3Z+Zl$ey7eeF@{`2YX4M# z2lxN#&w0=UAz_%9gx>0F=)%jk3(-~02O0x?da!fq&IgXUDZT*RpMtJQ%t2B(4Jv&_ z3~FUd!$_6gM)D&Mh>-edaz>iNTAxB6V-sv|LkG#FYl?KUJR>BD`8O_ehr~#&I**sp zPFea*ul0{vU8PE$+^t~H;vS8?1)R&vGoj>G5a}aTwa(zj*qTMbn?t^yWX3VR_0#* zRLc=+0SyP}*3#dwDNY8^Q^W`z=EKzDbAkBd6`a(M#a*48iZ_;4NuvQVlndU6BDy|B zsd7FJvl3*C&*j&x7?i6`?u7aygV;881;2#nk9yDMYGT#Pobj?KBN7(;W6o6dS!JiO zF{1!VdgjbTn)u*sxpbOLd!=o42fJ`66B{T^0-egWae<{2WYsX8xjS{R)?dU-=77TY zR&UjWZr7X8eoL$GC~Wf#jYa3UNrV`B6=K~`@qJg9o4eneV@hx<`mUBd3yrIo(Woqg z$2S(2C;ba52G(D-SrNwT^%yo=Nyh!v0YlTd3RU{uOD5Wt;F5}K;+@L=M7XuZaSq}l zf+6#sm@pvV;Jm{{N+F)*%c$Fn-&gS;fuZ8`K3JPbbV}I=ndO#p{!{;cgZ$-pD*kZr zZR(xzQjhkgisvXV_e|WVuPJTPJua?6A0)|&i*2CZNgjDAAh-EoK=CZ&;j4x5F`=}9 zA|~|;IAvafc0JftKQ=R4x_L9*>a+uDxFRgD9{scK?)mJyY4yg+b|iAf1S^ze2dzI;&NGqLFoUZe4#ccM+|_qH{M&2W~N5G@<^Nn6oHJb+i!dVuL6 z_D12GfhW&p^hwCMo?5A3fd{nq*Hhfy>pbBC=1|-V#*PGZ)let)6CHl)6UQ;T9nL>P z+3?O3PEy{qi-D~eyG1MRSHl&!IdsZ@ivYWuDilabfHJI!tJ zC|>wmh3`-N?+E~n)YST4Ta*PQK6#ZwX#eYm_vK^bGQtFd?{cZQ0RvajgX>B0K*{d~ zVg|c$EfS+bv?{O{`@FEU%yy)|TC5=1IQh%^c*8jlrGN>vI^>Uo-(CblV_7zKwOzZ8 z3trr@=y%dya&%=DG5Tix?tW3+>y Q(B~xJUc>Hr<`