<pre style='margin:0'>
Rainer Müller (raimue) pushed a commit to branch master
in repository macports-base.

</pre>
<p><a href="https://github.com/macports/macports-base/commit/49989d9406b44f05859d67aa76f8b487ddc13d35">https://github.com/macports/macports-base/commit/49989d9406b44f05859d67aa76f8b487ddc13d35</a></p>
<pre style="white-space: pre; background: #F8F8F8"><span style='display:block; white-space:pre;color:#808000;'>commit 49989d9406b44f05859d67aa76f8b487ddc13d35
</span>Author: Rainer Müller <raimue@macports.org>
AuthorDate: Sun Oct 1 21:19:15 2017 +0200

<span style='display:block; white-space:pre;color:#404040;'>    test: New test to check for setuid permission bit
</span>---
 tests/test.tcl.in               |  1 +
 tests/test/setuid/DESCRIPTION   |  4 ++++
 tests/test/setuid/Portfile      | 31 +++++++++++++++++++++++++++++++
 tests/test/setuid/files/test.sh |  8 ++++++++
 tests/test/setuid/test.tcl      | 20 ++++++++++++++++++++
 5 files changed, 64 insertions(+)

<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tests/test.tcl.in b/tests/test.tcl.in
</span><span style='display:block; white-space:pre;color:#808080;'>index bcf4173..fd67659 100644
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>--- a/tests/test.tcl.in
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tests/test.tcl.in
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -7,6 +7,7 @@ set test_suite {
</span>     dependencies-d
     dependencies-e
     envvariables
<span style='display:block; white-space:pre;background:#e0ffe0;'>+    setuid
</span>     site-tags
     statefile-unknown-version
     statefile-version1
<span style='display:block; white-space:pre;color:#808080;'>diff --git a/tests/test/setuid/DESCRIPTION b/tests/test/setuid/DESCRIPTION
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..a9370e6
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tests/test/setuid/DESCRIPTION
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,4 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This test checks for successfully setting setuid bits in the port build phase.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+This was initially broken on macOS 10.13 High Sierra.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+https://trac.macports.org/ticket/54963
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/tests/test/setuid/Portfile b/tests/test/setuid/Portfile
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..bbb1fd0
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tests/test/setuid/Portfile
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,31 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+# -*- coding: utf-8; mode: tcl; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- vim:fenc=utf-8:ft=tcl:et:sw=4:ts=4:sts=4
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+PortSystem          1.0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+name                setuid
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+version             0
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+categories          test
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+maintainers         nomaintainer
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+homepage            https://www.macports.org/
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+platforms           darwin
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+description         Test for the setuid bit
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+long_description    ${description}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+distfiles
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+use_configure       no
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+extract {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file mkdir ${worksrcpath}
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    file copy ${filespath}/test.sh ${worksrcpath}
</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;'>+build.cmd ${worksrcpath}/test.sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+destroot {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    touch ${destroot}${prefix}/lib/${name}
</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;'>+test {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    # test is actually running build target
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+}
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/tests/test/setuid/files/test.sh b/tests/test/setuid/files/test.sh
</span>new file mode 100755
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..66cc35d
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tests/test/setuid/files/test.sh
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,8 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+#!/bin/sh
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+touch foo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+chmod u+s,a+x foo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+stat -f "perms: %p" foo
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+exec test $(stat -f %p foo) == 104755
</span><span style='display:block; white-space:pre;color:#808080;'>diff --git a/tests/test/setuid/test.tcl b/tests/test/setuid/test.tcl
</span>new file mode 100644
<span style='display:block; white-space:pre;color:#808080;'>index 0000000..b2981ad
</span><span style='display:block; white-space:pre;background:#ffe0e0;'>--- /dev/null
</span><span style='display:block; white-space:pre;background:#e0e0ff;'>+++ b/tests/test/setuid/test.tcl
</span><span style='display:block; white-space:pre;background:#e0e0e0;'>@@ -0,0 +1,20 @@
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+package require tcltest 2
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+namespace import tcltest::*
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+source [file dirname $argv0]/../library.tcl
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+set path [file dirname [file normalize $argv0]]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+initial_setup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+test setuid {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    Regression test for setuid permission bit.
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -body {
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    global output_file path
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set str "perms: *"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    set line [get_line $path/$output_file $str]
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+    return $line
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+} -result "perms: 104755"
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cleanup
</span><span style='display:block; white-space:pre;background:#e0ffe0;'>+cleanupTests
</span></pre><pre style='margin:0'>

</pre>