App-MtAws

 view release on metacpan or  search on metacpan

t/integration/t_treehash.t  view on Meta::CPAN

# This file is part of "mt-aws-glacier"
#
#    mt-aws-glacier is free software: you can redistribute it and/or modify
#    it under the terms of the GNU General Public License as published by
#    the Free Software Foundation, either version 3 of the License, or
#    (at your option) any later version.
#
#    mt-aws-glacier is distributed in the hope that it will be useful,
#    but WITHOUT ANY WARRANTY; without even the implied warranty of
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#    GNU General Public License for more details.
#
#    You should have received a copy of the GNU General Public License
#    along with this program.  If not, see <http://www.gnu.org/licenses/>.


use strict;
use warnings;
use Test::Simple tests => 1065;
use FindBin;
use lib map { "$FindBin::RealBin/$_" } qw{../lib ../../lib};
use App::MtAws::TreeHash;

local $SIG{__WARN__} = sub {die "Termination after a warning: $_[0]"};

# Those are random pre-calculated tables, not a special test tables
# so this way I only do regression a testings
my $randomstring = 'TDvjTNoOZdYLHGJgmowQQPIANymiZabVUgL4toMOXtAxTVdAb3fHc7djq3CWvg47qp9e706QoGMA2PlhUyHkln9mw2G9Y1QynMS5zejFweL4Ll72P5eHSHXmzSBGZ4Xa';

#my $chunksize = 1048576;
#my $chunksize = 200;

my $check = {
	200 => {
		'TDvjTNoOZdYLHGJgmowQQPIANymiZabVUgL4toMOXtAxTVdAb3fHc7djq3CWvg47qp9e706QoGMA2PlhUyHkln9mw2G9Y1QynMS5zejFweL4Ll72P5eHSHXmzSBGZ4Xa' =>
		{
197 => '8df4bd49b43151c67ffa840eab9ef3b41d2ab6b9b1ff1c814efc06ebfa2bf3d8',
198 => '2c86c2274abfc6ad860a0a01f80a1b3e99783b822872af84289d3f67349a5e9f',
199 => 'f2c98aa633a8fb3a1374957c5b8ea79f8c065202956445dd71c4c4200a4226f8',
200 => '7795414407259db4a9c2c440538ad9bdb34988e89fbc8c61f73702f6c8a87894',
201 => '22b93237207859002de9cbe1244a8d78a10dc41b1ed30795d35aa5d02b54bba0',
202 => 'f3b1eaa1a7fbc7ab884d2694f91330e5be88bd5d127bc2774e5a6dba56dbef99',
203 => '89d0013ae7d167e608b9edb68428f4cb75f7167795b064f591b90f62bd3304a8',
397 => '74da15ae2017c90f90d851698b45250b1d5841e98545447b1c77a6f4c6176198',
398 => '72688a4c7ad23f01a08fded961b10423ef665b0ceab6a9866a766b53f2d4d358',
399 => '1b6b74b3dd32886ef0b2f52ee684e574652d0755ccecfa00b9bf8bd67422d64f',
400 => 'f41eb8760a58073ee6ca52f6eac803db496934ae09ff8d9882ab69c9378508c2',
401 => 'ea5caed8285098f72dc3205c7f87372c43e94f42c3e62f6f4449567bb933a5f7',
402 => '7564ee61fa8ac978e3d72a32e5b5eaefbc2221b77ca3a3d7cbb2f9732aad828b',
403 => 'f70e6a94e658ce4e71f5ed27bb8155e9ec953acae16c3faa6219ada733e7215e',
597 => '5f0eabbee0c8d502a9f67f489c6bfc7545cf7722d551f12a4dfb1bbdbfe8b309',
598 => 'd7a3eea0ee6f28ea9abc0d2607b669e7a3db38becb37de4a9ba5611d4efb667c',
599 => 'c477aececf1a04b16b99635c78602ebca896441cbc0ae9c2da104a0800d9a49b',
600 => '987eadfe3aed389cbf649ac84e7740685908dd9ce8110e4b9665cf8905e0aa6d',
601 => '7ae2057ee95867205b8c1c7c25c5cb4990c964fcac8ec9c4d29783d3af4e9712',
602 => '43c192a32cdbd6b598f846fd54125c29b715008571c200f1e5a7db5f082cda12',
603 => '1ddbefd79fa9d78830bb2ea445cb2c77fe8efe56c4be55cdf86600138fc88e91',
797 => '555a0943173e43dc37b63a1f6453115cc52d06ac6bf4288ffbfea90742f5dbac',
798 => '63b072610d9ff4e24a804c95912136ba5e04985ba9062b30681e7dd70b8e5dd8',
799 => '5b8a57b10b8c70ab00af318cf75f2186417944864124ba8e2117df7be5602f91',
800 => '810e4045c8c92a87c7072a677003c41866665fb31797ca23b8e1563e76ab5e06',
801 => '3156a54b831bcac452f650a40836b68c16b698c8216446a8fbdcc498b021c2a1',
802 => 'bd9277c8d84550ecf835b8ce5faa910f49e269c06cbf030669c1da2bf1ae7d80',
803 => 'e8b3cc1386307fc826cf55d7c48b559bb9b568f3876f843628881a14374f62f2',
997 => 'ec4d8e85cd26332f9a93a4ede73bb0b4b17dadb983baea968f7ee0c5b46d9bf2',
998 => '9b34b7b44f0c748982ecc5ee3d99e3763e3c68cff7ae246a542422badb942f0c',
999 => 'df66ea25a70300d9a6c7299402b1c4c412cd088c7a6128db92fe58525ad7427d',
1000 => 'de19616e2fa06806bc28af712a3649dd9279e36b55aa737fde855475e0de9064',
1001 => '5cb94fa36f29a2575adc4cc7ee3f264531ecf4dbc5980a18edc687e2a72f4514',
1002 => 'b46c72f464f9ed576dd726bcbdd370095c7d3c9705083cc1b4778755caa8fd43',
1003 => '75f9859fbf36769506bf575a0f15c5a79322fed69729c91a9cb633b0a66d8e5a',
1197 => '581cd076dfb2be452f78094d9cc3c1106578bf2f92c135f935a0eae5ef4ca41c',
1198 => '2b1b6d1c4d63c3b4f8b3e7927310729286b24df58e651151a1d1a5f8d9cd04b7',
1199 => '7d20bff6970954708c86a076d0900ee15d1d557a58adf633c010a612dcc33dc7',
1200 => '67585675f7f89ccffef75726fa5c82e2e1d38135bea1daec776b63bc6b7a141f',
1201 => '39e0e60f308c0cfbce9ac821f576d194498774193379a5cfbe4fe5b96d30c7d2',
1202 => 'beb06349a3ebc2ba0d258dcb5bc69bed8228c206fd2f8dea9da9001a786f8533',
1203 => '4e9a6f07399fde248625028ed22c99e23c815840fa1e3e35d47bc6159675db75',
1397 => '3c5e4b6b12db9b5a968eb1c61a64e4e17ab5d57893f6c2bbc863fe9902c27960',
1398 => 'b9af896019891b7a4b7ef8ffe09e43b13cd3d0061977f50d78d1733f84ba4035',
1399 => '6e98972776e6d73f369a9f3dcf291e5f00475fd314bd7716053ec78ad2d359ec',
1400 => '095c549ab9820d9274cc19a4de02b84f429dc40277370d2322b49e1df02b5c22',
1401 => 'b52b57e5ad6f26569573799ddb7d947ba7989f9176708247e9a8dcc6f0538c6f',
1402 => 'afaf5cedd3c2f62c515b934f0e3d3b79d4042b23af1ee55bf43cdd9c5c420514',
1403 => 'e558f20315de9c2cf18a3cea5a7a103683b35686b1258592e321cf509e1ae7ab',
1597 => '3fb46d9025c0f1ead671a861bd379c7eac8413da3c6de417a9f1fe5a1fefbff5',
1598 => 'a1b8534253818d310b68d67e9463b996e874852db12b3005ecaa6cfdc9046927',
1599 => '04a74217f46e6866a1aac384f955ee12853efdb41c7c0c29c5853350ca1e4320',
1600 => '4e327a4c4c83d2434ac4e07031ce2517172fdf32fa79216762a7739f76026dec',
1601 => 'b9b17014b3dac5353c6fec21553af50e9c5ab80138a29eb0719098fa98a153dc',
1602 => '3d5d6ae53c70607d8dc8ec5e5f943350e8597d69ccba1ff63364733f546cfcef',
1603 => '93fecabe17156dba2e171431a9c0de0e5cff9de90ef69ec45695ea1b8ed26c64',
1797 => 'd8767ae1505726367f8a5faa75a78c849c057e5e2ca7e0c8354eaf4e0f8db7f7',
1798 => '06d00c5ff132049a724ed0327aba3778afc83c12d4d42270ded318a73b86f9cf',
1799 => 'eb173240064e7b8e375efce4f503848baa310fd3452cf66768ba49998c722852',
1800 => '0d61aa0bdc3283fc89d77b18ffc909c014d2add3fc67bdafe12ef1947be5aec3',
1801 => '77ccb2e57d56e76b39d59ad5799aa0a7d311c46fb3691772b2fd011bff5f5871',
1802 => 'a4b461674f529d9c1c548030b07d964f0c448f33e33996a284f09acd84f23d71',
1803 => 'f80e80f02b7f6f80127f7a0342d6d593efb147588e5962314b6e87a559275883',
1997 => '8faf3594dc34a13048804acb2a75158d209f630e285fcc0f1c7842bb4a744525',
1998 => '2506bceda7a3ed9eac719f07d701bc2b0191301e837f1b00a64a3066093e4d75',
1999 => 'fb9b1c3a66a48cb417523c4699b81064e9344b8cd2c49a80ee697bb3983ab16d',
2000 => '4300c46812e8777ba0015ffb330b64bbb77fa8988f6928d1ba80c20d1f75a636',
2001 => 'd8f8117d7a0292a4ac1fd4df44f6faf5ec7c5fc3b79f90b8445f227613e31e8f',
2002 => 'f3fe5196eed75079dfce34cbe5a615ab5c55a2d2c31d671955848b971208f12a',
2003 => '243d077c73ab751673882bf13303e7e09e36578a3f1655860bc886aba9f532a1',
2197 => '04ab5ebbec9dc382aecf1ab076e865773a5fc8a6dd0ee461e827f84b7efb52ea',
2198 => 'c8d57265febaf9b5119a65a5ceffd7c4c304d96a665e2ddf9a6f4d80e24f67d2',
2199 => 'e199624198a4d95ca890779831e070244d8efc180cea16fc92c3631bb83e1a81',
2200 => 'f9691c9ecdef9b7f7415f9353dcb7fb27a0a7bcffc460962cc5f01929424b649',
2201 => 'ab161bdc4d69b2c15c0c6d3891791da298f8dedf3c831cb7f7f93ef5755a6a28',
2202 => 'e5d2a5116b4651abc1761b785c24d2b929320bf1d8fa0ccb7e6a822130f264ad',
2203 => '8a649f82c3bb7bf81b030cd2b960eb2f14693d931475a7f8b25fbd6d593d4d25',
2397 => 'd5e9969283130135b46ec9251a6c286028dc31b19bbd85fb137cffc0c95bd909',
2398 => '4853d629a52dc8331df98ce187dd5119f06854769cac4e8f319c8034d9962b6a',
2399 => 'd8d64173960f5fdacb7a140502eea8317bcae3314ccecf913cafbc6e8425a4ef',
2400 => '4ae05bc74a8ff142d5096961d70353df2296d2898d77fcb499499b9c1f9973cb',
2401 => 'ad78b09bd2f663f97764bc3f252a0e261a28b7e2af25c4e7e247c80eb0f62c51',
2402 => '18a8b6a173abaf92fd74ded060a60333c0929e051723910202bb0d0b833fc025',
2403 => '11ba4e42d31d520b196732008a27ebcda3f80ae00f2ad8df407e36153cc72307',
2597 => '3f09d017e7d25ad33f596c1e64f6fe5da21f846374ae011faacf94bbf44dab59',
2598 => '149d66fd073ccdf6558c96a58eb9e9ed7d25bacc0d9d5cf38792a85576c5c74a',
2599 => 'ac4cb6fb830c7649f0df3eeb48334aed0f034b46d9e9b73c04ec9f1ac140c2f5',
2600 => '88482a2553e6c07dcacfcf42d6b0c5fe6c566c2e414a70c705cb90dd47497c65',
2601 => 'dcefaeae57109e4444334a9c6c4cd3f9c0c24ab11ae2e6508a80d23a6fa2a711',
2602 => '4cf917882f8d9c44db7415cd51e043a1723499549e623e1ecdc1b32a9a631223',
2603 => '0eeae3e65711bdbab7a621d5efc147f155faabee95e777cd8dd91eb2c1c0aa35',
2797 => '624d856053339be1c189bcc4569e28ddd2320353ed742e80933daf0279d67eef',
2798 => '829693a9f3c28476e904acb9740f7ff9d282480ca039f812d8dc8cb1b409d170',
2799 => '177e773fccc43db905310b4f9a62f82f8b72ebdfac1b7a9fce39ceaf3ad4a732',
2800 => '5d30fc3607654fbfa46766b3709173dc71b57cf2c7e8a676d4c3fec4550e7a24',
2801 => '593988a1590402b3a9b49a64728fbc6ea0c9fa7dfe952cadb78ed0c67d1cae44',
2802 => 'dca7bce81f0d25ab77fa6ea64a34babd27378991f7ddf1c1aed28d36614e932d',
2803 => '5ed4ad83166957cf4e825d18ebd0b4879c83948ff24ded471e8bf8fd7c36c7c6',
2997 => '657b339d7603f3c4bbd41d5c9a932acd211214c3954888180591a35003a7d85f',
2998 => '62f07816843057897063bc420bd8e779dc33cf2a91d19e89a836adc9bbd1367c',
2999 => '10e44b2f63bb8883ee0618facd63e25efe238dfe5fca60ba63cc1d42f260e57e',
3000 => 'e9f1245ab8562e9b614a61f2936901b40b26c81c2e96628da7975149e88d377b',
3001 => 'c1c82e5902293193338c391382797e1ad662a6024fa5bb4644aae97112a53240',
3002 => '254b6c39dd343f9f826fce34db2dff2dd1c1e1ceddbd002ba2496c798466bce4',
3003 => '7fe01177005b74ddc274722226e38e1bf5175f3702d165994ba3b3a789fe4658',
3197 => 'cc51451f1dfc0e4df971baa6e2629171444e844c7192274de3724ba38f75fb90',
3198 => '1ddb6bcda585b9c9cbafdeb9ce9e8cb3a3ce8356c0f2f5c634aba839ec4c9b9a',
3199 => 'ec7dd2aceba7e024d747752c5503e6cc91bc19f895edb02d553ec2a885ff026b',
3200 => 'f22e3050f4eeef4290caaa118684ba9ba44f01aa5dd0fb98247dc1ab96725188',
3201 => 'ed8559d9ff42f6b97e9f0641e346c1e9378956cfd172fea82b15ff650c969c98',
3202 => '0bcf1f6b92b86701ef1ca7f1d067a6527cf1f91427d357f9060c9f5b064e8b7f',
3203 => '1042c79951a3dd7f38c33d639dfacff0142597750bb500c4ec35620032d0445f',
3397 => 'a480dd041afd3615793fe67d34e4fc7ca34fe74e2d62dce15f0a463dcddfaa8b',
3398 => '0e5d1a7c18277e729412b79e840f8f4aea5870202775c388ba99c4ea5130c93a',
3399 => '38a8eedb8de4e4e4ef723a9235de455459ac41f225d395048c95c84c5510cec0',
3400 => 'b4a72d7865a44213ea3986c7050574861fc5923f484d36c0d0976fd19f15c5a4',
3401 => '4f4643c0db4d86e1f71c35455f17b0dca0949780ac4a3cb53b7019f1b0b9a474',
3402 => '18080f640d085adf89badb4a99b5c662b27d8433e571e356be4cbc096343876c',
3403 => '876c3072e80bd4984224762237c0d53cc7e888244b2eb31a207285f814125ec6',
3597 => 'e58454f85152edd7c732a382686db2235a24c827b18e61c27a0fc58023a5d948',
3598 => 'c1728ea2e441a2aa1efe1aa8c14e98f081830924aa75c5f219d09842004941a8',
3599 => '84fe77522ad451e5b74072dcd7adaa6de89fa4e2b3ef4b32def26a33c3d2f34b',
3600 => 'e52cba460fe6ef39d9d8dd062b695f7ecd680f0191ba95a085467754b54f72df',
3601 => 'cb096895ae535a121e3cc06d3004603dea5df5b8dd11693ad114469667540ce0',
3602 => '087bffbf27472134c732ed20b119467fb66bfea773145d1f5dfd2922bfb08052',
3603 => 'eacbf02eff7a0b19077db5e4355e1a3195912f404e121e98cd7de6b0d3416fce',
3797 => 'f7153a3c9f0eb16a6b3c9686a419a2ecc53274f6521f9859c4f604022899ae13',
3798 => '687dfe53261200ac7f1a1d3a7dec43f216c8a5f498fd3e14b76ec439ae836876',
3799 => '6a5fb86c0e9b35a71ae918d22a704bd3b47aa6874cc3d196eb6fe7a96d434d98',
3800 => 'd2344b6cf23c4573deec6e68e9dd08d11aaa2f6a63c9d94bfe62636f04df858a',
3801 => '68f247e2136b2ed8a6aa1499267faad8eb750ab4c071f11b93448e0903d468e7',
3802 => '3d15265c8ce15e71b795563c23e7ab4b52ef8fb908b8074a87c411ad42f2ac2f',
3803 => 'f6963d716ba90217c0d75541e4a80a3d55d3261e82137341d5b6e0a24ee519d8',
3997 => 'ef4c047f01caf25b42515a743be41c3281e8fe146feb2d7d94db9c054f55583a',
3998 => 'e367187f72f7371e90c2eb0119829ab43feac209003696a088091d1d5cc0e5ea',
3999 => 'f8e3781db1cd0711cfdf1ccb365f986342ad44e2c112c3d842b63c962d5d661f',
4000 => '96c0a862f1db0ba771b4dd87955aee731c6cfeee70a115f424a2725a17826fb5',
4001 => 'b18d0d075a276831e1166a3b87cd15e576c3ab6183036fa9d085d2a77df64468',
4002 => '9c6906bfe0b23d890d6a41779bd62db6939572bd3b3004503f29eece0221030a',
4003 => '5881ad70090129f049a53a0b1aa5cd8132d440f0281a1ab8bcb171d9c9365d2c',
4197 => '464e47f8663007a69fa3321108fa89f70ff83f904cb5c6ca3d11bf2148f096db',
4198 => '8d15393c1a641ad1cab3855ed8c67e2c8d6b2bf83bf091f84a9ff770d3223281',
4199 => '8d2f2fd547f4bda004db04df1f8115351ff33241553bb11f68a71ecdce9bf926',
4200 => '6dff3b962746794b84b94cc5bdd2f577add79c5362eff19f21b90a2f81d79226',
4201 => 'aaabde3e8b13460cb2593b867cfc88d6bbc5ffe41e942c126a18dc52e1c84514',
4202 => 'ea0d2f314b423b289eec1efb5f92d6862d5d31c08e2e888a897931bff1ed66de',
4203 => '9fa363ce23de286e9f2b1e47421a8c70d3a27904f75ac20da7bc9a1c5590e0e4',
4397 => '49d2dff47772b65690c75552fd8d98746ba27d8c2c1e88e6cb06050ff9563d86',
4398 => '81d18a721853871ffbc438ad5610c9c5ceee595f3c3eb8ad67afb51116e3d54a',
4399 => 'd2d2c6640d67131d01e397b5b7729c932eb1d5534e9b45dd7ad6bcdc3427c9b3',
4400 => 'a14433f2191ac12ab52897ca3ee3a2a65c2599a46a1175ec510a0ca4e6412c09',
4401 => 'a4b8fcc06dffa061f8d55b9e4a8a42b30ca2d3a2d1c24ed4f1008bbc272a3588',
4402 => 'd1d1a2a6159a89163d22ea02608aec2680761e7a19b500e5a1889637bda0207f',
4403 => 'd88e94b335391b6580024dc6b817125755553f4d21717298c92d1e0becf4478e',
4597 => 'c0c1e1ed58938debfe69ecaefc8a0e9530f1a954901ce97d0f23fc8dea61035a',
4598 => 'd2d7b494329b7a81f743fc5ece7dc31a33f5ecf9dfc954c78c952dd815aac858',
4599 => '9d6af2f3560629ffd926c055d6addd8ce966e635d5ae702d6853506a26091801',
4600 => '2bfce615133389a728ce34ff80c69e662bbf8464995529ea847cbd02af186692',
4601 => '4f084623ee5204e56d0809daa486de92863554cf7d1089c65573bf4c469aee58',
4602 => '3151d3d8333d0dee1575c34ec8cd7e4f7743f335b1937ff0ce16d5daa0597bfe',
4603 => '7ba42415c4c050488f96275acd78d93d64e9a83bff694507d9440eb3b22b7b94',
4797 => '12d0f5241139640d83de13daa31e41fc5ef55cde05fd0db0c266a3e1ebc3e6e1',
4798 => '212192a08b9c74c94ea112d72a862989ffbee2800d295e0b1350b5a8e29b092d',
4799 => 'af6d8a26812fcadff344766ae8cf3e5d3aa52263bddc3a79163eeae323f037cb',
4800 => 'c143be114b891e50cf65b63843275e8c1896279f317ec7a1b7af15561aa70554',
4801 => 'a45290a7090e5114aeb9d0b04c271bffd238f634508b1c9ddf7a27d00dc97c63',
4802 => '61c5862b70cff2ebb9bc43f13a6e9c589b2c3abaa8bb0c680f6d963c801eeeca',
4803 => 'f9e0f9052734033e2d4bbb67b37f8d8676ad048c10d3d8a617910018c8d15045',
4997 => 'cc8398a92f787c223d5b5097882ba813d8228c271e411f9802b5c8f2fe7e84c2',
4998 => 'c89331cd2edd3a8c1dfae5645a68860c59a515353725df3b90785780f65abeaf',
4999 => 'cd24edb1758741145371c14c35d71de9d5ee721b85d0f45d3d969707bad8bcf5',
5000 => 'c8c3e2fdee3e47e3ccd25f7839374263add86d36f2ee9422542256166079fffa',
5001 => 'd68c9ca98b0b521845b837c30e387a3f19d88f2599a41f6b24ea2944b1a7bbc3',
5002 => 'b2bbcd3d68edf832d2e640046883d081140916fb99e9b6e619f88ee23a1ead9c',
5003 => '961315de9ae21ec032d2a5cd13922462eceac17e44f968af32cfc4b84d5ca972',
5197 => '5645271ecdc0a9bb8583b6c950fdaeddbe1a03c4a6a808beb65ab5218f3996e0',
5198 => 'af861c02791322b63ef70f495a392c807c11efc79e4cdb3354e1233a03483943',
5199 => 'd0c7b368412f9b4e42a60c22de8154944d7d1691598ba9c81c79e53e8e860726',
5200 => '47752700cb6e4b44e139de2ad77ab7dfe0294d19b3320eab37831fc1a3651316',
5201 => 'dafbae3fdb392535ad14d89de00cca3535eeeb5689c4b7538ffa4618e70a10b3',
5202 => 'f63bd8aff16e25618dc554bd5e5bb2135a85bd964b32a8c091bbca0bfcbeba46',
5203 => '537e6a9c0817263d89427016c2174054cb0fcd4be3f7628848e7f5a2782d90eb',
5397 => '8aa54c15767cd635f2d26cddcc61423b5466895c2d4cb8dfad131f64069d376c',
5398 => 'aa5d6300016bd1cf0356dc78130ced590c287f6940da5a1edd027bbf545b738a',
5399 => '029af432c30a5e3517b855df81467ecfd2b656e721f8aaf7f58f45d4ddab58ca',
5400 => '87ec1a0242bd9a9426bc5f9a3e75cc22985e8e9fef61bdbde1351d225091a663',

t/integration/t_treehash.t  view on Meta::CPAN

22020093 => 'c8c5f8809e5c55de6d2e90e80432392e92b0ea9bbad6af1d792b631554f4bde8',
22020094 => 'e69e63a85b6d38537badc560bb0739eb7fe461a03e042f14c271de07f7032e26',
22020095 => '1dc192a58ac56fb8f2f2249feaa2189758b1c1b9064224f2da0031a332149c10',
22020096 => '22b496d32ecaf845bd23619b935b718ae7853042dac64cc50bf7b14c7a1dffd2',
22020097 => '5f3a2b8be70e4de3cbb68434d8e584de0471d3e26ffc287f3e16b600d914d829',
22020098 => '5ebf4c302034fa876f9a47084b6a3636726c184834442a7a5785d68252bca704',
22020099 => '842f3006a7be3af9c20f49a176d0dfbf6a023e1d144ef1584f84d1715ee4233a',
23068669 => '8c3ef8943ea57f180c1c2004350569187594866042f3cd916eef22566708102e',
23068670 => 'c00bc0599dd6865fd90b29f03bda92e78bc28a31a4ed02382967345bc0aa8005',
23068671 => 'a5bb92142f4fd48d9abf63d5366a2402b8fc0d3f40714ffd920f65f273dc848f',
23068672 => 'b0f9decd9eb24f350d7ef49bca2ab50ea6b84eba560b3cb129e765968f87ac00',
23068673 => 'c8c6dbdde4b20288287a9e3ec951b73c966023e8ccc54515c1afcee5ea04335a',
23068674 => '41c079b06997e79141942491663dc6b83e44c5cc32ee877e25a41753517ee92c',
23068675 => '792bbc516f7448608da98af11d7a549398c088406087f68a64f144a8c1efa682',
24117245 => 'b95a197d4d788479825fc55f35a5613d40f4447c5cc5a3680bc940cade876c3e',
24117246 => 'edae7aef51295f41e3d6e9014a5ecd536f9a5f1f3d1c057a1149f5443f49c299',
24117247 => '2319d46ecb934253511650ee6e17d4d437799e85f87e0d7ceb5acc9a9e5b9ddf',
24117248 => '2ea14761debea1f2cb3d34e25fa9beae3c4d0d9c902f931a1cc0958343124450',
24117249 => '616d53eea67431bde581e085b11b8fbd394cd7b82c7467676bd7b2814d5c4bee',
24117250 => '88b510b4cb4cf806bd66458ac14f6850588955eaee2bfa8f46c5a784ecab693c',
24117251 => 'b600cc1a6edb66d5a268c0e99e428e198324bc83a5fbd6c757aab9b266557cb3',
25165821 => '97ff659d8f7fe278c7e6c0c12d36082a84ceedff43dfbe2a18094064ecd49cd2',
25165822 => '77fc3efc5d69f3874375f9d297c824b23510d5fb407f06e51ad230f77872fef6',
25165823 => '86778551f7f219325afcf20e568d7f305be08584bb68cf68ee8b556e0caf4b87',
25165824 => '57113c20beb68687613d20d2af05eb916978f585b536b92f895f67076bbc5a9d',
25165825 => '7958d827240d8ac4eebce066d89c6e37a7bae11e9cdb24fdf3a399754508dd88',
25165826 => 'ad8875ac4c4a54f971ffb49401186b8d00603ce0e4f8ff9d3afc94eb9dba3b69',
25165827 => '1f3ae5e0f7ecd3d72239db5041198f50aa2d045f051e90296f47da2e1562a289',
26214397 => '3485ec60e10f82b9f1032b036106d60e8fb7a6bc29790abf0bb626e07885e2ae',
26214398 => '73033890e2fff9367a0698c0923c9909f0324e8f4769783abe7053067f8dc56d',
26214399 => '9767e65535db42f948be9f5e7bd91516dcd85c97d562de2d63b5284ee583019e',
26214400 => '33e3c5742db75c1ec8cfbc43b8c9616002524ad323454e69de9a48413cac1600',
26214401 => '7b0aeea967dd471258fc3b38127567226edc770b790bdbb87800d5080820ca6c',
26214402 => '91e13f6e2eaef4f58d9b4bfdecbc92df9c260097542bfbec7cd5c58f241bef4e',
26214403 => 'df144ef77195788a9ab4f657d352499fc875c4b9b9f99c5bbec0bf6a81c25efd',
27262973 => '9dcfbd1295abf78903bb8a6cba73615ad884a277904684a05e6d0e6c4749f529',
27262974 => '6c65adee7914328e957cab6e6583fd9568e5a37c732e95ad4a99d4c928991dac',
27262975 => 'cb169a67054740016a698fec05c36f2022ade2f03492eaebe3d1accac603da2d',
27262976 => '7a81eb70bbb3e048019e55d01bde15e24b90b920ac806a3f033be71d01b4f012',
27262977 => 'f084ceeb627fdf8199e0a89f033cdeeb15f7a79143946891495419d4c384e502',
27262978 => '4d44ad62bd033c34a87208313d67e4f4f2a85ff85b977d910a6458e98cd2e02e',
27262979 => '125f14e69dabfc0c929db511da0cf60ce0719bde7c5c59e3acef51df71d3acdf',
28311549 => '20c0fac028a6a5784d8b524fc217608c5f553189a57b5d2e3183f00bc236a836',
28311550 => 'fa2fbf483372a330f79a6907b8d31d67e0942bb63a378d31d022d32d25950adf',
28311551 => 'fcc5dbcdd56afa81ee563fd8b1f1a0ba669b704c23e0b1ff2f900e84721d1934',
28311552 => 'd6b139b01a1b062032499af596602476089ced25b58be72ba722cbcd3c15b9e2',
28311553 => '1945ab35c4d1a16de395de3669d8db5a7232e3fa8e4685274d632857b07eaa37',
28311554 => '5d863d1433049687fd588a1f755959ce30ed3cf817b9b034aca6774d4695a3bf',
28311555 => '12de150d5321fd51b6363d04b36e49d992c82d4726ffa77ff07841a03a1530e8',
29360125 => '6891573c15a4de182c8e8a66a632e5908392ea80a4c3192d44838d73b67b547b',
29360126 => 'e71eccccbea9e1bbdfbcfd6b97252442cbea3dab8dc49ce9e82474a1e52a1252',
29360127 => '8ed666fb2b40877c14c6cb9508de8ad1acd978c3ee24d98d4f3a006e002a9b7a',
29360128 => 'f3dd1a912582cfc21faa45075f17400860b754e6274cf9802e989d074a188484',
29360129 => 'c4176b52fa465398a810097d55932e32d9ef72f79a53b1b7bbda0cdf30ad3361',
29360130 => '7b6ab5364d121a4d52c8124e6fa46ad9a492f5748e530570fb5ad49877ec7990',
29360131 => 'e3b4605c3f2b9e81adfeead96770f1f539d12281d2705d95a700de38d930babb',
30408701 => '5abea2f78de79df030347c19e8bbf3297918da88166ff7b2a193866c7a74f6d6',
30408702 => '01806b23cfc07341f6e30ad18af1c40fde1be9a4dc950b2651d37714ee4ad7b3',
30408703 => '3d6559236c048f1729bf0237990b8210adb5e11752a895bd2e220d8e446914ed',
30408704 => '6ed89a58e7e341795f2fb85b6b9bd4a92121845a1adb27f941621070eb63160d',
30408705 => '1d51a3858906d64b6a29a965d41502404f19d4e7dbb25cecd6096e1a6adb37ea',
30408706 => 'be7450a5594a0679f4a766972d6f5e1df09052693f8bb30a2d9d170dcca10aa2',
30408707 => '6cb9f5e45d453cf8a6c93ca26cac5ac4b537e8c33b4683b5f90ff595607bb8a6',
31457277 => '674515a0850b560e7117f17e8924ba7eb3b65c7442269400ca2517a42d7c35a7',
31457278 => 'f71908411972d90545d887a201301290a04bafbab67173b15856f798ebe34eae',
31457279 => 'bf0d30d7a40fc5b4f23595c529d65ef7fcb83928ae2a94853925712ad0b9b799',
31457280 => '04d431e889dba3b36177ac00925ae93baefb745503c1041e2e6b39eda6152492',
31457281 => 'b6211348982a0f0a02bd292f3f72d27610f68df7aaa7e23ad53be6aca4065fea',
31457282 => '442ee9ec8fdb0cfa36e5ce94e157b23a9b4c87cc1338918cada3232cb170ad5b',
31457283 => 'edec0dbe337efb2c15aa6482935a85e60a4ff6ac38a98e53f5a0a38d3d776790',
32505853 => 'b1248401ff32782e9aea1aa88ede7577c7f07bbb03b65cb785b8cf61a6615838',
32505854 => 'af06218b750c2a495a0e3a9cc523a2eb744f33df8062994b5e9f968dad9cc4dd',
32505855 => 'd4143aa48e0c3e0b0117379add01c34976c3087f4f8c528f116ab6d405eab65d',
32505856 => '26ecf47ea021036258cad5bc2997073996cf20daddba13170ae28daf09350d9d',
32505857 => '2d548018dc16c40f9ad3edcf08dd8657a4ea7eea8c12201114a6f6ddd762afcc',
32505858 => '58b851ef5f150934b04fd941eb7aab57e768e6bef1cbcd6616ef3fdd36f81369',
32505859 => 'c844f2f081a2b808b3bd80e02e17500277e04ec15c79a33c3857f2710c45593a',
	}
	}
};

sub get_pseudo_random_array
{
	my ($size) = @_;
	ok($size >= length($randomstring));
	my $n = int($size /length($randomstring)  );
	my $s = $randomstring x $n;
	my $missedchars = $size - length($s);
	if ($missedchars) {
		$s .= substr($randomstring, 0, $missedchars);
	}
	ok($size == length($s));
	return \$s;
}

for my $chunksize (qw/200/) {
for my $i (1..31) {
	for my $j (qw/-3 -2 -1 0 1 2 3/) {
		my $size = $i*$chunksize+$j;
		my $dataref = get_pseudo_random_array($size);
		my $th = App::MtAws::TreeHash->new(unit => $chunksize);
		$th->eat_data($dataref);
		$th->calc_tree();
		my $hash = $th->get_final_hash();
		ok( $hash eq $check->{$chunksize}->{$randomstring}->{$size} );
	}
}
}

for my $chunksize (qw/200/) {
	for my $i ((1..33),  qw/255 256 257 4095 4096 4097/) {
		for my $j (qw/-1 0 1/) {
			my $size = $i*$chunksize+$j;
			my $dataref = get_pseudo_random_array($size);
			
			my $th = App::MtAws::TreeHash->new(unit => $chunksize);
			$th->eat_data($dataref);
			$th->calc_tree();
			my $hash = $th->get_final_hash();

			my $threc = App::MtAws::TreeHash->new(unit => $chunksize);



( run in 2.219 seconds using v1.01-cache-2.11-cpan-0bb4e1dffa6 )