<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>9794</bug_id>
          
          <creation_ts>2006-07-08 20:12:12 -0700</creation_ts>
          <short_desc>Teach run-webkit-tests how to ignore tests with performance improvements</short_desc>
          <delta_ts>2006-07-09 03:41:03 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>Tools / Tests</component>
          <version>420+</version>
          <rep_platform>Mac</rep_platform>
          <op_sys>OS X 10.4</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="David Kilzer (:ddkilzer)">ddkilzer</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>darin</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>48865</commentid>
    <comment_count>0</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-08 20:12:12 -0700</bug_when>
    <thetext>There are times when specific tests are broken when you want to run the whole test suite, but don&apos;t want to have to specify every single subdirectory of LayoutTests (or worse, LayoutTests/fast) to run all but one test.  It would be nice to have an &quot;--ignore-tests&quot; command-line argument that allowed you ignore just one test (or one directory or one subdirectory) while running all of the rest of the tests.

As I was creating this patch, I noticed that the code that generated the list of tests to run (in @tests) was not ignoring .svn directories.  Ignoring these directories cut the time to generate the list in 1/2.  Switching from using the find(1) command to the File::Find module cut the time to generate the list by 1/2 or 1/3 again, and allowed me to implement the --ignore-tests feature much easier.

Overall, the time required to generate the full list of tests (running run-webkit-tests with no arguments) was cut from 45s-50s to about 10s.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48867</commentid>
    <comment_count>1</comment_count>
      <attachid>9280</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-08 20:27:28 -0700</bug_when>
    <thetext>Created attachment 9280
Patch v1

Changes in Patch v1:

- Added --ignore-tests command-line switch.  Takes a comma-separated list of tests and test directories to ignore (exclude) when running run-webkit-tests.  Added processIgnoreTests() subroutine to process the arguments.
- Added --help command-line switch with usage statement.
- Moved call to setConfiguration() before GetOptions() so that --debug/--release arguments are removed from @ARGV before calling GetOptions().  Keep result from call for use with build-dumprendertree later.
- Check result of GetOptions() and exit run-webkit-tests if invalid arguments are used.
- Made --singly imply --verbose so all of the &quot;$verbose || $singly&quot; checks could be reduced to &quot;$verbose&quot;.
- Switched from using the find(1) command via subshell to using the File::Find Perl module.  Directory filtering and file filtering are now expressed as anonymous subroutines rather than obscure find(1) command-line arguments.  It&apos;s faster, too!
- Miscellaneous minor clean up.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48888</commentid>
    <comment_count>2</comment_count>
      <attachid>9280</attachid>
    <who name="Timothy Hatcher">timothy</who>
    <bug_when>2006-07-09 00:44:08 -0700</bug_when>
    <thetext>Comment on attachment 9280
Patch v1

Nice cleanup.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>48892</commentid>
    <comment_count>3</comment_count>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2006-07-09 03:41:03 -0700</bug_when>
    <thetext>Committed revision 15248.

</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>9280</attachid>
            <date>2006-07-08 20:27:28 -0700</date>
            <delta_ts>2006-07-09 00:44:08 -0700</delta_ts>
            <desc>Patch v1</desc>
            <filename>bug-9794-v1.diff</filename>
            <type>text/plain</type>
            <size>10403</size>
            <attacher name="David Kilzer (:ddkilzer)">ddkilzer</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDE1MjM5KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMDYtMDctMDggIERhdmlkIEtpbHplciAgPGRk
a2lsemVyQGtpbHplci5uZXQ+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgLSBodHRwOi8vYnVnemlsbGEub3BlbmRhcndpbi5vcmcvc2hvd19idWcuY2dp
P2lkPTk3OTQKKyAgICAgICAgICBUZWFjaCBydW4td2Via2l0LXRlc3RzIGhvdyB0byBpZ25vcmUg
dGVzdHMgd2l0aCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudHMKKworICAgICAgICAqIFNjcmlwdHMv
cnVuLXdlYmtpdC10ZXN0czogU3BlZWQgdXAgdGVzdCBsaXN0IGdlbmVyYXRpb24sIGltcGxlbWVu
dCAtLWlnbm9yZS10ZXN0cworICAgICAgICBmZWF0dXJlLCBhbmQgbWlub3IgY2xlYW4gdXAuCisK
IDIwMDYtMDctMDggIERhcmluIEFkbGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEdlb2ZmICh3ZWxsLCBoYWxmIG9mIGl0IGF0IGxlYXN0KS4KSW5kZXg6IFdlYktp
dFRvb2xzL1NjcmlwdHMvcnVuLXdlYmtpdC10ZXN0cwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29s
cy9TY3JpcHRzL3J1bi13ZWJraXQtdGVzdHMJKHJldmlzaW9uIDE1MjM5KQorKysgV2ViS2l0VG9v
bHMvU2NyaXB0cy9ydW4td2Via2l0LXRlc3RzCSh3b3JraW5nIGNvcHkpCkBAIC00OCw2ICs0OCw3
IEBAIHVzZSB3YXJuaW5nczsKIHVzZSBDd2Q7CiB1c2UgRmlsZTo6QmFzZW5hbWU7CiB1c2UgRmls
ZTo6Q29weTsKK3VzZSBGaWxlOjpGaW5kOwogdXNlIEZpbGU6OlBhdGg7CiB1c2UgRmlsZTo6U3Bl
YzsKIHVzZSBGaWxlOjpTcGVjOjpGdW5jdGlvbnM7CkBAIC02Nyw2ICs2OCw3IEBAIHN1YiBudW1l
cmljY21wKCQkKTsKIHN1YiBvcGVuRHVtcFJlbmRlclRyZWVJZk5lZWRlZCgpOwogc3ViIG9wZW5I
VFRQRElmTmVlZGVkKCk7CiBzdWIgcGF0aGNtcCgkJCk7CitzdWIgcHJvY2Vzc0lnbm9yZVRlc3Rz
KCQpOwogc3ViIHNsb3dlc3RjbXAoJCQpOwogc3ViIHNwbGl0cGF0aCgkKTsKIApAQCAtNzQsNiAr
NzYsNyBAQCBzdWIgc3BsaXRwYXRoKCQpOwogbXkgJGNoZWNrTGVha3MgPSAnJzsKIG15ICRndWFy
ZE1hbGxvYyA9ICcnOwogbXkgJGh0dHBkUG9ydCA9IDgwMDA7CitteSAkaWdub3JlVGVzdHMgPSAn
JzsKIG15ICRsYXVuY2hTYWZhcmkgPSAxOwogbXkgJHBpeGVsVGVzdHMgPSAnJzsKIG15ICRxdWll
dCA9ICcnOwpAQCAtODEsNiArODQsNyBAQCBteSAkcmVwYWludFN3ZWVwSG9yaXpvbnRhbGx5ID0g
Jyc7CiBteSAkcmVwYWludFRlc3RzID0gJyc7CiBteSAkcmVwb3J0MTBTbG93ZXN0ID0gMDsKIG15
ICRyZXNldFJlc3VsdHMgPSAwOworbXkgJHNob3dIZWxwID0gMDsKIG15ICRzaW5nbHkgPSAwOwog
bXkgJHRlc3RIVFRQID0gMTsKIG15ICR0ZXN0T25seVNWR3MgPSAnJzsKQEAgLTEwMCwxMCArMTA0
LDM3IEBAIGlmIChpc0N5Z3dpbigpKSB7CiAgICAgJGFjdHVhbFRhZyA9ICJkaWZmcy13aW4iOwog
fQogCi1HZXRPcHRpb25zKAorbXkgJHVzYWdlID0KKyAgICAiVXNhZ2U6ICIgLiBiYXNlbmFtZSgk
MCkgLiAiIFtvcHRpb25zXSBbdGVzdGRpcnx0ZXN0cGF0aCAuLi5dXG4iIC4KKyAgICAiICAtZ3wt
LWd1YXJkLW1hbGxvYyAgICAgICBFbmFibGUgbWFsbG9jIGd1YXJkXG4iIC4KKyAgICAiICAtLWhl
bHAgICAgICAgICAgICAgICAgICBTaG93IHRoaXMgaGVscCBtZXNzYWdlXG4iIC4KKyAgICAiICAt
aHwtLWhvcml6b250YWwtc3dlZXAgICBDaGFuZ2UgcmVwYWludCB0byBzd2VlcCBob3Jpem9udGFs
bHkgaW5zdGVhZCBvZiB2ZXJ0aWNhbGx5IChpbXBsaWVzIC0tcmVwYWludC10ZXN0cylcbiIgLgor
ICAgICIgIC0tW25vLV1odHRwICAgICAgICAgICAgIFJ1biAob3IgZG8gbm90IHJ1bikgaHR0cCB0
ZXN0cyAoZGVmYXVsdDogIiAuICgkdGVzdEhUVFAgPyAicnVuIiA6ICJkbyBub3QgcnVuIikgLiAi
KVxuIiAuCisgICAgIiAgLWl8LS1pZ25vcmUtdGVzdHMgICAgICAgQ29tbWEtc2VwYXJhdGVkIGxp
c3Qgb2YgZGlyZWN0b3JpZXMgb3IgdGVzdHMgdG8gaWdub3JlXG4iIC4KKyAgICAiICAtLVtuby1d
bGF1bmNoLXNhZmFyaSAgICBMYXVuY2ggKG9yIGRvIG5vdCBsYXVuY2gpIFNhZmFyaSB0byBkaXNw
bGF5IHRlc3QgcmVzdWx0cyAoZGVmYXVsdDogIgorICAgICAgICAuICgkbGF1bmNoU2FmYXJpID8g
ImxhdW5jaCIgOiAiZG8gbm90IGxhdW5jaCIpIC4gIilcbiIgLgorICAgICIgIC1sfC0tbGVha3Mg
ICAgICAgICAgICAgIEVuYWJsZSBsZWFrcyBjaGVja2luZ1xuIiAuCisgICAgIiAgLXB8LS1waXhl
bC10ZXN0cyAgICAgICAgRW5hYmxlIHBpeGVsIHRlc3RzXG4iIC4KKyAgICAiICAtLXBvcnQgICAg
ICAgICAgICAgICAgICBXZWIgc2VydmVyIHBvcnQgdG8gdXNlIHdpdGggaHR0cCB0ZXN0c1xuIiAu
CisgICAgIiAgLXF8LS1xdWlldCAgICAgICAgICAgICAgTGVzcyB2ZXJib3NlIG91dHB1dFxuIiAu
CisgICAgIiAgLXJ8LS1yZXBhaW50LXRlc3RzICAgICAgUnVuIHJlcGFpbnQgdGVzdHMgKGltcGxp
ZXMgLS1waXhlbC10ZXN0cylcbiIgLgorICAgICIgIC0tcmVzZXQtcmVzdWx0cyAgICAgICAgIFJl
c2V0IEFMTCByZXN1bHRzIChpbmNsdWRpbmcgcGl4ZWwgdGVzdHMgaWYgLS1waXhlbC10ZXN0cyBp
cyBzZXQpXG4iIC4KKyAgICAiICAtb3wtLXJlc3VsdHMtZGlyZWN0b3J5ICBPdXRwdXQgcmVzdWx0
cyBkaXJlY3RvcnkgKGRlZmF1bHQ6ICIgLiAkdGVzdFJlc3VsdHNEaXJlY3RvcnkgLiAiKVxuIiAu
CisgICAgIiAgLTF8LS1zaW5nbHkgICAgICAgICAgICAgSXNvbGF0ZSBlYWNoIHRlc3QgY2FzZSBy
dW4gKGltcGxpZXMgLS12ZXJib3NlKVxuIiAuCisgICAgIiAgLS1zbG93ZXN0ICAgICAgICAgICAg
ICAgUmVwb3J0IHRoZSAxMCBzbG93ZXN0IHRlc3RzXG4iIC4KKyAgICAiICAtLXN2ZyAgICAgICAg
ICAgICAgICAgICBSdW4gb25seSBTVkcgdGVzdHMgKGltcGxpZXMgLS1waXhlbC10ZXN0cylcbiIg
LgorICAgICIgIC12fC0tdmVyYm9zZSAgICAgICAgICAgIE1vcmUgdmVyYm9zZSBvdXRwdXQgKG92
ZXJyaWRlcyAtLXF1aWV0KVxuIiAuCisgICAgIiAgLS1kZWJ1Z3wtLXJlbGVhc2UgICAgICAgU2V0
IER1bXBSZW5kZXJUcmVlIGJ1aWxkIGNvbmZpZ3VyYXRpb25cbiI7CisKKyMgUGFyc2Ugb3V0IGJ1
aWxkIG9wdGlvbnMgKC0tZGVidWcgb3IgLS1yZWxlYXNlKSBmaXJzdAorbXkgJGJ1aWxkQ29uZmln
dXJhdGlvbiA9IHNldENvbmZpZ3VyYXRpb24oKTsKKworbXkgJGdldE9wdGlvbnNSZXN1bHQgPSBH
ZXRPcHRpb25zKAogICAgICdndWFyZC1tYWxsb2N8ZycgPT4gXCRndWFyZE1hbGxvYywKKyAgICAn
aGVscCcgPT4gXCRzaG93SGVscCwKICAgICAnaG9yaXpvbnRhbC1zd2VlcHxoJyA9PiBcJHJlcGFp
bnRTd2VlcEhvcml6b250YWxseSwKICAgICAnaHR0cCEnID0+IFwkdGVzdEhUVFAsCisgICAgJ2ln
bm9yZS10ZXN0c3xpPXMnID0+IFwkaWdub3JlVGVzdHMsCiAgICAgJ2xhdW5jaC1zYWZhcmkhJyA9
PiBcJGxhdW5jaFNhZmFyaSwKICAgICAnbGVha3N8bCcgPT4gXCRjaGVja0xlYWtzLAogICAgICdw
aXhlbC10ZXN0c3xwJyA9PiBcJHBpeGVsVGVzdHMsCkBAIC0xMTgsMTcgKzE0OSwyNyBAQCBHZXRP
cHRpb25zKAogICAgICd2ZXJib3NlfHYnID0+IFwkdmVyYm9zZSwKICk7CiAKK2lmICghJGdldE9w
dGlvbnNSZXN1bHQgfHwgJHNob3dIZWxwKSB7CisgICAgcHJpbnQgU1RERVJSICR1c2FnZTsKKyAg
ICBleGl0IDE7Cit9CisKICRyZXBhaW50VGVzdHMgPSAxIGlmICRyZXBhaW50U3dlZXBIb3Jpem9u
dGFsbHk7CiAKICRwaXhlbFRlc3RzID0gMSBpZiAkdGVzdE9ubHlTVkdzOwogJHBpeGVsVGVzdHMg
PSAxIGlmICRyZXBhaW50VGVzdHM7CiAKLXNldENvbmZpZ3VyYXRpb24oKTsKKyR2ZXJib3NlID0g
MSBpZiAkc2luZ2x5OworCiBteSAkcHJvZHVjdERpciA9IHByb2R1Y3REaXIoKTsKIAogY2hkaXJX
ZWJLaXQoKTsKIAotbXkgJGJ1aWxkUmVzdWx0ID0gc3lzdGVtICJXZWJLaXRUb29scy9TY3JpcHRz
L2J1aWxkLWR1bXByZW5kZXJ0cmVlIiwgQEFSR1Y7CitteSBAYnVpbGRPcHRpb25zID0gKCk7Citp
ZiAoJGJ1aWxkQ29uZmlndXJhdGlvbikgeworICAgIHB1c2ggQGJ1aWxkT3B0aW9ucywgJy0tJyAu
IGxjKCRidWlsZENvbmZpZ3VyYXRpb24pOworfQorbXkgJGJ1aWxkUmVzdWx0ID0gc3lzdGVtICJX
ZWJLaXRUb29scy9TY3JpcHRzL2J1aWxkLWR1bXByZW5kZXJ0cmVlIiwgQGJ1aWxkT3B0aW9uczsK
IGV4aXQgV0VYSVRTVEFUVVMoJGJ1aWxkUmVzdWx0KSBpZiAkYnVpbGRSZXN1bHQ7CiAKIG15ICRk
dW1wVG9vbE5hbWUgPSAiRHVtcFJlbmRlclRyZWUiOwpAQCAtMTQwLDUzICsxODEsNzUgQEAgZGll
ICJjYW4ndCBmaW5kIGV4ZWN1dGFibGUgJGltYWdlRGlmZlRvbwogCiBjaGVja0ZyYW1ld29ya3Mo
KTsKIAotbXkgJGxheW91dFRlc3RzTmFtZSA9ICR0ZXN0T25seVNWR3M/ICJMYXlvdXRUZXN0cy9z
dmciIDogIkxheW91dFRlc3RzIjsKLW15ICR0ZXN0RGlyZWN0b3J5ID0gZ2V0Y3dkKCkgLiAiLyRs
YXlvdXRUZXN0c05hbWUiOwotbXkgJHRlc3RSZXN1bHRzID0gIiR0ZXN0UmVzdWx0c0RpcmVjdG9y
eS9yZXN1bHRzLmh0bWwiOworbXkgJGxheW91dFRlc3RzTmFtZSA9ICR0ZXN0T25seVNWR3MgPyAi
TGF5b3V0VGVzdHMvc3ZnIiA6ICJMYXlvdXRUZXN0cyI7CitteSAkdGVzdERpcmVjdG9yeSA9IEZp
bGU6OlNwZWMtPnJlbDJhYnMoJGxheW91dFRlc3RzTmFtZSk7CitteSAkdGVzdFJlc3VsdHMgPSBj
YXRmaWxlKCR0ZXN0UmVzdWx0c0RpcmVjdG9yeSwgInJlc3VsdHMuaHRtbCIpOwogCiBwcmludCAi
UnVubmluZyB0ZXN0cyBmcm9tICR0ZXN0RGlyZWN0b3J5XG4iOwogCiBteSBAdGVzdHMgPSAoKTsK
IAotbXkgJHBydW5lUGFydCA9ICJcXCggLW5hbWUgcmVzb3VyY2VzIFxcISAtcHJ1bmUgXFwpIjsK
LW15ICRleHRlbnNpb25QYXJ0ID0gIi1uYW1lICcqLmh0bWwnIC1vciAtbmFtZSAnKi5zaHRtbCcg
LW9yIC1uYW1lICcqLnhtbCcgLW9yIC1uYW1lICcqLnhodG1sJyAtb3IgLW5hbWUgJyoucGwnIC1v
ciAtbmFtZSAnKi5waHAnIjsKK215ICVpZ25vcmVkRmlsZXMgPSAoKTsKK215ICVpZ25vcmVkRGly
ZWN0b3JpZXMgPSAoKTsKK215ICVpZ25vcmVkTG9jYWxEaXJlY3RvcmllcyA9IG1hcCB7ICRfID0+
IDEgfSBxdyguc3ZuIF9zdm4gcmVzb3VyY2VzKTsKK215ICVzdXBwb3J0ZWRGaWxlRXh0ZW5zaW9u
cyA9IG1hcCB7ICRfID0+IDEgfSBxdyhodG1sIHNodG1sIHhtbCB4aHRtbCBwbCBwaHApOwogaWYg
KCR0ZXN0T25seVNWR3MpIHsKLSAgICAkZXh0ZW5zaW9uUGFydCA9ICItbmFtZSAnKi5zdmcnIC1v
ciAtbmFtZSAnKi54bWwnIjsKKyAgICAlc3VwcG9ydGVkRmlsZUV4dGVuc2lvbnMgPSBtYXAgeyAk
XyA9PiAxIH0gcXcoc3ZnIHhtbCk7CiB9IGVsc2lmIChjaGVja1dlYkNvcmVTVkdTdXBwb3J0KCR0
ZXN0T25seVNWR3MpKSB7IAotICAgICRleHRlbnNpb25QYXJ0IC49ICIgLW9yIC1uYW1lICcqLnN2
ZyciOworICAgICRzdXBwb3J0ZWRGaWxlRXh0ZW5zaW9uc3snc3ZnJ30gPSAxOwogfSBlbHNlIHsK
LSAgICAkcHJ1bmVQYXJ0IC49ICIgLW9yIFxcKCAtbmFtZSBzdmcgXFwhIC1wcnVuZSBcXCkiOwor
ICAgICRpZ25vcmVkTG9jYWxEaXJlY3Rvcmllc3snc3ZnJ30gPSAxOwogfQogaWYgKCEkdGVzdEhU
VFApIHsKLSAgICAkcHJ1bmVQYXJ0IC49ICIgLW9yIFxcKCAtbmFtZSBodHRwIFxcISAtcHJ1bmUg
XFwpIjsKKyAgICAkaWdub3JlZERpcmVjdG9yaWVzeydodHRwJ30gPSAxOworfQorCitpZiAoJGln
bm9yZVRlc3RzKSB7CisgICAgcHJvY2Vzc0lnbm9yZVRlc3RzKCRpZ25vcmVUZXN0cyk7CiB9Ci1t
eSAkZmluZEFyZ3VtZW50cyA9ICIkcHJ1bmVQYXJ0IC1vciAkZXh0ZW5zaW9uUGFydCI7CiAKLW15
ICRmb3VuZFRlc3ROYW1lID0gMDsKK215ICRkaXJlY3RvcnlGaWx0ZXIgPSBzdWIgeworICAgIHJl
dHVybiAoKSBpZiBleGlzdHMgJGlnbm9yZWRMb2NhbERpcmVjdG9yaWVze2Jhc2VuYW1lKCRGaWxl
OjpGaW5kOjpkaXIpfTsKKyAgICByZXR1cm4gKCkgaWYgZXhpc3RzICRpZ25vcmVkRGlyZWN0b3Jp
ZXN7RmlsZTo6U3BlYy0+YWJzMnJlbCgkRmlsZTo6RmluZDo6ZGlyLCAkdGVzdERpcmVjdG9yeSl9
OworICAgIHJldHVybiBAXzsKK307CisKK215ICRmaWxlRmlsdGVyID0gc3ViIHsKKyAgICBteSAk
ZmlsZW5hbWUgPSAkXzsKKyAgICBpZiAoJGZpbGVuYW1lID1+IC9cLihbXi5dKykkLykgeworICAg
ICAgICBpZiAoZXhpc3RzICRzdXBwb3J0ZWRGaWxlRXh0ZW5zaW9uc3skMX0pIHsKKyAgICAgICAg
ICAgIG15ICRwYXRoID0gRmlsZTo6U3BlYy0+YWJzMnJlbChjYXRmaWxlKCRGaWxlOjpGaW5kOjpk
aXIsICRmaWxlbmFtZSksICR0ZXN0RGlyZWN0b3J5KTsKKyAgICAgICAgICAgIHB1c2ggQHRlc3Rz
LCAkcGF0aCBpZiAhZXhpc3RzICRpZ25vcmVkRmlsZXN7JHBhdGh9OworICAgICAgICB9CisgICAg
fQorfTsKKwogZm9yIG15ICR0ZXN0IChAQVJHVikgewotICAgIG5leHQgaWYgJHRlc3QgPX4gL14t
LzsKLSAgICAkZm91bmRUZXN0TmFtZSA9IDE7Ci0gICAgJHRlc3QgPX4gcy9eJHRlc3REaXJlY3Rv
cnlcLy8vOwotICAgIGlmICgkdGVzdCA9fiAvXlwvLykgewotICAgICAgICBwcmludCAiY2FuJ3Qg
cnVuIHRlc3Qgb3V0c2lkZSAkdGVzdERpcmVjdG9yeVxuIjsKLSAgICB9IGVsc2lmICgtZiAiJHRl
c3REaXJlY3RvcnkvJHRlc3QiKSB7Ci0gICAgICAgIGlmICgkdGVzdCAhfiAvXC4oaHRtbHxzaHRt
bHx4bWx8eGh0bWx8cGx8cGhwfHN2ZykkLykgeworICAgICR0ZXN0ID1+IHMvXigkbGF5b3V0VGVz
dHNOYW1lfCR0ZXN0RGlyZWN0b3J5KVwvLy87CisgICAgbXkgJGZ1bGxQYXRoID0gY2F0ZmlsZSgk
dGVzdERpcmVjdG9yeSwgJHRlc3QpOworICAgIGlmIChmaWxlX25hbWVfaXNfYWJzb2x1dGUoJHRl
c3QpKSB7CisgICAgICAgIHByaW50ICJjYW4ndCBydW4gdGVzdCAkdGVzdCBvdXRzaWRlICR0ZXN0
RGlyZWN0b3J5XG4iOworICAgIH0gZWxzaWYgKC1mICRmdWxsUGF0aCkgeworICAgICAgICBteSAo
JGZpbGVuYW1lLCAkcGF0aG5hbWUsICRmaWxlRXh0ZW5zaW9uKSA9IGZpbGVwYXJzZSgkdGVzdCwg
cXJ7XC5bXi5dKyR9KTsKKyAgICAgICAgaWYgKCFleGlzdHMgJHN1cHBvcnRlZEZpbGVFeHRlbnNp
b25ze3N1YnN0cigkZmlsZUV4dGVuc2lvbiwgMSl9KSB7CiAgICAgICAgICAgICBwcmludCAidGVz
dCAkdGVzdCBkb2VzIG5vdCBoYXZlIGEgc3VwcG9ydGVkIGV4dGVuc2lvblxuIjsKLSAgICAgICAg
fSBlbHNpZiAoJHRlc3RIVFRQIHx8ICR0ZXN0ICF+IC9eaHR0cFwvLykgeworICAgICAgICB9IGVs
c2lmICgkdGVzdEhUVFAgfHwgJHBhdGhuYW1lICF+IC9eaHR0cFwvLykgewogICAgICAgICAgICAg
cHVzaCBAdGVzdHMsICR0ZXN0OwogICAgICAgICB9Ci0gICAgfSBlbHNpZiAoLWQgIiR0ZXN0RGly
ZWN0b3J5LyR0ZXN0IikgewotICAgICAgICBwdXNoIEB0ZXN0cywgc29ydCBwYXRoY21wIG1hcCB7
IGNob21wOyBzLV4kdGVzdERpcmVjdG9yeS8tLTsgJF87IH0gYGZpbmQgLUwgIiR0ZXN0RGlyZWN0
b3J5LyR0ZXN0IiAkZmluZEFyZ3VtZW50c2A7CisgICAgfSBlbHNpZiAoLWQgJGZ1bGxQYXRoKSB7
CisgICAgICAgIGZpbmQoeyBwcmVwcm9jZXNzID0+ICRkaXJlY3RvcnlGaWx0ZXIsIHdhbnRlZCA9
PiAkZmlsZUZpbHRlciB9LCAkZnVsbFBhdGgpOwogICAgIH0gZWxzZSB7CiAgICAgICAgIHByaW50
ICJ0ZXN0ICR0ZXN0IG5vdCBmb3VuZFxuIjsKICAgICB9CiB9Ci1pZiAoISRmb3VuZFRlc3ROYW1l
KSB7Ci0gICAgQHRlc3RzID0gc29ydCBwYXRoY21wIG1hcCB7IGNob21wOyBzLV4kdGVzdERpcmVj
dG9yeS8tLTsgJF87IH0gYGZpbmQgLUwgIiR0ZXN0RGlyZWN0b3J5IiAkZmluZEFyZ3VtZW50c2A7
CitpZiAoIXNjYWxhciBAQVJHVikgeworICAgIGZpbmQoeyBwcmVwcm9jZXNzID0+ICRkaXJlY3Rv
cnlGaWx0ZXIsIHdhbnRlZCA9PiAkZmlsZUZpbHRlciB9LCAkdGVzdERpcmVjdG9yeSk7CiB9CiAK
IGRpZSAibm8gdGVzdHMgdG8gcnVuXG4iIGlmICFAdGVzdHM7CiAKK0B0ZXN0cyA9IHNvcnQgcGF0
aGNtcCBAdGVzdHM7CisKIG15ICVjb3VudHM7CiBteSAldGVzdHM7CiBteSAlaW1hZ2VzUHJlc2Vu
dDsKQEAgLTIzMSw3ICsyOTQsNyBAQCBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgewogICAgIG15ICRi
YXNlID0gJHRlc3Q7CiAgICAgJGJhc2UgPX4gcy9cLlthLXpBLVpdKyQvLzsKICAgICAKLSAgICBp
ZiAoJHZlcmJvc2UgfHwgJHNpbmdseSkgeworICAgIGlmICgkdmVyYm9zZSkgewogICAgICAgICBw
cmludCAicnVubmluZyAkdGVzdCAtPiAiOwogICAgICAgICAkYXRMaW5lU3RhcnQgPSAwOwogICAg
IH0gZWxzaWYgKCEkcXVpZXQpIHsKQEAgLTM0OSw3ICs0MTIsNyBAQCBmb3IgbXkgJHRlc3QgKEB0
ZXN0cykgewogICAgIH0KIAogICAgIGlmICghZGVmaW5lZCAkZXhwZWN0ZWQpIHsKLSAgICAgICAg
aWYgKCR2ZXJib3NlIHx8ICRzaW5nbHkpIHsKKyAgICAgICAgaWYgKCR2ZXJib3NlKSB7CiAgICAg
ICAgICAgICBwcmludCAibmV3ICIgLiAoJHJlc2V0UmVzdWx0cyA/ICJyZXN1bHQiIDogInRlc3Qi
KSAuIlxuIjsKICAgICAgICAgICAgICRhdExpbmVTdGFydCA9IDE7CiAgICAgICAgIH0KQEAgLTM2
MCw3ICs0MjMsNyBAQCBmb3IgbXkgJHRlc3QgKEB0ZXN0cykgewogICAgICAgICB1bmxpbmsgIiR0
ZXN0UmVzdWx0c0RpcmVjdG9yeS8kYmFzZS0kYWN0dWFsVGFnLnR4dCI7CiAgICAgICAgIHVubGlu
ayAiJHRlc3RSZXN1bHRzRGlyZWN0b3J5LyRiYXNlLSRkaWZmc1RhZy50eHQiOwogICAgIH0gZWxz
aWYgKCRhY3R1YWwgZXEgJGV4cGVjdGVkICYmICRkaWZmUmVzdWx0IGVxICJwYXNzZWQiKSB7Ci0g
ICAgICAgIGlmICgkdmVyYm9zZSB8fCAkc2luZ2x5KSB7CisgICAgICAgIGlmICgkdmVyYm9zZSkg
ewogICAgICAgICAgICAgcHJpbnQgInN1Y2NlZWRlZFxuIjsKICAgICAgICAgICAgICRhdExpbmVT
dGFydCA9IDE7CiAgICAgICAgIH0KQEAgLTM2OCw3ICs0MzEsNyBAQCBmb3IgbXkgJHRlc3QgKEB0
ZXN0cykgewogICAgICAgICB1bmxpbmsgIiR0ZXN0UmVzdWx0c0RpcmVjdG9yeS8kYmFzZS0kYWN0
dWFsVGFnLnR4dCI7CiAgICAgICAgIHVubGluayAiJHRlc3RSZXN1bHRzRGlyZWN0b3J5LyRiYXNl
LSRkaWZmc1RhZy50eHQiOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIHVubGVzcyAoJHZlcmJvc2Ug
fHwgJHNpbmdseSkgeworICAgICAgICB1bmxlc3MgKCR2ZXJib3NlKSB7CiAgICAgICAgICAgICBw
cmludCAiXG4iIHVubGVzcyAkYXRMaW5lU3RhcnQ7CiAgICAgICAgICAgICBwcmludCAiJHRlc3Qg
LT4gIjsKICAgICAgICAgfQpAQCAtODE0LDMgKzg3NywyNSBAQCBzdWIgZmlsZU5hbWVXaXRoTnVt
YmVyKCQkKQogICAgIHJldHVybiAiJGJhc2UkbnVtYmVyIiBpZiAoJG51bWJlciA+IDEpOwogICAg
IHJldHVybiAkYmFzZTsKIH0KKworc3ViIHByb2Nlc3NJZ25vcmVUZXN0cygkKSB7CisgICAgbXkg
QGlnbm9yZUxpc3QgPSBzcGxpdCgvXHMqLFxzKi8sIHNoaWZ0KTsKKyAgICBteSAkYWRkSWdub3Jl
ZERpcmVjdG9yaWVzID0gc3ViIHsKKyAgICAgICAgcmV0dXJuICgpIGlmIGV4aXN0cyAkaWdub3Jl
ZExvY2FsRGlyZWN0b3JpZXN7YmFzZW5hbWUoJEZpbGU6OkZpbmQ6OmRpcil9OworICAgICAgICAk
aWdub3JlZERpcmVjdG9yaWVze0ZpbGU6OlNwZWMtPmFiczJyZWwoJEZpbGU6OkZpbmQ6OmRpciwg
JHRlc3REaXJlY3RvcnkpfSA9IDE7CisgICAgICAgIHJldHVybiBAXzsKKyAgICB9OworICAgIGZv
cmVhY2ggbXkgJGl0ZW0gKEBpZ25vcmVMaXN0KSB7CisgICAgICAgIG15ICRwYXRoID0gY2F0Zmls
ZSgkdGVzdERpcmVjdG9yeSwgJGl0ZW0pOyAKKyAgICAgICAgaWYgKC1kICRwYXRoKSB7CisgICAg
ICAgICAgICAkaWdub3JlZERpcmVjdG9yaWVzeyRpdGVtfSA9IDE7CisgICAgICAgICAgICBmaW5k
KHsgcHJlcHJvY2VzcyA9PiAkYWRkSWdub3JlZERpcmVjdG9yaWVzLCB3YW50ZWQgPT4gc3ViIHt9
IH0sICRwYXRoKTsKKyAgICAgICAgfQorICAgICAgICBlbHNpZiAoLWYgJHBhdGgpIHsKKyAgICAg
ICAgICAgICRpZ25vcmVkRmlsZXN7JGl0ZW19ID0gMTsKKyAgICAgICAgfQorICAgICAgICBlbHNl
IHsKKyAgICAgICAgICAgIHByaW50ICJpZ25vcmluZyAnJGl0ZW0nIG9uIGlnbm9yZS10ZXN0cyBs
aXN0XG4iOworICAgICAgICB9CisgICAgfQorfQo=
</data>
<flag name="review"
          id="2797"
          type_id="1"
          status="+"
          setter="timothy"
    />
          </attachment>
      

    </bug>

</bugzilla>