You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ma...@apache.org on 2017/01/31 19:53:35 UTC
svn commit: r1781153 - /tomcat/trunk/test/org/apache/tomcat/jni/TestFile.java
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org