[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