Author: markt Date: Tue Jan 31 19:53:35 2017 New Revision: 1781153 URL: http://svn.apache.org/viewvc?rev=1781153&view=rev Log: Add test case based on test case provided in https://bz.apache.org/bugzilla/show_bug.cgi?id=52627 by Ilya Maykov.
Added: tomcat/trunk/test/org/apache/tomcat/jni/TestFile.java (with props) Added: tomcat/trunk/test/org/apache/tomcat/jni/TestFile.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/tomcat/jni/TestFile.java?rev=1781153&view=auto ============================================================================== --- tomcat/trunk/test/org/apache/tomcat/jni/TestFile.java (added) +++ tomcat/trunk/test/org/apache/tomcat/jni/TestFile.java Tue Jan 31 19:53:35 2017 @@ -0,0 +1,67 @@ +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +package org.apache.tomcat.jni; + +import org.junit.Assert; +import org.junit.Test; + + +public class TestFile { + + @Test + public void testInfoGet() throws Exception { + String testFile = "test/org/apache/tomcat/jni/TestFile.java"; + java.io.File file = new java.io.File(testFile); + Assert.assertTrue("File " + testFile + " does not exist!", file.exists()); + + Library.initialize(null); + long pool = Pool.create(0L); + int openFlags = File.APR_FOPEN_READ | File.APR_FOPEN_BUFFERED | File.APR_FOPEN_XTHREAD; + int openPermissions = File.APR_FPROT_OS_DEFAULT; + int statFlags = File.APR_FINFO_MIN; + long fd = File.open(testFile, openFlags, openPermissions, pool); + FileInfo fileInfo = new FileInfo(); + for (int i = 0; i < 100000; i++) { + org.apache.tomcat.jni.File.infoGet(fileInfo, statFlags, fd); + @SuppressWarnings("unused") + String info = inspectFileInfo(fileInfo); + } + } + + public static String inspectFileInfo(FileInfo fileInfo) { + String result = fileInfo.toString() + " : {" + + String.format("\n pool : %d", Long.valueOf(fileInfo.pool)) + + String.format("\n valid : %d", Integer.valueOf(fileInfo.valid)) + + String.format("\n protection : %d", Integer.valueOf(fileInfo.protection)) + + String.format("\n filetype : %d", Integer.valueOf(fileInfo.filetype)) + + String.format("\n user : %d", Integer.valueOf(fileInfo.user)) + + String.format("\n group : %d", Integer.valueOf(fileInfo.group)) + + String.format("\n inode : %d", Integer.valueOf(fileInfo.inode)) + + String.format("\n device : %d", Integer.valueOf(fileInfo.device)) + + String.format("\n nlink : %d", Integer.valueOf(fileInfo.nlink)) + + String.format("\n size : %d", Long.valueOf(fileInfo.size)) + + String.format("\n csize : %d", Long.valueOf(fileInfo.csize)) + + String.format("\n atime : %d", Long.valueOf(fileInfo.atime)) + + String.format("\n mtime : %d", Long.valueOf(fileInfo.mtime)) + + String.format("\n ctime : %d", Long.valueOf(fileInfo.ctime)) + + String.format("\n fname : %s", fileInfo.fname) + + String.format("\n name : %s", fileInfo.name) + + String.format("\n filehand : %d", Long.valueOf(fileInfo.filehand)) + + "\n}"; + return result; + } +} \ No newline at end of file Propchange: tomcat/trunk/test/org/apache/tomcat/jni/TestFile.java ------------------------------------------------------------------------------ svn:eol-style = native --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org