test/tools/javah/ReadOldClass.sh

changeset 1
9a66ca7c79fa
child 388
477c5bf1149c
equal deleted inserted replaced
-1:000000000000 1:9a66ca7c79fa
1 #!/bin/sh
2
3 #
4 # Copyright 2005-2007 Sun Microsystems, Inc. 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 Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
22 # CA 95054 USA or visit www.sun.com if you need additional information or
23 # have any 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 )
47 NULL=/dev/null
48 PS=":"
49 FS="/"
50 ;;
51 Windows* )
52 NULL=NUL
53 PS=";"
54 FS="\\"
55 ;;
56 * )
57 echo "Unrecognized system!"
58 exit 1;
59 ;;
60 esac
61
62 cat > "${TC}/ReadOldClass.java" <<EOF
63 public class ReadOldClass {
64 public static void main(String[] args) {
65 }
66 }
67 EOF
68
69 rm -f ${TC}/ReadOldClass.h
70
71 set -e
72
73 # compile the file
74 "${TESTJAVA}${FS}bin${FS}javac" ${TESTTOOLVMOPTS} -d "${TC}" "${TC}/ReadOldClass.java"
75 # ensure the source file is newer than the class file
76 touch "${TC}/ReadOldClass.java"
77 "${TESTJAVA}${FS}bin${FS}javah" ${TESTTOOLVMOPTS} -jni -classpath "${TC}" -d "${TC}" ReadOldClass
78
79 test -f "${TC}/ReadOldClass.h"

mercurial