Changeset View
Changeset View
Standalone View
Standalone View
usr.bin/cmp/tests/cmp_test2.sh
Context not available. | |||||
# PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS | # PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE FOUNDATION OR CONTRIBUTORS | ||||
# BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | # BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR | ||||
# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | # CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF | ||||
# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | # SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS | ||||
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | # INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN | ||||
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | # CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) | ||||
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | # ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE | ||||
# POSSIBILITY OF SUCH DAMAGE. | # POSSIBILITY OF SUCH DAMAGE. | ||||
# | # | ||||
# $FreeBSD$ | # $FreeBSD$ | ||||
atf_test_case special | atf_test_case special | ||||
special_head() { | special_head() { | ||||
atf_set "descr" "Test cmp(1)'s handling of non-regular files" | atf_set "descr" "Test cmp(1)'s handling of non-regular files" | ||||
} | } | ||||
special_body() { | special_body() { | ||||
# NOTE: Cannot use pipelines for this because FreeBSD's sh(1) | |||||
# executes the last component of a pipeline in a subprocess | |||||
# (which makes atf_check not register errors since its state | |||||
# is kept in the main process). | |||||
echo 0123456789abcdef > a | echo 0123456789abcdef > a | ||||
echo 0123456789abcdeg > b | echo 0123456789abcdeg > b | ||||
cat a | atf_check -s exit:0 cmp a - | mkfifo a.fifo b.fifo | ||||
cat a | atf_check -s exit:0 cmp - a | cat a > a.fifo & | ||||
cat b | atf_check -s not-exit:0 cmp a - | atf_check -s exit:0 cmp a a.fifo | ||||
cat b | atf_check -s not-exit:0 cmp - a | cat a > a.fifo & | ||||
atf_check -s exit:0 cmp a.fifo a | |||||
cat b > b.fifo & | |||||
atf_check -o not-empty -s not-exit:0 cmp a b.fifo | |||||
cat b > b.fifo & | |||||
atf_check -o not-empty -s not-exit:0 cmp b.fifo a | |||||
wait | |||||
true | true | ||||
} | } | ||||
atf_test_case symlink | atf_test_case symlink | ||||
symlink_head() { | symlink_head() { | ||||
atf_set "descr" "Test cmp(1)'s handling of symlinks" | atf_set "descr" "Test cmp(1)'s handling of symlinks" | ||||
} | } | ||||
symlink_body() { | symlink_body() { | ||||
echo 0123456789abcdef > a | echo 0123456789abcdef > a | ||||
echo 0123456789abcdeg > b | echo 0123456789abcdeg > b | ||||
ln -s a a.lnk | ln -s a a.lnk | ||||
ln -s b b.lnk | ln -s b b.lnk | ||||
ln -s a a2.lnk | ln -s a a2.lnk | ||||
cp a adup | cp a adup | ||||
ln -s adup adup.lnk | ln -s adup adup.lnk | ||||
atf_check -s exit:0 cmp a a.lnk | atf_check -s exit:0 cmp a a.lnk | ||||
Context not available. |