test/tools/javah/ReadOldClass.sh

changeset 0
959103a6100f
child 2525
2eb010b6cb22
equal deleted inserted replaced
-1:000000000000 0:959103a6100f
1 #!/bin/sh
2
3 #
4 # Copyright (c) 2005, 2009, Oracle and/or its affiliates. All rights reserved.
5 # DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
6 #
7 # This code is free software; you can redistribute it and/or modify it
8 # under the terms of the GNU General Public License version 2 only, as
9 # published by the Free Software Foundation.
10 #
11 # This code is distributed in the hope that it will be useful, but WITHOUT
12 # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
13 # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
14 # version 2 for more details (a copy is included in the LICENSE file that
15 # accompanied this code).
16 #
17 # You should have received a copy of the GNU General Public License version
18 # 2 along with this work; if not, write to the Free Software Foundation,
19 # Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
20 #
21 # Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
22 # or visit www.oracle.com if you need additional information or have any
23 # questions.
24 #
25
26 #
27 # @test
28 # @bug 4164450
29 # @summary Ensure that javah/javadoc doesn't try to read (new) source files
30 # @author Peter von der Ah\u00e9
31 # @run shell ReadOldClass.sh
32 #
33
34 TS=${TESTSRC-.}
35 TC=${TESTCLASSES-.}
36
37 if [ "${TESTJAVA}" = "" ]
38 then
39 echo "TESTJAVA not set. Test cannot execute. Failed."
40 exit 1
41 fi
42
43 # set platform-dependent variables
44 OS=`uname -s`
45 case "$OS" in
46 SunOS | Linux | Darwin | CYGWIN* )
47 PS=":"
48 FS="/"
49 ;;
50 Windows* )
51 PS=";"
52 FS="\\"
53 ;;
54 * )
55 echo "Unrecognized system!"
56 exit 1;
57 ;;
58 esac
59
60 cat > "${TC}/ReadOldClass.java" <<EOF
61 public class ReadOldClass {
62 public static void main(String[] args) {
63 }
64 }
65 EOF
66
67 rm -f ${TC}/ReadOldClass.h
68
69 set -e
70
71 # compile the file
72 "${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} -d "${TC}" "${TC}/ReadOldClass.java"
73 # ensure the source file is newer than the class file
74 touch "${TC}/ReadOldClass.java"
75 "${TESTJAVA}${FS}bin${FS}javah" ${TESTTOOLVMOPTS} -jni -classpath "${TC}" -d "${TC}" ReadOldClass
76
77 test -f "${TC}/ReadOldClass.h"

mercurial