From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Robert Burks Newsgroups: gmane.emacs.bugs Subject: bug#70187: [PATCH] Fix + ert for 'makunbound' and "local if set" notification bugs (6 of 9) Date: Thu, 4 Apr 2024 04:46:26 -0400 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="0000000000008f4e9406154164f3" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="19829"; mail-complaints-to="usenet@ciao.gmane.io" To: 70187@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Thu Apr 04 11:18:42 2024 Return-path: Envelope-to: geb-bug-gnu-emacs@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1rsJF2-0004vD-42 for geb-bug-gnu-emacs@m.gmane-mx.org; Thu, 04 Apr 2024 11:18:40 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1rsJEU-0007yp-Pz; Thu, 04 Apr 2024 05:18:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rsJET-0007yC-P0 for bug-gnu-emacs@gnu.org; Thu, 04 Apr 2024 05:18:05 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rsJET-0000DQ-GR for bug-gnu-emacs@gnu.org; Thu, 04 Apr 2024 05:18:05 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1rsJEY-0004pK-AE for bug-gnu-emacs@gnu.org; Thu, 04 Apr 2024 05:18:10 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Robert Burks Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Thu, 04 Apr 2024 09:18:09 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 70187 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch X-Debbugs-Original-To: GNU BUGS Original-Received: via spool by submit@debbugs.gnu.org id=B.171222227818329 (code B ref -1); Thu, 04 Apr 2024 09:18:09 +0000 Original-Received: (at submit) by debbugs.gnu.org; 4 Apr 2024 09:17:58 +0000 Original-Received: from localhost ([127.0.0.1]:60541 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rsJEL-0004lR-9O for submit@debbugs.gnu.org; Thu, 04 Apr 2024 05:17:57 -0400 Original-Received: from lists.gnu.org ([2001:470:142::17]:56066) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1rsIlJ-0001yQ-TB for submit@debbugs.gnu.org; Thu, 04 Apr 2024 04:47:59 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1rsIl9-0002ry-Mn for bug-gnu-emacs@gnu.org; Thu, 04 Apr 2024 04:47:47 -0400 Original-Received: from mail-qv1-xf33.google.com ([2607:f8b0:4864:20::f33]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1rsIl7-0002I8-L8 for bug-gnu-emacs@gnu.org; Thu, 04 Apr 2024 04:47:47 -0400 Original-Received: by mail-qv1-xf33.google.com with SMTP id 6a1803df08f44-696499bd61eso4229266d6.0 for ; Thu, 04 Apr 2024 01:47:45 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1712220464; x=1712825264; darn=gnu.org; h=to:subject:message-id:date:from:mime-version:from:to:cc:subject :date:message-id:reply-to; bh=RCd/wnZgff5WwJYFHfY9cQckhdmQ7biNRiJzhv7EpRo=; b=aDcOFvpyxx2iUxJKG4hLThqgtFZhOkyZTPn6f6sCpUdCqzXdBkBEd8vOPnzgM4ky2C 4nL4XArdU/lXN4SxNeOXFdHXU0bWsCADTVAw4ottk45Y66vnud2ViPVDj1mnL3Kgw7Rj 5CzAesCwHCe3WKADuw7vOkml8JTRmMRZiyxx+1nrj/Zza3xzlR4tL1NN9Pvv9PRbwuK8 Wgem+BM8tuClDsjAgKcLljwRsvVEC6PjzHuGrqaaSnESckAYlmdJ7cu2wmbyz9kru2oD 7hDShqN6eBxrrdUUkGG087ynqo3F+Bjf/PsYD5q3ek6cBnFWPtR9u7d0Dt4piRkqE0oQ xX7A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1712220464; x=1712825264; h=to:subject:message-id:date:from:mime-version:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=RCd/wnZgff5WwJYFHfY9cQckhdmQ7biNRiJzhv7EpRo=; b=fwmTevt2aGVbVs7EdovIY+WnRzIy0KKctRp6XOfwxTPZgyi5iZQeU4RhjSS8i3pMqz 5c0/qd0V3EBZN7/l9pi02o8mOd/+yxzSmWg1saP0Sq57hPqrPqWK5KYXYpmpfc97yLNY GhiqK5b3dTj9BLaKkRfJMMDfO0R9iujCorvg/MKwt0DoYAQBBC9KYm0DbSD8lA4ql4Ap y4SWJPkTDMNFufFRS7hPVqYqt6UlqzoI0X4i/kUBWY6CPUw4v4tzy59IR4GhfeLoCnbp 657zc5Swcm6OFGLFSIkPkuPqD58zFkGLEoQn/4ABhdGzvLNh3Gs4akNuAFTBq5oD473o 1j0Q== X-Gm-Message-State: AOJu0YyW40LDNeZc18KKIxhOZtSRuhzssTp8wovLSE4J7NVMfMY6zMZR J/fTfgjoXYyUCQtsVTH/1oRFHZNUcIvPiM+FqMZjfKt7Ky0i499EtUYoH8RaT7+GR2cWbuYAogS zIoJFVgFi8ER78qtYWYu9prb2U+/u1+U= X-Google-Smtp-Source: AGHT+IGSVWF6gNdV1McQmUnHrXEFDkiDBOfj6yzslZ+/sfogeMwjSYi7K2gSI+b5qaCdo3p+KLr0S76WRa1z/2ukpJg= X-Received: by 2002:a05:6214:19e9:b0:696:8cae:c320 with SMTP id q9-20020a05621419e900b006968caec320mr1883814qvc.39.1712220464414; Thu, 04 Apr 2024 01:47:44 -0700 (PDT) Received-SPF: pass client-ip=2607:f8b0:4864:20::f33; envelope-from=rburksdev@gmail.com; helo=mail-qv1-xf33.google.com X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Mailman-Approved-At: Thu, 04 Apr 2024 05:17:46 -0400 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:282628 Archived-At: --0000000000008f4e9406154164f3 Content-Type: multipart/alternative; boundary="0000000000008f4e9306154164f1" --0000000000008f4e9306154164f1 Content-Type: text/plain; charset="UTF-8" (6 of 9) Bug#00005 (Buffer local makunbounds lack 'where' in notification) ** Bug recreations are at the end It wasn't until the last line of the test for the previous bug until I realized these existed. I have included a patch to fix this bug and the prior along with ert. I have also included a patch that corrects an incorrect testing assumption. This is the only existing should form that I have found that was in error. (This subject widely lacked testing previously.) When a "local if set" variable or variable made local to a specific buffer is unbound in a buffer the notification should contain the location. This bug could only be solved after the others as prior to my changes notification was handled in aggregate at the top of set functions. Handling these bugs was dependent on notification being handled based on the redirect path. This could actually be applied after "bug#00001", I just worked on this last (It took a bit of gdb tracing to root out) and I didn't want to go back through and renumber all my writing. (During proofreading way later I laughed because there ended up being far more after this.) I have also included ert for previously untested error cases in set_internal, set_default_internal, and defvaralias. Patch 0016: Fix for bugs 00004 and 00005 (four(4) places require bug# update) Patch 0017: Ert for bug#00004 (four(4) places require bug# update) Patch 0018: Corrected one 'should' form to include buffer name Patch 0019: Ert for bug#00005 (four(4) places require bug# update) Patch 0020: Added ert for functions that lacked testing code coverage for basic input errors. Bug Recreation------------------------------------------------------------------ Watched variable becoming local in some buffer then being unbound. --------------------------------------------------------------------------------------- (defvar test 5) test (defvar results nil) results (add-variable-watcher 'test (lambda (&rest args) (push args results))) nil (with-temp-buffer (make-local-variable 'test) (set 'test 100) (makunbound 'test)) test 5 (set 'test 100) 100 results ((test 100 set nil) (test nil makunbound nil) (test 100 set #)) ;; test is still bound in this buffer but 'where' is 'nil', it was unbound in the temp buffer. ;; The final set shows nil as it should for a global. (set 'results nil) nil (with-temp-buffer (make-local-variable 'test) (set 'test 100) (makunbound 'test) (set 'test 200)) 200 test 100 (set 'test 300) results ((test 300 set nil) (test 200 set #) (test nil makunbound nil) (test 100 set #)) ;; a watcher needs to know where this makunbound happened. --------------------------------------------------------------------------------------- A "local if set" become unbound in some buffer, --------------------------------------------------------------------------------------- (defvar-local test 5) test (defvar results nil) results (add-variable-watcher 'test (lambda (&rest args) (push args results))) nil (with-temp-buffer (set 'test 100) (makunbound 'test)) test (set 'test 100) 100 results ((test 100 set #) (test nil makunbound nil) (test 100 set #)) (set 'results nil) nil (with-temp-buffer (set 'test 100) (makunbound 'test) (set 'test 200)) 200 test 100 (set 'test 300) 300 results ((test 300 set #) (test 200 set #) (test nil makunbound nil) (test 100 set #)) --0000000000008f4e9306154164f1 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
(6 of 9)

Bug#00005 (Buffer local makunbounds lack &= #39;where' in notification)
** Bug recreations are at the end =C2=A0= =C2=A0 =C2=A0 =C2=A0 =C2=A0

It wasn't until the last line of t= he test for the previous bug until I realized
these existed. I have incl= uded a patch to fix this bug and the prior along with
ert.=C2=A0 I have = also included a patch that corrects an incorrect testing assumption.
Thi= s is the only existing should form that I have found that was in error.
= (This subject widely lacked testing previously.)

When a "local = if set" variable or variable made local to a specific buffer is
unb= ound in a buffer the notification should contain the location.

This = bug could only be solved after the others as prior to my changes
notific= ation was handled in aggregate at the top of set functions.=C2=A0 Handling = these
bugs was dependent on notification being handled based on the redi= rect path. This
could actually be applied after "bug#00001", I= just worked on this last (It took
a bit of gdb tracing to root out) and= I didn't want to go back through and
renumber all my writing. (Duri= ng proofreading way later I laughed because there
ended up being far mor= e after this.)

I have also included ert for previously untested erro= r cases in set_internal,
set_default_internal, and defvaralias.

= Patch 0016: Fix for bugs 00004 and 00005 (four(4) places require bug# updat= e)

Patch 0017: Ert for bug#00004 (four(4) places require bug# update= )

Patch 0018: Corrected one 'should' form to include buffer = name

Patch 0019: Ert for bug#00005 (four(4) places require bug# upda= te)

Patch 0020: Added ert for functions that lacked testing code cov= erage for
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 basic input errors.<= br>
Bug Recreation------------------------------------------------------= ------------

Watched variable becoming local in some buffer then bei= ng unbound.
------------------------------------------------------------= ---------------------------
(defvar test 5)
test

(defvar resul= ts nil)
results

(add-variable-watcher 'test (lambda (&res= t args)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (push args results)))
nil
<= br>(with-temp-buffer
=C2=A0 (make-local-variable 'test)
=C2=A0 (s= et 'test 100)
=C2=A0 (makunbound 'test))
test
5

(se= t 'test 100)
100

results
((test 100 set nil) (test nil mak= unbound nil) (test 100 set #<killed buffer>))
;; test is stil= l bound in this buffer but 'where' is 'nil', it was unbound= in the temp buffer.=C2=A0
;; The final set shows nil as it shoul= d for a global.

(set 'results nil)
nil

(with-temp-bu= ffer
=C2=A0 (make-local-variable 'test)
=C2=A0 (set 'test 100= )
=C2=A0 (makunbound 'test)
=C2=A0 (set 'test 200))
200
test
100

(set 'test 300)

results
((test 300 se= t nil) (test 200 set #<killed buffer>) (test nil makunbound nil) (tes= t 100 set #<killed buffer>))
;; a watcher needs to know where this= makunbound happened.

----------------------------------------------= -----------------------------------------
A "local if set" bec= ome unbound in some buffer,
--------------------------------------------= -------------------------------------------
(defvar-local test 5)
tes= t

(defvar results nil)
results

(add-variable-watcher '= test (lambda (&rest args)
=C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 = =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0 (push args r= esults)))
nil

(with-temp-buffer
=C2=A0 (set 'test 100)
= =C2=A0 (makunbound 'test))
test

(set 'test 100)
100
results
((test 100 set #<buffer *scratch*>) (test nil makunbo= und nil) (test 100 set #<killed buffer>))

(set 'results ni= l)
nil

(with-temp-buffer
=C2=A0 (set 'test 100)
=C2=A0 = (makunbound 'test)
=C2=A0 (set 'test 200))
200

test100

(set 'test 300)
300

results
((test 300 set #&l= t;buffer *scratch*>) (test 200 set #<killed buffer>) (test nil mak= unbound nil) (test 100 set #<killed buffer>))
--0000000000008f4e9306154164f1-- --0000000000008f4e9406154164f3 Content-Type: application/x-patch; name="0017-Added-ert-for-no-blv-watcher-unlet-notification-BUG-.patch" Content-Disposition: attachment; filename="0017-Added-ert-for-no-blv-watcher-unlet-notification-BUG-.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lukw9ol73 RnJvbSAyZjZmMDhlZmZkNDRmM2Y3YTIzNTIwZjg5MmI3OGI5ZjRlMWY1NjBlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUm9iZXJ0IEEuIEJ1cmtzIiA8cmJ1cmtzZGV2QGdtYWlsLmNv bT4KRGF0ZTogU2F0LCAxNiBNYXIgMjAyNCAxOToyNzo0MyAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MTcvMzFdICogQWRkZWQgZXJ0IGZvciBubyBibHYgd2F0Y2hlciB1bmxldCBub3RpZmljYXRpb24K IChCVUcjMDAwMDQpCgoqIHRlc3Qvc3JjL2RhdGEtdGVzdHMuZWwgKGRhdGEtdGVzdHMtbG9jYWwt dmFyaWFibGUtd2F0Y2hlci1idWcwMDAwNCk6Ci0tLQogdGVzdC9zcmMvZGF0YS10ZXN0cy5lbCB8 IDUzICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNo YW5nZWQsIDUzIGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90ZXN0L3NyYy9kYXRhLXRlc3Rz LmVsIGIvdGVzdC9zcmMvZGF0YS10ZXN0cy5lbAppbmRleCA2ZTBlNDVmMjdlYi4uM2IyYzhlMjZj MjggMTAwNjQ0Ci0tLSBhL3Rlc3Qvc3JjL2RhdGEtdGVzdHMuZWwKKysrIGIvdGVzdC9zcmMvZGF0 YS10ZXN0cy5lbApAQCAtODUyLDYgKzg1Miw1OSBAQCBkYXRhLXRlc3RzLXZhcmFsaWFzLWNoYWlu cy1idWcwMDAwMwogICAgIChzaG91bGQgKGVxdWFsIChwb3AgcjEpIGAoLHYyIDEwMDAgc2V0IG5p bCkpKQogICAgIChzaG91bGQgKG51bGwgcjEpKSkpCiAKKzs7IEJVRyMwMDAwNCBUZXN0IGZvciBu byBjb3JyZXNwb25kaW5nIHVubGV0IGJ1ZworOzsgVGhlIGxhc3QgY2FzZSBpcyB1bmJvdW5kIGlu IHRoZSBvcmlnaW5hbCBidWZmZXIsIHRoaXMgZGlmZmVycyBmcm9tOgorOzsgKGRlZnZhciBmb28p Cis7OyAobWFrZS12YXJpYWJsZS1idWZmZXItbG9jYWwgJ2ZvbykKKzs7IGFzIHRoYXQgd291bGQg YXNzaWduIG5pbCBhcyBmb28ncyBkZWZhdWx0IHZhbHVlIHJhdGhlciB0aGFuIGFzc2lnbgorOzsg dW5ib3VuZCBpbiBhIHNwZWNpZmljIGJ1ZmZlci4KKyhlcnQtZGVmdGVzdCBkYXRhLXRlc3RzLWxv Y2FsLXZhcmlhYmxlLXdhdGNoZXItYnVnMDAwMDQgKCkKKyAgKGxldCogKChyMSBuaWwpICAgICAg IDs7IHJlc3VsdHMKKyAgICAgICAgIChiMSBuaWwpICAgICAgIDs7IGJ1ZmZlcgorICAgICAgICAg KHYxIChnZW5zeW0pKQorICAgICAgICAgKGYxIChsYW1iZGEgKCZyZXN0IGFyZ3MpIChwdXNoIGFy Z3MgcjEpKSkpCisgICAgKHNldCB2MSAxMDApCisgICAgKHdpdGgtbm8td2FybmluZ3MKKyAgICAg IChtYWtlLXZhcmlhYmxlLWJ1ZmZlci1sb2NhbCB2MSkpCisgICAgKGFkZC12YXJpYWJsZS13YXRj aGVyIHYxIGYxKQorICAgIDs7IExJUyAnbGV0JyBpbiB0aGlzIGJ1ZmZlciAoc2hhZG93cyBkZWZh dWx0KS4KKyAgICAoZXZhbCBgKGxldCAoKCx2MSA5MDApKQorICAgICAgICAgICAgIChzZXQgJyx2 MSA2MDApKSkKKyAgICAoc2hvdWxkIChlcXVhbCAocG9wIHIxKSBgKCx2MSAxMDAgdW5sZXQgbmls KSkpCisgICAgKHNob3VsZCAoZXF1YWwgKHBvcCByMSkgYCgsdjEgNjAwIHNldCBuaWwpKSkKKyAg ICAoc2hvdWxkIChlcXVhbCAocG9wIHIxKSBgKCx2MSA5MDAgbGV0IG5pbCkpKQorICAgIChzaG91 bGQgKG51bGwgIHIxKSkKKyAgICA7OyBMSVMgJ2xldCcgaW4gc29tZSBidWZmZXIgKHNoYWRvd3Mg ZGVmYXVsdCkuCisgICAgKHdpdGgtdGVtcC1idWZmZXIKKyAgICAgIChldmFsIGAobGV0ICgoLHYx IDkwMCkpCisgICAgICAgICAgICAgICAoc2V0ICcsdjEgNjAwKSkpKQorICAgIChzaG91bGQgKGVx dWFsIChwb3AgcjEpIGAoLHYxIDEwMCB1bmxldCBuaWwpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAo cG9wIHIxKSBgKCx2MSA2MDAgc2V0IG5pbCkpKQorICAgIChzaG91bGQgKGVxdWFsIChwb3AgcjEp IGAoLHYxIDkwMCBsZXQgbmlsKSkpCisgICAgKHNob3VsZCAobnVsbCAgcjEpKQorICAgIDs7IExJ UyBzZXQgaW4gc29tZSBidWZmZXIgdGhlbiAnbGV0Jy4KKyAgICAod2l0aC10ZW1wLWJ1ZmZlcgor ICAgICAgKHNldHEgYjEgKGN1cnJlbnQtYnVmZmVyKSkKKyAgICAgIChzZXQgdjEgMjAwKQorICAg ICAgKGV2YWwgYChsZXQgKCgsdjEgOTAwKSkKKyAgICAgICAgICAgICAgIChzZXQgJyx2MSA2MDAp KSkpCisgICAgKHNob3VsZCAoZXF1YWwgKHBvcCByMSkgYCgsdjEgMjAwIHVubGV0ICxiMSkpKQor ICAgIChzaG91bGQgKGVxdWFsIChwb3AgcjEpIGAoLHYxIDYwMCBzZXQgLGIxKSkpCisgICAgKHNo b3VsZCAoZXF1YWwgKHBvcCByMSkgYCgsdjEgOTAwIGxldCAsYjEpKSkKKyAgICAoc2hvdWxkIChl cXVhbCAocG9wIHIxKSBgKCx2MSAyMDAgc2V0ICxiMSkpKQorICAgIChzaG91bGQgKG51bGwgIHIx KSkKKyAgICA7OyBMSVMgbWFkZSB1bmJvdW5kIHRoZW4gJ2xldCcgaW4gdGhpcyBidWZmZXIuCisg ICAgOzsgKElzIHRoZSBzYW1lIGFzIHNldHRpbmcgYSBsb2NhbF9pZl9zZXQgaW4gYSBidWZmZXIp CisgICAgKHNldHEgYjEgKGN1cnJlbnQtYnVmZmVyKSkKKyAgICAobWFrdW5ib3VuZCB2MSkKKyAg ICAoZXZhbCBgKGxldCAoKCx2MSA5MDApKQorICAgICAgICAgICAgIChzZXQgJyx2MSA2MDApKSkK KyAgICAoc2hvdWxkIChlcXVhbCAocG9wIHIxKSBgKCx2MSBuaWwgdW5sZXQgLGIxKSkpCisgICAg KHNob3VsZCAoZXF1YWwgKHBvcCByMSkgYCgsdjEgNjAwIHNldCAsYjEpKSkKKyAgICAoc2hvdWxk IChlcXVhbCAocG9wIHIxKSBgKCx2MSA5MDAgbGV0ICxiMSkpKQorICAgIChzaG91bGQgKGVxdWFs IChwb3AgcjEpIGAoLHYxIG5pbCBtYWt1bmJvdW5kICxiMSkpKQorICAgIChzaG91bGQgKG51bGwg IHIxKSkpKQorCiAoZXJ0LWRlZnRlc3QgZGF0YS10ZXN0cy1raWxsLWFsbC1sb2NhbC12YXJpYWJs ZXMgKCkgO2J1ZyMzMDg0NgogICAod2l0aC10ZW1wLWJ1ZmZlcgogICAgIChzZXRxLWxvY2FsIGRh dGEtdGVzdHMtZm9vMSAxKQotLSAKMi4zNC4xCgo= --0000000000008f4e9406154164f3 Content-Type: application/x-patch; name="0019-Add-ert-for-missing-where-makunbound-watcher-bug-BUG.patch" Content-Disposition: attachment; filename="0019-Add-ert-for-missing-where-makunbound-watcher-bug-BUG.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lukw9okz1 RnJvbSAzN2M4YmMxMzgzNzhmOWRhYWJmNThiOWI2YTJmMDdlY2NjMjU1ZTg5IE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUm9iZXJ0IEEuIEJ1cmtzIiA8cmJ1cmtzZGV2QGdtYWlsLmNv bT4KRGF0ZTogTW9uLCAxOCBNYXIgMjAyNCAwMjoxNTo1OSAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MTkvMzFdICogQWRkIGVydCBmb3IgbWlzc2luZyAnd2hlcmUnIG1ha3VuYm91bmQgd2F0Y2hlciBi dWcKIChCVUcjMDAwMDUpCgoqIHRlc3Qvc3JjL2RhdGEtdGVzdHMuZWwgKGRhdGEtdGVzdHMtbWFr dW5ib3VuZC13YXRjaGVyLWJ1ZzAwMDA1KToKLS0tCiB0ZXN0L3NyYy9kYXRhLXRlc3RzLmVsIHwg MzEgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwogMSBmaWxlIGNoYW5nZWQsIDMxIGlu c2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90ZXN0L3NyYy9kYXRhLXRlc3RzLmVsIGIvdGVzdC9z cmMvZGF0YS10ZXN0cy5lbAppbmRleCAzZDkyNDMwOWMzMi4uNDE5MTNhMWE0YWQgMTAwNjQ0Ci0t LSBhL3Rlc3Qvc3JjL2RhdGEtdGVzdHMuZWwKKysrIGIvdGVzdC9zcmMvZGF0YS10ZXN0cy5lbApA QCAtOTA1LDYgKzkwNSwzNyBAQCBkYXRhLXRlc3RzLWxvY2FsLXZhcmlhYmxlLXdhdGNoZXItYnVn MDAwMDQKICAgICAoc2hvdWxkIChlcXVhbCAocG9wIHIxKSBgKCx2MSBuaWwgbWFrdW5ib3VuZCAs YjEpKSkKICAgICAoc2hvdWxkIChudWxsICByMSkpKSkKIAorOzsgQlVHIzAwMDA1CisoZXJ0LWRl ZnRlc3QgZGF0YS10ZXN0cy1tYWt1bmJvdW5kLXdhdGNoZXItYnVnMDAwMDUgICgpCisgIChsZXQq ICgocjEgbmlsKSAgICAgICA7OyByZXN1bHRzCisgICAgICAgICAoYjEgbmlsKSAgICAgICA7OyBi dWZmZXIKKyAgICAgICAgICh2MSAoZ2Vuc3ltKSkgIDs7IGxvY2FsIGluIHNvbWUgYnVmZmVyCisg ICAgICAgICAodjIgKGdlbnN5bSkpICA7OyBsb2NhbCBpZiBzZXQKKyAgICAgICAgIChmMSAobGFt YmRhICgmcmVzdCBhcmdzKSAocHVzaCBhcmdzIHIxKSkpKQorICAgICh3aXRoLW5vLXdhcm5pbmdz CisgICAgICAobWFrZS12YXJpYWJsZS1idWZmZXItbG9jYWwgdjIpKQorICAgIChhZGQtdmFyaWFi bGUtd2F0Y2hlciB2MSBmMSkKKyAgICAoYWRkLXZhcmlhYmxlLXdhdGNoZXIgdjIgZjEpCisgICAg KHdpdGgtdGVtcC1idWZmZXIKKyAgICAgIChzZXRxIGIxIChjdXJyZW50LWJ1ZmZlcikpCisgICAg ICAobWFrZS1sb2NhbC12YXJpYWJsZSB2MSkKKyAgICAgIChzZXQgdjEgMjAwKQorICAgICAgKG1h a3VuYm91bmQgdjEpKQorICAgIChtYWt1bmJvdW5kIHYxKQorICAgIChzaG91bGQgKGVxdWFsIChw b3AgcjEpIGAoLHYxIG5pbCBtYWt1bmJvdW5kIG5pbCkpKQorICAgIChzaG91bGQgKGVxdWFsIChw b3AgcjEpIGAoLHYxIG5pbCBtYWt1bmJvdW5kICxiMSkpKQorICAgIChzaG91bGQgKGVxdWFsIChw b3AgcjEpIGAoLHYxIDIwMCBzZXQgLGIxKSkpCisgICAgKHNob3VsZCAobnVsbCAgcjEpKQorICAg ICh3aXRoLXRlbXAtYnVmZmVyCisgICAgICAoc2V0cSBiMSAoY3VycmVudC1idWZmZXIpKQorICAg ICAgKHNldCB2MiAyMDApCisgICAgICAobWFrdW5ib3VuZCB2MikpCisgICAgKG1ha3VuYm91bmQg djIpCisgICAgKHNob3VsZCAoZXF1YWwgKHBvcCByMSkgYCgsdjIgbmlsIG1ha3VuYm91bmQgLChj dXJyZW50LWJ1ZmZlcikpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAocG9wIHIxKSBgKCx2MiBuaWwg bWFrdW5ib3VuZCAsYjEpKSkKKyAgICAoc2hvdWxkIChlcXVhbCAocG9wIHIxKSBgKCx2MiAyMDAg c2V0ICxiMSkpKQorICAgIChzaG91bGQgKG51bGwgIHIxKSkpKQorCiAoZXJ0LWRlZnRlc3QgZGF0 YS10ZXN0cy1raWxsLWFsbC1sb2NhbC12YXJpYWJsZXMgKCkgO2J1ZyMzMDg0NgogICAod2l0aC10 ZW1wLWJ1ZmZlcgogICAgIChzZXRxLWxvY2FsIGRhdGEtdGVzdHMtZm9vMSAxKQotLSAKMi4zNC4x Cgo= --0000000000008f4e9406154164f3 Content-Type: application/x-patch; name="0016-Fixes-for-two-variable-watcher-bugs-BUG-00004-BUG-00.patch" Content-Disposition: attachment; filename="0016-Fixes-for-two-variable-watcher-bugs-BUG-00004-BUG-00.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lukw9olb4 RnJvbSBmOGMyMWRjZTQ3M2U3ODM1YzI0MzVmZjljY2E5MmVmOWU2YzU3M2FkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUm9iZXJ0IEEuIEJ1cmtzIiA8cmJ1cmtzZGV2QGdtYWlsLmNv bT4KRGF0ZTogVGh1LCAxNCBNYXIgMjAyNCAyMTo1NjoyMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MTYvMzFdIEZpeGVzIGZvciB0d28gdmFyaWFibGUgd2F0Y2hlciBidWdzIChCVUcjMDAwMDQpCiAo QlVHIzAwMDA1KQoKKiBzcmMvZGF0YS5jIChzZXRfaW50ZXJuYWwpOiBXaWxsIG5vdyBkZXRlcm1p bmUgY2FzZSB0byBub3RpZnkgJ3doZXJlJy4KKHNldF9kZWZhdWx0X2ludGVybmFsKTogV2lsbCBu b3cgZGV0ZXJtaW5lIGNhc2UgdG8gbm90aWZ5ICd3aGVyZScKKG5vdGlmeV92YXJpYWJsZV93YXRj aGVycyk6IENhbGxpbmcgZnVuY3Rpb25zIHdpbGwgbm93IGRldGVybWluZSAnd2hlcmUnLgpWYXJp YWJsZSB3YXRjaGVycyB3aWxsIG5vdyBiZSBwcm9wZXJseSBub3RpZmllZCBvZiB0aGUgJ3VubGV0 JwooQlVHIzAwMDA0KSBhbmQgIndoZXJlIiAnbWFrdW5ib3VuZCcgb2NjdXJyZWQgKEJVRyMwMDAw NSkKZm9yIGJ1ZmZlciBsb2NhbCB2YXJpYWJsZXMuCi0tLQogc3JjL2RhdGEuYyB8IDQ2ICsrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2Vk LCAzNCBpbnNlcnRpb25zKCspLCAxMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvZGF0 YS5jIGIvc3JjL2RhdGEuYwppbmRleCBmZTlkMDk3ZWMzMC4uOWZkNDgxY2FhMTkgMTAwNjQ0Ci0t LSBhL3NyYy9kYXRhLmMKKysrIGIvc3JjL2RhdGEuYwpAQCAtMTY3MiwxMCArMTY3MiwyMiBAQCBz ZXRfaW50ZXJuYWwgKExpc3BfT2JqZWN0IHN5bWJvbCwgTGlzcF9PYmplY3QgbmV3dmFsLCBMaXNw X09iamVjdCB3aGVyZSwKIAkvKiBJZiB3YXRjaGVkIG5vdGlmeSB1bmxlc3MgdGhyZWFkIHN3aXRj aGluZy4gICovCiAJaWYgKHN5bS0+dS5zLnRyYXBwZWRfd3JpdGUgPT0gU1lNQk9MX1RSQVBQRURf V1JJVEUKIAkgICAgJiYgYmluZGZsYWcgIT0gU0VUX0lOVEVSTkFMX1RIUkVBRF9TV0lUQ0gpCi0J ICBub3RpZnlfdmFyaWFibGVfd2F0Y2hlcnMgKHN5bWJvbCwgdm9pZGU/IFFuaWwgOiBuZXd2YWws Ci0JCQkJICAgIChiaW5kZmxhZyA9PSBTRVRfSU5URVJOQUxfQklORD8gUWxldCA6Ci0JCQkJICAg ICBiaW5kZmxhZyA9PSBTRVRfSU5URVJOQUxfVU5CSU5EPyBRdW5sZXQgOgotCQkJCSAgICAgdm9p ZGU/IFFtYWt1bmJvdW5kIDogUXNldCksIHdoZXJlKTsKKwkgIHsKKwkgICAgLyogT25seSBzZXQg J3doZXJlJyBpZiB0aGVyZSBleGlzdHMgYSBsb2NhbCB2YWx1ZQorCSAgICAgICBvciBpZiB3ZSBh cmUgc2V0dGluZyBhIGxvY2FsX2lmX3NldCB3aGlsZSBub3QKKwkgICAgICAgc2hhZG93aW5nIGRl ZmF1bHQgaW4gYSBsZXQuICAqLworCSAgICBpZiAoTklMUCAod2hlcmUpCisJCSYmICghTklMUCAo RmxvY2FsX3ZhcmlhYmxlX3AgKHN5bWJvbCwgRmN1cnJlbnRfYnVmZmVyICgpKSkKKwkJICAgIHx8 IChiaW5kZmxhZyA9PSBTRVRfSU5URVJOQUxfU0VUCisJCQkmJiBibHYtPmxvY2FsX2lmX3NldAor CQkgICAgICAgICYmICFsZXRfc2hhZG93c19idWZmZXJfYmluZGluZ19wIChzeW0pKSkpCisJICAg ICAgWFNFVEJVRkZFUiAod2hlcmUsIGN1cnJlbnRfYnVmZmVyKTsKKworCSAgICBub3RpZnlfdmFy aWFibGVfd2F0Y2hlcnMgKHN5bWJvbCwgdm9pZGU/IFFuaWwgOiBuZXd2YWwsCisJCQkJICAgICAg KGJpbmRmbGFnID09IFNFVF9JTlRFUk5BTF9CSU5EPyBRbGV0IDoKKwkJCQkgICAgICAgYmluZGZs YWcgPT0gU0VUX0lOVEVSTkFMX1VOQklORD8gUXVubGV0IDoKKwkJCQkgICAgICAgdm9pZGU/IFFt YWt1bmJvdW5kIDogUXNldCksIHdoZXJlKTsKKwkgIH0KIAogCWlmIChOSUxQICh3aGVyZSkpCiAJ ICBYU0VUQlVGRkVSICh3aGVyZSwgY3VycmVudF9idWZmZXIpOwpAQCAtMTc5MCw2ICsxODAyLDE0 IEBAIHNldF9pbnRlcm5hbCAoTGlzcF9PYmplY3Qgc3ltYm9sLCBMaXNwX09iamVjdCBuZXd2YWws IExpc3BfT2JqZWN0IHdoZXJlLAogCSAgICAmJiBub3RpZnkKIAkgICAgJiYgYmluZGZsYWcgIT0g U0VUX0lOVEVSTkFMX1RIUkVBRF9TV0lUQ0gpCiAJICB7CisJICAgIC8qICdtYWt1bmJvdW5kJyBu dWtlcyBnbG9iYWxseSB3aXRoIHplcm8gcmVnYXJkIG9mIHR5cGUKKwkgICAgICAgKFNlZSBjb2Rl IGJlbG93LCBpLmUuIHZvaWRlKSBkbyBub3Qgc2VuZCAnd2hlcmUnLgorCSAgICAgICBJZiB0aGlz IGlzIGEgJ0JVRkZFUl9PQkpGV0QnIHNlbmQgJ3doZXJlJy4gICovCisJICAgIGlmIChOSUxQICh3 aGVyZSkKKwkJJiYgIXZvaWRlCisJCSYmIEJVRkZFUl9PQkpGV0RQIChpbm5lcmNvbnRlbnRzKSkK KwkgICAgICBYU0VUQlVGRkVSICh3aGVyZSwgY3VycmVudF9idWZmZXIpOworCiAJICAgIG5vdGlm eV92YXJpYWJsZV93YXRjaGVycyAoc3ltYm9sLCB2b2lkZT8gUW5pbCA6IG5ld3ZhbCwKIAkJCQkg ICAgICAoYmluZGZsYWcgPT0gU0VUX0lOVEVSTkFMX0JJTkQ/IFFsZXQgOgogCQkJCSAgICAgICBi aW5kZmxhZyA9PSBTRVRfSU5URVJOQUxfVU5CSU5EPyBRdW5sZXQgOgpAQCAtMTkwMCwxMyArMTky MCw2IEBAIG5vdGlmeV92YXJpYWJsZV93YXRjaGVycyAoTGlzcF9PYmplY3Qgc3ltYm9sLAogICAv KiBBdm9pZCByZWN1cnNpb24uICAqLwogICBzZXRfc3ltYm9sX3RyYXBwZWRfd3JpdGUgKHN5bWJv bCwgU1lNQk9MX1VOVFJBUFBFRF9XUklURSk7CiAKLSAgaWYgKE5JTFAgKHdoZXJlKQotICAgICAg JiYgIUVRIChvcGVyYXRpb24sIFFzZXRfZGVmYXVsdCkgJiYgIUVRIChvcGVyYXRpb24sIFFtYWt1 bmJvdW5kKQotICAgICAgJiYgIU5JTFAgKEZsb2NhbF92YXJpYWJsZV9pZl9zZXRfcCAoc3ltYm9s LCBGY3VycmVudF9idWZmZXIgKCkpKSkKLSAgICB7Ci0gICAgICBYU0VUQlVGRkVSICh3aGVyZSwg Y3VycmVudF9idWZmZXIpOwotICAgIH0KLQogICBpZiAoRVEgKG9wZXJhdGlvbiwgUXNldF9kZWZh dWx0KSkKICAgICBvcGVyYXRpb24gPSBRc2V0OwogCkBAIC0yMDM4LDcgKzIwNTEsMTYgQEAgc2V0 X2RlZmF1bHRfaW50ZXJuYWwgKExpc3BfT2JqZWN0IHN5bWJvbCwgTGlzcF9PYmplY3QgdmFsdWUs CiAJLyogSWYgd2F0Y2hlZCBub3RpZnkgdW5sZXNzIHRocmVhZCBzd2l0Y2hpbmcgKi8KIAlpZiAo c3ltLT51LnMudHJhcHBlZF93cml0ZSA9PSBTWU1CT0xfVFJBUFBFRF9XUklURQogCSAgICAmJiBi aW5kZmxhZyAhPSBTRVRfSU5URVJOQUxfVEhSRUFEX1NXSVRDSCkKLQkgIG5vdGlmeV92YXJpYWJs ZV93YXRjaGVycyAoc3ltYm9sLCB2YWx1ZSwgUXNldF9kZWZhdWx0LCBRbmlsKTsKKwkgIHsKKwkg ICAgLyogRGlkIHdlIGNvbWUgZnJvbSBTUEVDUERMX0xFVF9ERUZBVUxUIGluIGRvX29uZV91bmJp bmQ/CisJICAgICAgIFllcywgdGhlbiB0aGlzIGxldCBzaGFkb3dzIGRlZmF1bHQgb3IgbWFrZV9s b2NhbF9mb28KKwkgICAgICAgd2FzIHVzZWQgZm9yIGZpcnN0IHRpbWUgaW4gdGhpcyBsZXQsIHVu bGV0IGlzIHRvIGRlZmF1bHQuCisJICAgICAgIElmIG5vdCBmcm9tIGRvX29uZV91bmJpbmQgdGhp cyBpcyBhIGRpcmVjdCBjYWxsLiAgKi8KKwkgICAgaWYgKGJpbmRmbGFnID09IFNFVF9JTlRFUk5B TF9VTkJJTkQpCisJICAgICAgbm90aWZ5X3ZhcmlhYmxlX3dhdGNoZXJzIChzeW1ib2wsIHZhbHVl LCBRdW5sZXQsIFFuaWwpOworCSAgICBlbHNlCisJICAgICAgbm90aWZ5X3ZhcmlhYmxlX3dhdGNo ZXJzIChzeW1ib2wsIHZhbHVlLCBRc2V0X2RlZmF1bHQsIFFuaWwpOworCSAgfQogCiAJLyogU3Rv cmUgbmV3IHZhbHVlIGludG8gdGhlIERFRkFVTFQtVkFMVUUgc2xvdC4gICovCiAJWFNFVENEUiAo Ymx2LT5kZWZjZWxsLCB2YWx1ZSk7Ci0tIAoyLjM0LjEKCg== --0000000000008f4e9406154164f3 Content-Type: application/x-patch; name="0020-Added-ert-for-previously-untested-for-error-cases.patch" Content-Disposition: attachment; filename="0020-Added-ert-for-previously-untested-for-error-cases.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lukw9okv0 RnJvbSBlNmYxNmRkNTA5OTQ0MzhiY2U4NWUzZjNjMWYxMGEwOTVmZTc2MjljIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUm9iZXJ0IEEuIEJ1cmtzIiA8cmJ1cmtzZGV2QGdtYWlsLmNv bT4KRGF0ZTogU2F0LCAxNiBNYXIgMjAyNCAwMzoyMjo0OSAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MjAvMzFdICogQWRkZWQgZXJ0IGZvciBwcmV2aW91c2x5IHVudGVzdGVkIGZvciBlcnJvciBjYXNl cwoKKiB0ZXN0L3NyYy9kYXRhLXRlc3RzLmVsIChkYXRhLXRlc3RzLXNldC1kZWZhdWx0LWludGVy bmFsLWVycm9yY2FzZXMpOgooZGF0YS10ZXN0cy1zZXQtaW50ZXJuYWwtZXJyb3JjYXNlcyk6Ciog dGVzdC9zcmMvZXZhbC10ZXN0cy5lbCAoZXZhbC10ZXN0cy1kZWZ2YXJhbGlhcy1lcnJvcmNhc2Vz KToKLS0tCiB0ZXN0L3NyYy9kYXRhLXRlc3RzLmVsIHwgMTcgKysrKysrKysrKysrKysrKysKIHRl c3Qvc3JjL2V2YWwtdGVzdHMuZWwgfCAyMiArKysrKysrKysrKysrKysrKysrKysrCiAyIGZpbGVz IGNoYW5nZWQsIDM5IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS90ZXN0L3NyYy9kYXRhLXRl c3RzLmVsIGIvdGVzdC9zcmMvZGF0YS10ZXN0cy5lbAppbmRleCA0MTkxM2ExYTRhZC4uODQzNzlm MjRiYjcgMTAwNjQ0Ci0tLSBhL3Rlc3Qvc3JjL2RhdGEtdGVzdHMuZWwKKysrIGIvdGVzdC9zcmMv ZGF0YS10ZXN0cy5lbApAQCAtMTIyNyw1ICsxMjI3LDIyIEBAIGRhdGEtdGVzdHMtLWNsLXR5cGUt b2YKICAgICAgICAgICAgICAoKGVxIHN1YnR5cGUgJ2Z1bmN0aW9uKSAoY2wtZnVuY3Rpb25wIHZh bCkpCiAgICAgICAgICAgICAgKHQgKHNob3VsZC1ub3QgKGNsLXR5cGVwIHZhbCBzdWJ0eXBlKSkp KSkpKSkpKQogCisoZXJ0LWRlZnRlc3QgZGF0YS10ZXN0cy1zZXQtZGVmYXVsdC1pbnRlcm5hbC1l cnJvcmNhc2VzICgpCisgIChzaG91bGQtZXJyb3IgKHNldC1kZWZhdWx0IDUgNSkpCisgIChzaG91 bGQtZXJyb3IgKHNldC1kZWZhdWx0ICcoImxpc3QiKSA1KSkKKyAgKHNob3VsZC1lcnJvciAoc2V0 LWRlZmF1bHQgWzEgMiAzXSA1KSkKKyAgKHNob3VsZC1lcnJvciAoc2V0LWRlZmF1bHQgInRlc3Qi IDUpKQorICAoc2hvdWxkICAgICAgIChzZXQtZGVmYXVsdCA6YmluZCA6YmluZCkpCisgIChzaG91 bGQtZXJyb3IgKHNldC1kZWZhdWx0IDpiaW5kIDUpKQorICAoc2hvdWxkLWVycm9yIChzZXQtZGVm YXVsdCAnbmlsIDUpKSkKKworKGVydC1kZWZ0ZXN0IGRhdGEtdGVzdHMtc2V0LWludGVybmFsLWVy cm9yY2FzZXMgKCkKKyAgKHNob3VsZC1lcnJvciAoc2V0IDUgNSkpCisgIChzaG91bGQtZXJyb3Ig KHNldCAnKCJsaXN0IikgNSkpCisgIChzaG91bGQtZXJyb3IgKHNldCBbMSAyIDNdIDUpKQorICAo c2hvdWxkLWVycm9yIChzZXQgInRlc3QiIDUpKQorICAoc2hvdWxkICAgICAgIChzZXQgOmJpbmQg OmJpbmQpKQorICAoc2hvdWxkLWVycm9yIChzZXQgOmJpbmQgNSkpCisgIChzaG91bGQtZXJyb3Ig KHNldCAnbmlsIDUpKSkKIAogOzs7IGRhdGEtdGVzdHMuZWwgZW5kcyBoZXJlCmRpZmYgLS1naXQg YS90ZXN0L3NyYy9ldmFsLXRlc3RzLmVsIGIvdGVzdC9zcmMvZXZhbC10ZXN0cy5lbAppbmRleCAx ODdkYzJmMzRkNS4uODYyNzUwM2NlMjcgMTAwNjQ0Ci0tLSBhL3Rlc3Qvc3JjL2V2YWwtdGVzdHMu ZWwKKysrIGIvdGVzdC9zcmMvZXZhbC10ZXN0cy5lbApAQCAtMzYyLDUgKzM2MiwyNyBAQCBldmFs LXRlc3RzLS1lcnJvci1pZAogICAgICAgICAgICAgKGVycm9yIGVycikpKSkKICAgICAoc2hvdWxk IChlcSBpbm5lci1lcnJvciBvdXRlci1lcnJvcikpKSkKIAorKGVydC1kZWZ0ZXN0IGV2YWwtdGVz dHMtZGVmdmFyYWxpYXMtZXJyb3JjYXNlcyAoKQorICA7OyBBIGNvbnN0YW50IGNhbm5vdCBiZSBt YWRlIGFuIGFsaWFzCisgIChzaG91bGQtZXJyb3IgKGRlZnZhcmFsaWFzICduaWwgJ2xvYWQtcGF0 aCkpCisgIDs7IEEgZm9yd2FyZGVkIHN5bWJvbCBjYW5ub3QgYmUgbWFkZSBhbiBhbGlhcworICAo c2hvdWxkLWVycm9yIChkZWZ2YXJhbGlhcyAncmlnaHQtbWFyZ2luLXdpZHRoICdsb2FkLXBhdGgp KQorICA7OyBJZiB0aGUgc3ltYm9sIGRvZXNuJ3QgZXhpc3QgbGV4aWNhbGx5IGFuZCBkb2Vzbid0 IGhhdmUgaXRzCisgIDs7ICdkZWNsYXJlZF9zcGVjaWFsJyBmbGFnIHNldCB0aGVuICdsZXQnIHdp bGwgbGV4aWNhbGx5IGJpbmQgaXQuCisgIDs7ICdkZWZ2YXJhbGlhcycgc2hvdWxkIGVycm9yIGlm IG5ld19hbGlhcyBoYXMgYmVlbgorICA7OyBkeW5hbWljYWxseSBib3VuZCBieSAnbGV0Jywgb3Ro ZXJ3aXNlIGl0IGNyZWF0ZXMgdGhlIGFsaWFzLgorICAoZGVmdmFyIGV2YWwtdGVzdHMtZGVmdmFy YWxpYXMtZXJyb3ItY2FzZXMtYSA1KQorICAod2l0aC1uby13YXJuaW5ncworICAgIChsZXQgKChl dmFsLXRlc3RzLWRlZnZhcmFsaWFzLWVycm9yLWNhc2VzLWEgMTApKQorICAgICAgOzsgQSBkeW5h bWljYWxseSBsZXQtYm91bmQgc3ltYm9sIGNhbm5vdCBiZSBtYWRlIGFuIGFsaWFzCisgICAgICAo c2hvdWxkLWVycm9yIChkZWZ2YXJhbGlhcworICAgICAgICAgICAgICAgICAgICAgICdldmFsLXRl c3RzLWRlZnZhcmFsaWFzLWVycm9yLWNhc2VzLWEKKyAgICAgICAgICAgICAgICAgICAgICAnbG9h ZC1wYXRoKSkpKQorICAod2l0aC10ZW1wLWJ1ZmZlcgorICAgIChtYWtlLWxvY2FsLXZhcmlhYmxl ICdldmFsLXRlc3RzLWRlZnZhcmFsaWFzLWVycm9yY2FzZXMtYTEpCisgICAgOzsgQSBibHYgY2Fu bm90IGJlIG1hZGUgYW4gYWxpYXMKKyAgICAoc2hvdWxkLWVycm9yIChkZWZ2YXJhbGlhcworICAg ICAgICAgICAgICAgICAgICAnZXZhbC10ZXN0cy1kZWZ2YXJhbGlhcy1lcnJvcmNhc2VzLWExCisg ICAgICAgICAgICAgICAgICAgICdsb2FkLXBhdGgpKSkpCiAKIDs7OyBldmFsLXRlc3RzLmVsIGVu ZHMgaGVyZQotLSAKMi4zNC4xCgo= --0000000000008f4e9406154164f3 Content-Type: application/x-patch; name="0018-Fix-testing-assumptions-corrected-with-BUG-00005.patch" Content-Disposition: attachment; filename="0018-Fix-testing-assumptions-corrected-with-BUG-00005.patch" Content-Transfer-Encoding: base64 Content-ID: X-Attachment-Id: f_lukw9ol32 RnJvbSA0MWQ4NDU4YzBmZjllMjcxYzlkZThjY2M4ZDYzNzIyNzA5Zjg3NDJlIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiAiUm9iZXJ0IEEuIEJ1cmtzIiA8cmJ1cmtzZGV2QGdtYWlsLmNv bT4KRGF0ZTogU3VuLCAxNyBNYXIgMjAyNCAwNDoxODo0NSAtMDQwMApTdWJqZWN0OiBbUEFUQ0gg MTgvMzFdIDsgKiBGaXggdGVzdGluZyBhc3N1bXB0aW9ucyBjb3JyZWN0ZWQgd2l0aCAoQlVHIzAw MDA1KQoKSWYgYSBsb2NhbF9pZl9zZXQgdmFyaWFibGUgaXMgdW5ib3VuZCB0aGUgbm90aWZpY2F0 aW9uIHNob3VsZCBpbmNsdWRlCndoZXJlLgoKKiB0ZXN0L3NyYy9kYXRhLXRlc3RzLmVsIChkYXRh LXRlc3RzLWxvY2FsLXZhcmlhYmxlLXdhdGNoZXJzKToKLS0tCiB0ZXN0L3NyYy9kYXRhLXRlc3Rz LmVsIHwgMiArLQogMSBmaWxlIGNoYW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0p CgpkaWZmIC0tZ2l0IGEvdGVzdC9zcmMvZGF0YS10ZXN0cy5lbCBiL3Rlc3Qvc3JjL2RhdGEtdGVz dHMuZWwKaW5kZXggM2IyYzhlMjZjMjguLjNkOTI0MzA5YzMyIDEwMDY0NAotLS0gYS90ZXN0L3Ny Yy9kYXRhLXRlc3RzLmVsCisrKyBiL3Rlc3Qvc3JjL2RhdGEtdGVzdHMuZWwKQEAgLTU3Niw3ICs1 NzYsNyBAQCBkYXRhLXRlc3RzLWxvY2FsLXZhcmlhYmxlLXdhdGNoZXJzCiAgICAgICAoc2V0cS1k ZWZhdWx0IGRhdGEtdGVzdHMtbHZhciA0KQogICAgICAgKHNob3VsZC1oYXZlLXdhdGNoLWRhdGEg JyhkYXRhLXRlc3RzLWx2YXIgNCBzZXQgbmlsKSkKICAgICAgIChtYWt1bmJvdW5kICdkYXRhLXRl c3RzLWx2YXIpCi0gICAgICAoc2hvdWxkLWhhdmUtd2F0Y2gtZGF0YSAnKGRhdGEtdGVzdHMtbHZh ciBuaWwgbWFrdW5ib3VuZCBuaWwpKQorICAgICAgKHNob3VsZC1oYXZlLXdhdGNoLWRhdGEgYChk YXRhLXRlc3RzLWx2YXIgbmlsIG1ha3VuYm91bmQgLGJ1ZjEpKQogICAgICAgKHNldHEgZGF0YS10 ZXN0cy1sdmFyIDUpCiAgICAgICAoc2hvdWxkLWhhdmUtd2F0Y2gtZGF0YSBgKGRhdGEtdGVzdHMt bHZhciA1IHNldCAsYnVmMSkpCiAgICAgICAocmVtb3ZlLXZhcmlhYmxlLXdhdGNoZXIgJ2RhdGEt dGVzdHMtbHZhciBjb2xsZWN0LXdhdGNoLWRhdGEpCi0tIAoyLjM0LjEKCg== --0000000000008f4e9406154164f3--