<pre style='margin:0'>
Clemens Lang (neverpanic) pushed a commit to branch master
in repository macports-base.
</pre>
<p><a href="https://github.com/macports/macports-base/commit/4c11f3bea113e305776751e98d5236e34175a972">https://github.com/macports/macports-base/commit/4c11f3bea113e305776751e98d5236e34175a972</a></p>
<pre style="white-space: pre; background: #F8F8F8">The following commit(s) were added to refs/heads/master by this push:
<span style='display:block; white-space:pre;color:#404040;'> new 4c11f3b tests: Avoid bogus error message during test runs
</span>4c11f3b is described below
<span style='display:block; white-space:pre;color:#808000;'>commit 4c11f3bea113e305776751e98d5236e34175a972
</span>Author: Clemens Lang <cal@macports.org>
AuthorDate: Mon Mar 12 16:21:46 2018 +0100
<span style='display:block; white-space:pre;color:#404040;'> tests: Avoid bogus error message during test runs
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> The distcheck unit test caused remote network traffic, which is bad from
</span><span style='display:block; white-space:pre;color:#404040;'> a testing perspective. Additionally, it printed error messages to
</span><span style='display:block; white-space:pre;color:#404040;'> stderr.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Avoid both of these problems by replacing the curl command with a mock
</span><span style='display:block; white-space:pre;color:#404040;'> for the time of the test. This will also speed up the test.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Drop the unit test for the filesize distcheck.type, since there is no
</span><span style='display:block; white-space:pre;color:#404040;'> good way to actually test whether it succeeds.
</span><span style='display:block; white-space:pre;color:#404040;'>
</span><span style='display:block; white-space:pre;color:#404040;'> Closes: https://trac.macports.org/ticket/52218
</span>---
src/port1.0/tests/portdistcheck.test | 46 +++++++++++++++++++++++++-----------
1 file changed, 32 insertions(+), 14 deletions(-)
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/src/port1.0/tests/portdistcheck.test b/src/port1.0/tests/portdistcheck.test
</span><span style='display:block; white-space:pre;color:#808080;'>index 6e99d83..18bdaa2 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/src/port1.0/tests/portdistcheck.test
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/src/port1.0/tests/portdistcheck.test
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -18,9 +18,7 @@ source ./library.tcl
</span> macports_worker_init
<span style='display:block; white-space:pre;background:#ffe0e0;'>-test distcheck_main {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- Distcheck main unit test.
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} -setup {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set distcheck_fixture_setup {
</span> set portpath $pwd
set filespath $pwd/files
<span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -34,20 +32,40 @@ test distcheck_main {
</span> set porturl "http://distfiles.macports.org/gcc_select/"
set master_sites $porturl
set extract.suffix .tar.gz
<span style='display:block; white-space:pre;background:#ffe0e0;'>-
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} -body {
</span> set fetch.type standard
<span style='display:block; white-space:pre;background:#ffe0e0;'>- set distcheck.type moddate
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[portdistcheck::distcheck_main] != ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return "FAIL: unable to download or check file, type moddate"
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- }
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- set distcheck.type filesize
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- if {[portdistcheck::distcheck_main] != ""} {
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>- return "FAIL: unable to download or check file, type filesize"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # replace curl with a mock
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rename curl _save_curl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ proc curl {operation args} {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ global _test_isnewer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ switch $operation {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ isnewer {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return ${_test_isnewer}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ }
</span> }
<span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set distcheck_fixture_cleanup {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ # restore original curl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rename curl ""
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ rename _save_curl curl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span>
<span style='display:block; white-space:pre;background:#ffe0e0;'>- return "Distcheck main successful."
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>-} -result "Distcheck main successful."
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test distcheck_moddate_newer {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Check that files on servers that are newer than the Portfile cause a warning.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -setup $distcheck_fixture_setup -cleanup $distcheck_fixture_cleanup -body {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set distcheck.type moddate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set _test_isnewer 1
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return [portdistcheck::distcheck_main]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -errorOutput "Warning: port gcc_select: .* is newer than Portfile" -match regexp
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test distcheck_moddate_not_newer {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ Check that files on server that are not newer than the Portfile do not cause a warning
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -setup $distcheck_fixture_setup -cleanup $distcheck_fixture_cleanup -body {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set distcheck.type moddate
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ set _test_isnewer 0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+ return [portdistcheck::distcheck_main]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -errorOutput ""
</span>
cleanupTests
</pre><pre style='margin:0'>
</pre>