<?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>180390</bug_id>
          
          <creation_ts>2017-12-04 18:03:01 -0800</creation_ts>
          <short_desc>[build.webkit.org] unit-tests fail when passwords.json is missing</short_desc>
          <delta_ts>2020-10-16 09:20:51 -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>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=180389</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=195557</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=217831</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Aakash Jain">aakash_jain</reporter>
          <assigned_to name="Aakash Jain">aakash_jain</assigned_to>
          <cc>aakash_jain</cc>
    
    <cc>ap</cc>
    
    <cc>clopez</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dean_johnson</cc>
    
    <cc>lforschler</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1378033</commentid>
    <comment_count>0</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-12-04 18:03:01 -0800</bug_when>
    <thetext>unit-tests in mastercfg_unittest.py fail when passwords.json is missing. This file is not checked-in to the repository. So the unit-tests should be able to run without this file.

Exception:
[~/code/WebKit/Tools/BuildSlaveSupport/build.webkit.org-config]$python mastercfg_unittest.py 
Traceback (most recent call last):
  File &quot;mastercfg_unittest.py&quot;, line 529, in &lt;module&gt;
    loadBuilderConfig(c)
  File &quot;/Users/aakashjain/code/WebKit/Tools/BuildSlaveSupport/build.webkit.org-config/loadConfig.py&quot;, line 47, in loadBuilderConfig
    passwords = json.load(open(&apos;passwords.json&apos;))
IOError: [Errno 2] No such file or directory: &apos;passwords.json&apos;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378036</commentid>
    <comment_count>1</comment_count>
      <attachid>328420</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-12-04 18:11:35 -0800</bug_when>
    <thetext>Created attachment 328420
Proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378039</commentid>
    <comment_count>2</comment_count>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2017-12-04 18:18:40 -0800</bug_when>
    <thetext>This patch would apply to ToT after applying patch from https://bugs.webkit.org/show_bug.cgi?id=180389</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378193</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-12-05 09:37:01 -0800</bug_when>
    <thetext>Just a note, this test worked properly until your change https://trac.webkit.org/changeset/225433/webkit broke it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1378196</commentid>
    <comment_count>4</comment_count>
      <attachid>328420</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2017-12-05 09:52:43 -0800</bug_when>
    <thetext>Comment on attachment 328420
Proposed patch

View in context: https://bugs.webkit.org/attachment.cgi?id=328420&amp;action=review

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/mastercfg_unittest.py:531
&gt; +    os.environ[&quot;BUILDBOT_TESTING&quot;] = &quot;true&quot;
&gt;      loadBuilderConfig(c)
&gt; +    del os.environ[&quot;BUILDBOT_TESTING&quot;]

Why an environment variable? 
I prefer a second is_test_mode_enabled parameter with default false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1402221</commentid>
    <comment_count>5</comment_count>
      <attachid>334659</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-02-26 16:25:32 -0800</bug_when>
    <thetext>Created attachment 334659
Updated patch

This patch also implements portion of https://bugs.webkit.org/attachment.cgi?id=328419&amp;action=review</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1403794</commentid>
    <comment_count>6</comment_count>
      <attachid>334659</attachid>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2018-03-05 16:21:32 -0800</bug_when>
    <thetext>Comment on attachment 334659
Updated patch

View in context: https://bugs.webkit.org/attachment.cgi?id=334659&amp;action=review

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/loadConfig.py:48
&gt; +    if is_test_mode_enabled:

I like it when names help achieve correct grammar. If the variable were called test_mode_is_enabled, then we&apos;d have &quot;if test_mode_is_enabled&quot; here, which reads better.

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:-26
&gt; -    def _mock_open(self, filename):

What was the problem with this? It seems like a nicer way to mock, as we don&apos;t need to pass additional arguments.

&gt; Tools/BuildSlaveSupport/build.webkit.org-config/steps_unittest.py:533
&gt; +    BuildBotConfigLoader()._add_dependant_modules_to_sys_modules()

Not new with this patch, but s/dependant/dependent/.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1407116</commentid>
    <comment_count>7</comment_count>
      <attachid>335970</attachid>
    <who name="Aakash Jain">aakash_jain</who>
    <bug_when>2018-03-16 14:38:58 -0700</bug_when>
    <thetext>Created attachment 335970
Updated patch

&gt; I like it when names help achieve correct grammar. If the variable were called test_mode_is_enabled, then we&apos;d have &quot;if test_mode_is_enabled&quot; here, which reads better.
Done

&gt; Not new with this patch, but s/dependant/dependent/.
Replaced

&gt; What was the problem with this? It seems like a nicer way to mock, as we don&apos;t need to pass additional arguments.
The globals() method to mock was working earlier when all the code was in master.cfg and we were doing execfile(master.cfg). It doesn&apos;t work anymore (after https://trac.webkit.org/r225433), since the file loading is now done in loadConfig.py, which doesn&apos;t have the same globals.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1415358</commentid>
    <comment_count>8</comment_count>
      <attachid>335970</attachid>
    <who name="Carlos Alberto Lopez Perez">clopez</who>
    <bug_when>2018-04-17 17:04:19 -0700</bug_when>
    <thetext>Comment on attachment 335970
Updated patch

Looks good to me. Makes the unit test work back.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417252</commentid>
    <comment_count>9</comment_count>
      <attachid>335970</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-24 13:15:08 -0700</bug_when>
    <thetext>Comment on attachment 335970
Updated patch

Clearing flags on attachment: 335970

Committed r230969: &lt;https://trac.webkit.org/changeset/230969&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417253</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2018-04-24 13:15:10 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1417254</commentid>
    <comment_count>11</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-04-24 13:16:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/39695069&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>328420</attachid>
            <date>2017-12-04 18:11:35 -0800</date>
            <delta_ts>2018-02-26 16:25:32 -0800</delta_ts>
            <desc>Proposed patch</desc>
            <filename>0001-build.webkit.org-unit-tests-fail-when-passwords.json.patch</filename>
            <type>text/plain</type>
            <size>3607</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">RnJvbSAyZjE3ZmZiZTJmMDU5OGYxMWNiODRhZDQxMTQ0NGE4YTFiMDFkZDkwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBYWthc2ggSmFpbiA8YWFrYXNoX2phaW5AYXBwbGUuY29tPgpE
YXRlOiBNb24sIDQgRGVjIDIwMTcgMTg6MDk6MTYgLTA4MDAKU3ViamVjdDogW1BBVENIXSBbYnVp
bGQud2Via2l0Lm9yZ10gdW5pdC10ZXN0cyBmYWlsIHdoZW4gcGFzc3dvcmRzLmpzb24gaXMKIG1p
c3NpbmcgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM5MAoKUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCgoqIEJ1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL2xvYWRDb25maWcucHk6Cihsb2FkQnVpbGRlckNvbmZpZyk6IEFkZCBzdXBw
b3J0IGZvciB0ZXN0X21vZGUuIExvYWQgbW9jayBwYXNzd29yZHMgaW4gdGVzdF9tb2RlLgoqIEJ1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3RlcmNmZ191bml0dGVz
dC5weTogU2V0IEJVSUxEQk9UX1RFU1RJTkcgdG8gdHJ1ZQpiZWZvcmUgaW52b2tpbmcgbG9hZEJ1
aWxkZXJDb25maWcuCi0tLQogLi4uL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmct
Y29uZmlnL2xvYWRDb25maWcucHkgIHwgIDggKysrKysrKy0KIC4uLi9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9tYXN0ZXJjZmdfdW5pdHRlc3QucHkgICAgICAgICAgICB8ICAyICsrCiBUb29scy9D
aGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfCAx
MiArKysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMSBkZWxl
dGlvbigtKQoKZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL2xvYWRDb25maWcucHkgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWls
ZC53ZWJraXQub3JnLWNvbmZpZy9sb2FkQ29uZmlnLnB5CmluZGV4IGQyMjQxOTQzZTg3Li5kNWE5
NTkxYzMyMSAxMDA2NDQKLS0tIGEvVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvbG9hZENvbmZpZy5weQorKysgYi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9i
dWlsZC53ZWJraXQub3JnLWNvbmZpZy9sb2FkQ29uZmlnLnB5CkBAIC0zMSw4ICszMSwxMCBAQCBm
cm9tIGZhY3RvcmllcyBpbXBvcnQgKgogaW1wb3J0IHJlCiBpbXBvcnQganNvbgogaW1wb3J0IG9w
ZXJhdG9yCitpbXBvcnQgb3MKIAogZnJvbSBjb21taXR0ZXJfYXV0aCBpbXBvcnQgQ29tbWl0dGVy
QXV0aAoraW1wb3J0IG1ha2VfcGFzc3dvcmRzX2pzb24KIGltcG9ydCB3a2J1aWxkCiAKIHRydW5r
X2ZpbHRlciA9IENoYW5nZUZpbHRlcihicmFuY2g9WyJ0cnVuayIsIE5vbmVdKQpAQCAtNDMsOCAr
NDUsMTIgQEAgZGVmIHBpY2tMYXRlc3RCdWlsZChidWlsZGVyLCByZXF1ZXN0cyk6CiAKIAogZGVm
IGxvYWRCdWlsZGVyQ29uZmlnKGMpOgorICAgIGlzX3Rlc3RfbW9kZV9lbmFibGVkID0gb3MuZ2V0
ZW52KCdCVUlMREJPVF9URVNUSU5HJykgaXMgbm90IE5vbmUKICAgICAjIEZJWE1FOiBUaGVzZSBm
aWxlIGhhbmRsZXMgYXJlIGxlYWtlZC4KLSAgICBwYXNzd29yZHMgPSBqc29uLmxvYWQob3Blbign
cGFzc3dvcmRzLmpzb24nKSkKKyAgICBpZiBpc190ZXN0X21vZGVfZW5hYmxlZDoKKyAgICAgICAg
cGFzc3dvcmRzID0gbWFrZV9wYXNzd29yZHNfanNvbi5jcmVhdGVfbW9ja19zbGF2ZV9wYXNzd29y
ZHNfZGljdCgpCisgICAgZWxzZToKKyAgICAgICAgcGFzc3dvcmRzID0ganNvbi5sb2FkKG9wZW4o
J3Bhc3N3b3Jkcy5qc29uJykpCiAgICAgY29uZmlnID0ganNvbi5sb2FkKG9wZW4oJ2NvbmZpZy5q
c29uJykpCiAKICAgICBjWydzbGF2ZXMnXSA9IFtCdWlsZFNsYXZlKHNsYXZlWyduYW1lJ10sIHBh
c3N3b3Jkc1tzbGF2ZVsnbmFtZSddXSwgbWF4X2J1aWxkcz0xKSBmb3Igc2xhdmUgaW4gY29uZmln
WydzbGF2ZXMnXV0KZGlmZiAtLWdpdCBhL1Rvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndl
YmtpdC5vcmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weSBiL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weQppbmRl
eCAyNDkxZjkzZWMxYi4uMjMzNTJlNmVlZWYgMTAwNzU1Ci0tLSBhL1Rvb2xzL0J1aWxkU2xhdmVT
dXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL21hc3RlcmNmZ191bml0dGVzdC5weQorKysg
Yi9Ub29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0ZXJj
ZmdfdW5pdHRlc3QucHkKQEAgLTUyNiw3ICs1MjYsOSBAQCBjbGFzcyBSdW5CZW5jaG1hcmtUZXN0
KHVuaXR0ZXN0LlRlc3RDYXNlKToKICMgc28gZm9yIG5vdyB0aGlzIGlzIGEgc3RhbmQtYWxvbmUg
dGVzdCBoYXJuZXNzLgogaWYgX19uYW1lX18gPT0gJ19fbWFpbl9fJzoKICAgICBjID0ge30KKyAg
ICBvcy5lbnZpcm9uWyJCVUlMREJPVF9URVNUSU5HIl0gPSAidHJ1ZSIKICAgICBsb2FkQnVpbGRl
ckNvbmZpZyhjKQorICAgIGRlbCBvcy5lbnZpcm9uWyJCVUlMREJPVF9URVNUSU5HIl0KICAgICBC
dWlsZFN0ZXBzQ29uc3RydWN0b3JUZXN0LmdlbmVyYXRlVGVzdHMoKQogICAgIEJ1aWxkU3RlcHNU
ZXN0LmdlbmVyYXRlVGVzdHMoKQogICAgIHVuaXR0ZXN0Lm1haW4oKQpkaWZmIC0tZ2l0IGEvVG9v
bHMvQ2hhbmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IGJhNmRlZWMyNzQ1Li40ZTBmMDI0
YjM2MyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSw1ICsxLDE3IEBACiAyMDE3LTEyLTA0ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFw
cGxlLmNvbT4KIAorICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gdW5pdC10ZXN0cyBmYWlsIHdo
ZW4gcGFzc3dvcmRzLmpzb24gaXMgbWlzc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTgwMzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9sb2FkQ29uZmlnLnB5OgorICAgICAgICAobG9hZEJ1aWxkZXJDb25maWcpOiBBZGQg
c3VwcG9ydCBmb3IgdGVzdF9tb2RlLiBMb2FkIG1vY2sgcGFzc3dvcmRzIGluIHRlc3RfbW9kZS4K
KyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9tYXN0
ZXJjZmdfdW5pdHRlc3QucHk6IFNldCBCVUlMREJPVF9URVNUSU5HIHRvIHRydWUKKyAgICAgICAg
YmVmb3JlIGludm9raW5nIGxvYWRCdWlsZGVyQ29uZmlnLgorCisyMDE3LTEyLTA0ICBBYWthc2gg
SmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNvbT4KKwogICAgICAgICBbYnVpbGQud2Via2l0Lm9y
Z10gU2ltcGxpZnkgaW1wb3J0cyBpbiBtYXN0ZXJjZmdfdW5pdHRlc3QucHkKICAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4MDM4OQogCi0tIAoyLjExLjAg
KEFwcGxlIEdpdC04MCkKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>334659</attachid>
            <date>2018-02-26 16:25:32 -0800</date>
            <delta_ts>2018-03-16 14:38:58 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>password_unit_test.patch</filename>
            <type>text/plain</type>
            <size>4616</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyOTA0NCkKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDE4LTAyLTI2ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gdW5pdC10ZXN0cyBmYWlsIHdoZW4gcGFz
c3dvcmRzLmpzb24gaXMgbWlzc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgwMzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9sb2FkQ29uZmlnLnB5OgorICAgICAgICAobG9hZEJ1aWxkZXJDb25maWcpOiBBZGQgc3VwcG9y
dCBmb3IgdGVzdF9tb2RlLiBMb2FkIG1vY2sgcGFzc3dvcmRzIGluIHRlc3RfbW9kZS4KKyAgICAg
ICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9zdGVwc191bml0
dGVzdC5weToKKyAgICAgICAgKEJ1aWxkQm90Q29uZmlnTG9hZGVyLl9hZGRfZGVwZW5kYW50X21v
ZHVsZXNfdG9fc3lzX21vZHVsZXMpOiBDYWxsIF9hZGRfd2Via2l0cHlfdG9fc3lzX3BhdGggYXMg
d2VsbC4KKyAgICAgICAgKEJ1aWxkQm90Q29uZmlnTG9hZGVyLl9tb2NrX29wZW4pOiBEZWxldGVk
LgorICAgICAgICAoQnVpbGRCb3RDb25maWdMb2FkZXIubG9hZF9jb25maWcpOiBEZWxldGVkLgor
CiAyMDE4LTAyLTI2ICBZb3VzdWtlIEtpbW90byAgPHlvdXN1a2Uua2ltb3RvQHNvbnkuY29tPgog
CiAgICAgICAgIFtXaW5DYWlyb10gV2ViS2l0Ml9DLmggc2hvdWxkIGJlIGluY2x1ZGVkIGZvciBU
ZXN0V2ViS2l0CkluZGV4OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3Jn
LWNvbmZpZy9sb2FkQ29uZmlnLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBw
b3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2xvYWRDb25maWcucHkJKHJldmlzaW9uIDIyOTA0
NCkKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2xv
YWRDb25maWcucHkJKHdvcmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAgaW1wb3J0IGpzb24K
IGltcG9ydCBvcGVyYXRvcgogCiBmcm9tIGNvbW1pdHRlcl9hdXRoIGltcG9ydCBDb21taXR0ZXJB
dXRoCitpbXBvcnQgbWFrZV9wYXNzd29yZHNfanNvbgogaW1wb3J0IHdrYnVpbGQKIAogdHJ1bmtf
ZmlsdGVyID0gQ2hhbmdlRmlsdGVyKGJyYW5jaD1bInRydW5rIiwgTm9uZV0pCkBAIC00Miw5ICs0
MywxMiBAQCBkZWYgcGlja0xhdGVzdEJ1aWxkKGJ1aWxkZXIsIHJlcXVlc3RzKToKICAgICByZXR1
cm4gbWF4KHJlcXVlc3RzLCBrZXk9b3BlcmF0b3IuYXR0cmdldHRlcigic3VibWl0dGVkQXQiKSkK
IAogCi1kZWYgbG9hZEJ1aWxkZXJDb25maWcoYyk6CitkZWYgbG9hZEJ1aWxkZXJDb25maWcoYywg
aXNfdGVzdF9tb2RlX2VuYWJsZWQ9RmFsc2UpOgogICAgICMgRklYTUU6IFRoZXNlIGZpbGUgaGFu
ZGxlcyBhcmUgbGVha2VkLgotICAgIHBhc3N3b3JkcyA9IGpzb24ubG9hZChvcGVuKCdwYXNzd29y
ZHMuanNvbicpKQorICAgIGlmIGlzX3Rlc3RfbW9kZV9lbmFibGVkOgorICAgICAgICBwYXNzd29y
ZHMgPSBtYWtlX3Bhc3N3b3Jkc19qc29uLmNyZWF0ZV9tb2NrX3NsYXZlX3Bhc3N3b3Jkc19kaWN0
KCkKKyAgICBlbHNlOgorICAgICAgICBwYXNzd29yZHMgPSBqc29uLmxvYWQob3BlbigncGFzc3dv
cmRzLmpzb24nKSkKICAgICBjb25maWcgPSBqc29uLmxvYWQob3BlbignY29uZmlnLmpzb24nKSkK
IAogICAgIGNbJ3NsYXZlcyddID0gW0J1aWxkU2xhdmUoc2xhdmVbJ25hbWUnXSwgcGFzc3dvcmRz
W3NsYXZlWyduYW1lJ11dLCBtYXhfYnVpbGRzPTEpIGZvciBzbGF2ZSBpbiBjb25maWdbJ3NsYXZl
cyddXQpJbmRleDogVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25m
aWcvc3RlcHNfdW5pdHRlc3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBv
cnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkJKHJldmlzaW9uIDIy
OTA0NCkKKysrIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmln
L3N0ZXBzX3VuaXR0ZXN0LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yMywzMCArMjMsMTEgQEAgY2xh
c3MgQnVpbGRCb3RDb25maWdMb2FkZXIob2JqZWN0KToKICAgICAgICAgc2NyaXB0c19kaXIgPSBv
cy5wYXRoLmpvaW4od2Via2l0X3Rvb2xzX2RpciwgJ1NjcmlwdHMnKQogICAgICAgICBzeXMucGF0
aC5hcHBlbmQoc2NyaXB0c19kaXIpCiAKLSAgICBkZWYgX21vY2tfb3BlbihzZWxmLCBmaWxlbmFt
ZSk6Ci0gICAgICAgIGlmIGZpbGVuYW1lID09ICdwYXNzd29yZHMuanNvbic6Ci0gICAgICAgICAg
ICByZXR1cm4gU3RyaW5nSU8uU3RyaW5nSU8oanNvbi5kdW1wcyhtYWtlX3Bhc3N3b3Jkc19qc29u
LmNyZWF0ZV9tb2NrX3NsYXZlX3Bhc3N3b3Jkc19kaWN0KCkpKQotICAgICAgICByZXR1cm4gX19i
dWlsdGluc19fLm9wZW4oZmlsZW5hbWUpCi0KICAgICBkZWYgX2FkZF9kZXBlbmRhbnRfbW9kdWxl
c190b19zeXNfbW9kdWxlcyhzZWxmKToKKyAgICAgICAgc2VsZi5fYWRkX3dlYmtpdHB5X3RvX3N5
c19wYXRoKCkKICAgICAgICAgZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5LmF1dG9pbnN0YWxsZWQg
aW1wb3J0IGJ1aWxkYm90CiAgICAgICAgIHN5cy5tb2R1bGVzWydidWlsZGJvdCddID0gYnVpbGRi
b3QKIAotICAgIGRlZiBsb2FkX2NvbmZpZyhzZWxmLCBtYXN0ZXJfY2ZnX3BhdGgpOgotICAgICAg
ICAjIEJlZm9yZSB3ZSBjYW4gdXNlIHdlYmtpdHB5LnRoaXJkcGFydHksIHdlIG5lZWQgdG8gZml4
IG91ciBwYXRoIHRvIGluY2x1ZGUgd2Via2l0cHkuCi0gICAgICAgICMgRklYTUU6IElmIHdlJ3Jl
IGV2ZXIgcnVuIGJ5IHRlc3Qtd2Via2l0cHkgd2Ugd29uJ3QgbmVlZCB0aGlzIHN0ZXAuCi0gICAg
ICAgIHNlbGYuX2FkZF93ZWJraXRweV90b19zeXNfcGF0aCgpCi0gICAgICAgICMgbWFzdGVyLmNm
ZyBleHBlY3RzIHRoZSBidWlsZGJvdCBtb2R1bGUgdG8gYmUgaW4gc3lzLnBhdGguCi0gICAgICAg
IHNlbGYuX2FkZF9kZXBlbmRhbnRfbW9kdWxlc190b19zeXNfbW9kdWxlcygpCi0KLSAgICAgICAg
IyBtYXN0ZXIuY2ZnIGV4cGVjdHMgYSBwYXNzd29yZHMuanNvbiBmaWxlIHdoaWNoIGlzIG5vdCBj
aGVja2VkIGluLiAgRmFrZSBpdCBieSBtb2NraW5nIG9wZW4oKS4KLSAgICAgICAgZ2xvYmFscygp
WydvcGVuJ10gPSBzZWxmLl9tb2NrX29wZW4KLSAgICAgICAgIyBCZWNhdXNlIHRoZSBtYXN0ZXJf
Y2ZnX3BhdGggbWF5IGhhdmUgJy4nIGluIGl0cyBuYW1lLCB3ZSBjYW4ndCBqdXN0IHVzZSBpbXBv
cnQsIHdlIGhhdmUgdG8gdXNlIGV4ZWNmaWxlLgotICAgICAgICAjIFdlIHBhc3MgZ2xvYmFscygp
IGFzIGJvdGggdGhlIGdsb2JhbHMgYW5kIGxvY2FscyB0byBtaW1pYyBleGVjdHV0aW5nIGluIHRo
ZSBnbG9iYWwgc2NvcGUsIHNvCi0gICAgICAgICMgdGhhdCBnbG9iYWxzIGRlZmluZWQgaW4gbWFz
dGVyLmNmZyB3aWxsIGJlIGdsb2JhbCB0byB0aGlzIGZpbGUgdG9vLgotICAgICAgICBleGVjZmls
ZShtYXN0ZXJfY2ZnX3BhdGgsIGdsb2JhbHMoKSwgZ2xvYmFscygpKQotICAgICAgICBnbG9iYWxz
KClbJ29wZW4nXSA9IF9fYnVpbHRpbnNfXy5vcGVuICAjIFN0b3AgbW9ja2luZyBvcGVuKCkuCi0K
IAogY2xhc3MgUnVuV2ViS2l0VGVzdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYg
dGVzdF9ucnd0X2xlYWtzX3BhcnNpbmcoc2VsZik6CkBAIC01NDksNyArNTMwLDEwIEBAIGNsYXNz
IFJ1bkJlbmNobWFya1Rlc3QodW5pdHRlc3QuVGVzdENhc2UKICMgJ2J1aWxkLndlYmtpdC5vcmct
Y29uZmlnJyBpcyBub3QgYSB2YWxpZCBtb2R1bGUgbmFtZSAoZHVlIHRvICcuJyBhbmQgJy0nKQog
IyBzbyBmb3Igbm93IHRoaXMgaXMgYSBzdGFuZC1hbG9uZSB0ZXN0IGhhcm5lc3MuCiBpZiBfX25h
bWVfXyA9PSAnX19tYWluX18nOgotICAgIEJ1aWxkQm90Q29uZmlnTG9hZGVyKCkubG9hZF9jb25m
aWcoJ21hc3Rlci5jZmcnKQorICAgIEJ1aWxkQm90Q29uZmlnTG9hZGVyKCkuX2FkZF9kZXBlbmRh
bnRfbW9kdWxlc190b19zeXNfbW9kdWxlcygpCisgICAgZnJvbSBsb2FkQ29uZmlnIGltcG9ydCAq
CisgICAgYyA9IHt9CisgICAgbG9hZEJ1aWxkZXJDb25maWcoYywgaXNfdGVzdF9tb2RlX2VuYWJs
ZWQ9VHJ1ZSkKICAgICBCdWlsZFN0ZXBzQ29uc3RydWN0b3JUZXN0LmdlbmVyYXRlVGVzdHMoKQog
ICAgIEJ1aWxkU3RlcHNUZXN0LmdlbmVyYXRlVGVzdHMoKQogICAgIHVuaXR0ZXN0Lm1haW4oKQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>335970</attachid>
            <date>2018-03-16 14:38:58 -0700</date>
            <delta_ts>2018-04-24 13:15:08 -0700</delta_ts>
            <desc>Updated patch</desc>
            <filename>password_unit_test_v2.patch</filename>
            <type>text/plain</type>
            <size>4712</size>
            <attacher name="Aakash Jain">aakash_jain</attacher>
            
              <data encoding="base64">SW5kZXg6IFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9DaGFuZ2VMb2cJKHJl
dmlzaW9uIDIyOTY4MykKKysrIFRvb2xzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE3IEBACisyMDE4LTAyLTI2ICBBYWthc2ggSmFpbiAgPGFha2FzaF9qYWluQGFwcGxlLmNv
bT4KKworICAgICAgICBbYnVpbGQud2Via2l0Lm9yZ10gdW5pdC10ZXN0cyBmYWlsIHdoZW4gcGFz
c3dvcmRzLmpzb24gaXMgbWlzc2luZworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTgwMzkwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZp
Zy9sb2FkQ29uZmlnLnB5OgorICAgICAgICAobG9hZEJ1aWxkZXJDb25maWcpOiBBZGQgc3VwcG9y
dCBmb3IgdGVzdF9tb2RlLiBMb2FkIG1vY2sgcGFzc3dvcmRzIGluIHRlc3RfbW9kZS4KKyAgICAg
ICAgKiBCdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9zdGVwc191bml0
dGVzdC5weToKKyAgICAgICAgKEJ1aWxkQm90Q29uZmlnTG9hZGVyLl9hZGRfZGVwZW5kYW50X21v
ZHVsZXNfdG9fc3lzX21vZHVsZXMpOiBDYWxsIF9hZGRfd2Via2l0cHlfdG9fc3lzX3BhdGggYXMg
d2VsbC4KKyAgICAgICAgKEJ1aWxkQm90Q29uZmlnTG9hZGVyLl9tb2NrX29wZW4pOiBEZWxldGVk
LgorICAgICAgICAoQnVpbGRCb3RDb25maWdMb2FkZXIubG9hZF9jb25maWcpOiBEZWxldGVkLgor
CiAyMDE4LTAzLTE2ICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAgICAg
V2ViS2l0LlJlc3RvcmVTZXNzaW9uU3RhdGVDb250YWluaW5nU2Nyb2xsUmVzdG9yYXRpb25EZWZh
dWx0IEFQSSB0ZXN0IGlzIGZhaWxpbmcgd2l0aCBhc3luYyBwb2xpY3kgZGVsZWdhdGVzCkluZGV4
OiBUb29scy9CdWlsZFNsYXZlU3VwcG9ydC9idWlsZC53ZWJraXQub3JnLWNvbmZpZy9sb2FkQ29u
ZmlnLnB5Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFRvb2xzL0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtp
dC5vcmctY29uZmlnL2xvYWRDb25maWcucHkJKHJldmlzaW9uIDIyOTY4MykKKysrIFRvb2xzL0J1
aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL2xvYWRDb25maWcucHkJKHdv
cmtpbmcgY29weSkKQEAgLTMzLDYgKzMzLDcgQEAgaW1wb3J0IGpzb24KIGltcG9ydCBvcGVyYXRv
cgogCiBmcm9tIGNvbW1pdHRlcl9hdXRoIGltcG9ydCBDb21taXR0ZXJBdXRoCitpbXBvcnQgbWFr
ZV9wYXNzd29yZHNfanNvbgogaW1wb3J0IHdrYnVpbGQKIAogdHJ1bmtfZmlsdGVyID0gQ2hhbmdl
RmlsdGVyKGJyYW5jaD1bInRydW5rIiwgTm9uZV0pCkBAIC00Miw5ICs0MywxMiBAQCBkZWYgcGlj
a0xhdGVzdEJ1aWxkKGJ1aWxkZXIsIHJlcXVlc3RzKToKICAgICByZXR1cm4gbWF4KHJlcXVlc3Rz
LCBrZXk9b3BlcmF0b3IuYXR0cmdldHRlcigic3VibWl0dGVkQXQiKSkKIAogCi1kZWYgbG9hZEJ1
aWxkZXJDb25maWcoYyk6CitkZWYgbG9hZEJ1aWxkZXJDb25maWcoYywgdGVzdF9tb2RlX2lzX2Vu
YWJsZWQ9RmFsc2UpOgogICAgICMgRklYTUU6IFRoZXNlIGZpbGUgaGFuZGxlcyBhcmUgbGVha2Vk
LgotICAgIHBhc3N3b3JkcyA9IGpzb24ubG9hZChvcGVuKCdwYXNzd29yZHMuanNvbicpKQorICAg
IGlmIHRlc3RfbW9kZV9pc19lbmFibGVkOgorICAgICAgICBwYXNzd29yZHMgPSBtYWtlX3Bhc3N3
b3Jkc19qc29uLmNyZWF0ZV9tb2NrX3NsYXZlX3Bhc3N3b3Jkc19kaWN0KCkKKyAgICBlbHNlOgor
ICAgICAgICBwYXNzd29yZHMgPSBqc29uLmxvYWQob3BlbigncGFzc3dvcmRzLmpzb24nKSkKICAg
ICBjb25maWcgPSBqc29uLmxvYWQob3BlbignY29uZmlnLmpzb24nKSkKIAogICAgIGNbJ3NsYXZl
cyddID0gW0J1aWxkU2xhdmUoc2xhdmVbJ25hbWUnXSwgcGFzc3dvcmRzW3NsYXZlWyduYW1lJ11d
LCBtYXhfYnVpbGRzPTEpIGZvciBzbGF2ZSBpbiBjb25maWdbJ3NsYXZlcyddXQpJbmRleDogVG9v
bHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRl
c3QucHkKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gVG9vbHMvQnVpbGRTbGF2ZVN1cHBvcnQvYnVpbGQud2Via2l0
Lm9yZy1jb25maWcvc3RlcHNfdW5pdHRlc3QucHkJKHJldmlzaW9uIDIyOTY4MykKKysrIFRvb2xz
L0J1aWxkU2xhdmVTdXBwb3J0L2J1aWxkLndlYmtpdC5vcmctY29uZmlnL3N0ZXBzX3VuaXR0ZXN0
LnB5CSh3b3JraW5nIGNvcHkpCkBAIC0yMywzMCArMjMsMTEgQEAgY2xhc3MgQnVpbGRCb3RDb25m
aWdMb2FkZXIob2JqZWN0KToKICAgICAgICAgc2NyaXB0c19kaXIgPSBvcy5wYXRoLmpvaW4od2Vi
a2l0X3Rvb2xzX2RpciwgJ1NjcmlwdHMnKQogICAgICAgICBzeXMucGF0aC5hcHBlbmQoc2NyaXB0
c19kaXIpCiAKLSAgICBkZWYgX21vY2tfb3BlbihzZWxmLCBmaWxlbmFtZSk6Ci0gICAgICAgIGlm
IGZpbGVuYW1lID09ICdwYXNzd29yZHMuanNvbic6Ci0gICAgICAgICAgICByZXR1cm4gU3RyaW5n
SU8uU3RyaW5nSU8oanNvbi5kdW1wcyhtYWtlX3Bhc3N3b3Jkc19qc29uLmNyZWF0ZV9tb2NrX3Ns
YXZlX3Bhc3N3b3Jkc19kaWN0KCkpKQotICAgICAgICByZXR1cm4gX19idWlsdGluc19fLm9wZW4o
ZmlsZW5hbWUpCi0KLSAgICBkZWYgX2FkZF9kZXBlbmRhbnRfbW9kdWxlc190b19zeXNfbW9kdWxl
cyhzZWxmKToKKyAgICBkZWYgX2FkZF9kZXBlbmRlbnRfbW9kdWxlc190b19zeXNfbW9kdWxlcyhz
ZWxmKToKKyAgICAgICAgc2VsZi5fYWRkX3dlYmtpdHB5X3RvX3N5c19wYXRoKCkKICAgICAgICAg
ZnJvbSB3ZWJraXRweS50aGlyZHBhcnR5LmF1dG9pbnN0YWxsZWQgaW1wb3J0IGJ1aWxkYm90CiAg
ICAgICAgIHN5cy5tb2R1bGVzWydidWlsZGJvdCddID0gYnVpbGRib3QKIAotICAgIGRlZiBsb2Fk
X2NvbmZpZyhzZWxmLCBtYXN0ZXJfY2ZnX3BhdGgpOgotICAgICAgICAjIEJlZm9yZSB3ZSBjYW4g
dXNlIHdlYmtpdHB5LnRoaXJkcGFydHksIHdlIG5lZWQgdG8gZml4IG91ciBwYXRoIHRvIGluY2x1
ZGUgd2Via2l0cHkuCi0gICAgICAgICMgRklYTUU6IElmIHdlJ3JlIGV2ZXIgcnVuIGJ5IHRlc3Qt
d2Via2l0cHkgd2Ugd29uJ3QgbmVlZCB0aGlzIHN0ZXAuCi0gICAgICAgIHNlbGYuX2FkZF93ZWJr
aXRweV90b19zeXNfcGF0aCgpCi0gICAgICAgICMgbWFzdGVyLmNmZyBleHBlY3RzIHRoZSBidWls
ZGJvdCBtb2R1bGUgdG8gYmUgaW4gc3lzLnBhdGguCi0gICAgICAgIHNlbGYuX2FkZF9kZXBlbmRh
bnRfbW9kdWxlc190b19zeXNfbW9kdWxlcygpCi0KLSAgICAgICAgIyBtYXN0ZXIuY2ZnIGV4cGVj
dHMgYSBwYXNzd29yZHMuanNvbiBmaWxlIHdoaWNoIGlzIG5vdCBjaGVja2VkIGluLiAgRmFrZSBp
dCBieSBtb2NraW5nIG9wZW4oKS4KLSAgICAgICAgZ2xvYmFscygpWydvcGVuJ10gPSBzZWxmLl9t
b2NrX29wZW4KLSAgICAgICAgIyBCZWNhdXNlIHRoZSBtYXN0ZXJfY2ZnX3BhdGggbWF5IGhhdmUg
Jy4nIGluIGl0cyBuYW1lLCB3ZSBjYW4ndCBqdXN0IHVzZSBpbXBvcnQsIHdlIGhhdmUgdG8gdXNl
IGV4ZWNmaWxlLgotICAgICAgICAjIFdlIHBhc3MgZ2xvYmFscygpIGFzIGJvdGggdGhlIGdsb2Jh
bHMgYW5kIGxvY2FscyB0byBtaW1pYyBleGVjdHV0aW5nIGluIHRoZSBnbG9iYWwgc2NvcGUsIHNv
Ci0gICAgICAgICMgdGhhdCBnbG9iYWxzIGRlZmluZWQgaW4gbWFzdGVyLmNmZyB3aWxsIGJlIGds
b2JhbCB0byB0aGlzIGZpbGUgdG9vLgotICAgICAgICBleGVjZmlsZShtYXN0ZXJfY2ZnX3BhdGgs
IGdsb2JhbHMoKSwgZ2xvYmFscygpKQotICAgICAgICBnbG9iYWxzKClbJ29wZW4nXSA9IF9fYnVp
bHRpbnNfXy5vcGVuICAjIFN0b3AgbW9ja2luZyBvcGVuKCkuCi0KIAogY2xhc3MgUnVuV2ViS2l0
VGVzdHNUZXN0KHVuaXR0ZXN0LlRlc3RDYXNlKToKICAgICBkZWYgdGVzdF9ucnd0X2xlYWtzX3Bh
cnNpbmcoc2VsZik6CkBAIC01NDksNyArNTMwLDEwIEBAIGNsYXNzIFJ1bkJlbmNobWFya1Rlc3Qo
dW5pdHRlc3QuVGVzdENhc2UKICMgJ2J1aWxkLndlYmtpdC5vcmctY29uZmlnJyBpcyBub3QgYSB2
YWxpZCBtb2R1bGUgbmFtZSAoZHVlIHRvICcuJyBhbmQgJy0nKQogIyBzbyBmb3Igbm93IHRoaXMg
aXMgYSBzdGFuZC1hbG9uZSB0ZXN0IGhhcm5lc3MuCiBpZiBfX25hbWVfXyA9PSAnX19tYWluX18n
OgotICAgIEJ1aWxkQm90Q29uZmlnTG9hZGVyKCkubG9hZF9jb25maWcoJ21hc3Rlci5jZmcnKQor
ICAgIEJ1aWxkQm90Q29uZmlnTG9hZGVyKCkuX2FkZF9kZXBlbmRlbnRfbW9kdWxlc190b19zeXNf
bW9kdWxlcygpCisgICAgZnJvbSBsb2FkQ29uZmlnIGltcG9ydCAqCisgICAgYyA9IHt9CisgICAg
bG9hZEJ1aWxkZXJDb25maWcoYywgdGVzdF9tb2RlX2lzX2VuYWJsZWQ9VHJ1ZSkKICAgICBCdWls
ZFN0ZXBzQ29uc3RydWN0b3JUZXN0LmdlbmVyYXRlVGVzdHMoKQogICAgIEJ1aWxkU3RlcHNUZXN0
LmdlbmVyYXRlVGVzdHMoKQogICAgIHVuaXR0ZXN0Lm1haW4oKQo=
</data>

          </attachment>
      

    </bug>

</bugzilla>