[svn:parrot] r40084 - in branches/tt761_keys_revamp/t/pmc: . testlib
bacek at svn.parrot.org
bacek at svn.parrot.org
Tue Jul 14 15:03:30 UTC 2009
Author: bacek
Date: Tue Jul 14 15:03:29 2009
New Revision: 40084
URL: https://trac.parrot.org/parrot/changeset/40084
Log:
[t] Add _find_segment_by_prefix helper function and use it in t/packfilerawsegment.t to avoid relying on Hash keys order
Modified:
branches/tt761_keys_revamp/t/pmc/packfilerawsegment.t
branches/tt761_keys_revamp/t/pmc/testlib/packfile_common.pir
Modified: branches/tt761_keys_revamp/t/pmc/packfilerawsegment.t
==============================================================================
--- branches/tt761_keys_revamp/t/pmc/packfilerawsegment.t Tue Jul 14 14:47:08 2009 (r40083)
+++ branches/tt761_keys_revamp/t/pmc/packfilerawsegment.t Tue Jul 14 15:03:29 2009 (r40084)
@@ -34,9 +34,7 @@
.local pmc pf, pfdir, pfseg
pf = _pbc()
pfdir = pf.'get_directory'()
- $P0 = iter pfdir
- $S0 = shift $P0
- pfseg = pfdir[$S0]
+ pfseg = '_find_segment_by_prefix'(pf, 'BYTECODE')
$I0 = elements pfseg
ok($I0, 'PackfileRawSegment contains some data')
.end
@@ -46,9 +44,7 @@
.local pmc pf, pfdir, pfseg
pf = _pbc()
pfdir = pf.'get_directory'()
- $P0 = iter pfdir
- $S0 = shift $P0
- pfseg = pfdir[$S0]
+ pfseg = '_find_segment_by_prefix'(pf, 'BYTECODE')
$I0 = 0
$I1 = pfseg[0]
Modified: branches/tt761_keys_revamp/t/pmc/testlib/packfile_common.pir
==============================================================================
--- branches/tt761_keys_revamp/t/pmc/testlib/packfile_common.pir Tue Jul 14 14:47:08 2009 (r40083)
+++ branches/tt761_keys_revamp/t/pmc/testlib/packfile_common.pir Tue Jul 14 15:03:29 2009 (r40084)
@@ -45,6 +45,24 @@
.return ()
.end
+.sub '_find_segment_by_prefix'
+ .param pmc pf
+ .param string prefix
+ .local pmc pfdir, it
+
+ pfdir = pf.'get_directory'()
+ it = iter pfdir
+ loop:
+ unless it goto done
+ $S0 = shift it
+ $I0 = index $S0, prefix
+ if $I0 != 0 goto loop
+ $P0 = pfdir[$S0]
+ .return ($P0)
+ done:
+ .return ()
+.end
+
.sub '_get_fixup_table'
.param pmc pf
More information about the parrot-commits
mailing list