4965N/A#!/bin/sh
4965N/A
4965N/A#
4965N/A# Copyright (c) 2012, Oracle and/or its affiliates. All rights reserved.
4965N/A# DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4965N/A#
4965N/A# This code is free software; you can redistribute it and/or modify it
4965N/A# under the terms of the GNU General Public License version 2 only, as
4965N/A# published by the Free Software Foundation.
4965N/A#
4965N/A# This code is distributed in the hope that it will be useful, but WITHOUT
4965N/A# ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
4965N/A# FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
4965N/A# version 2 for more details (a copy is included in the LICENSE file that
4965N/A# accompanied this code).
4965N/A#
4965N/A# You should have received a copy of the GNU General Public License version
4965N/A# 2 along with this work; if not, write to the Free Software Foundation,
4965N/A# Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
4965N/A#
4965N/A# Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
4965N/A# or visit www.oracle.com if you need additional information or have any
4965N/A# questions.
4965N/A#
4965N/A
4965N/A
4965N/A# @test
4965N/A# @bug 7154822
4965N/A# @summary test if we can send a file over 1024 bytes large via jcmd -f
4965N/A# @author David Buck
4965N/A#
4965N/A# @library ../common
4965N/A# @build SimpleApplication ShutdownSimpleApplication
4965N/A# @run shell jcmd-big-script.sh
4965N/A
4965N/A. ${TESTSRC}/../common/CommonSetup.sh
4965N/A. ${TESTSRC}/../common/ApplicationSetup.sh
4965N/A
4965N/A# Start application and use PORTFILE for coordination
4965N/APORTFILE="${TESTCLASSES}"/shutdown.port
4965N/AstartApplication SimpleApplication "${PORTFILE}"
4965N/A
4965N/Afailed=0;
4965N/A
4965N/A# -f <script>
4965N/Arm -f jcmd.out 2>/dev/null
4965N/Aset +e # even if jcmd fails, we do not want abort the script yet.
4965N/A${JCMD} -J-XX:+UsePerfData $appJavaPid -f ${TESTSRC}/dcmd-big-script.txt > jcmd.out 2>&1
4965N/Astatus="$?"
4965N/Aset -e
4965N/Aif [ "$status" != 0 ]; then
4965N/A echo "jcmd command returned non-zero exit code (status=$status). Failed."
4965N/A failed=1;
4965N/Afi
4965N/Acat jcmd.out
4965N/Aset +e # if the test passes, grep will "fail" with an exit code of 1
4965N/Agrep Exception jcmd.out > /dev/null 2>&1
4965N/Astatus="$?"
4965N/Aset -e
4965N/Aif [ "$status" = 0 ]; then
4965N/A echo "Output of \"jcmd [pid] -f dcmd-big-script.txt\" contains string \"Exception\". Failed."
4965N/A failed=1;
4965N/Afi
4965N/A
4965N/A# clean up
4965N/Arm -f jcmd.out 2>/dev/null
4965N/AstopApplication "${PORTFILE}"
4965N/AwaitForApplication
4965N/A
4965N/Aexit $failed