dlr 00/10/26 15:06:27
Modified: src/java/org/apache/velocity/test TemplateTestCase.java
Log:
Assure that the results directory exists.
Revision Changes Path
1.12 +26 -2
jakarta-velocity/src/java/org/apache/velocity/test/TemplateTestCase.java
Index: TemplateTestCase.java
===================================================================
RCS file:
/home/cvs/jakarta-velocity/src/java/org/apache/velocity/test/TemplateTestCase.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- TemplateTestCase.java 2000/10/25 23:25:54 1.11
+++ TemplateTestCase.java 2000/10/26 22:06:22 1.12
@@ -73,7 +73,7 @@
*
* @author <a href="mailto:[EMAIL PROTECTED]">Daniel Rall</a>
* @author <a href="mailto:[EMAIL PROTECTED]">Jason van Zyl</a>
- * @version $Id: TemplateTestCase.java,v 1.11 2000/10/25 23:25:54 dlr Exp $
+ * @version $Id: TemplateTestCase.java,v 1.12 2000/10/26 22:06:22 dlr Exp $
*/
public class TemplateTestCase extends RuntimeTestCase
{
@@ -160,6 +160,7 @@
{
Template template = Runtime.getTemplate
(getFileName(null, baseFileName, TMPL_FILE_EXT));
+ assureResultsDirectoryExists();
template.merge(context, getWriter(new FileOutputStream
(getFileName(RESULT_DIR, baseFileName, RESULT_FILE_EXT))));
closeWriter();
@@ -180,7 +181,7 @@
*
* @return The full path to the file.
*/
- private String getFileName (String dir, String base, String ext)
+ private static String getFileName (String dir, String base, String ext)
{
StringBuffer buf = new StringBuffer();
if (dir != null)
@@ -189,6 +190,29 @@
}
buf.append(base).append('.').append(ext);
return buf.toString();
+ }
+
+ /**
+ * Assures that the results directory exists. If the results directory
+ * cannot be created, fails the test.
+ */
+ private static void assureResultsDirectoryExists ()
+ {
+ File resultDir = new File(RESULT_DIR);
+ if (!resultDir.exists())
+ {
+ Runtime.info("Template results directory did not exist");
+ if (resultDir.mkdirs())
+ {
+ Runtime.info("Created template results directory");
+ }
+ else
+ {
+ String errMsg = "Unable to create template results directory";
+ Runtime.warn(errMsg);
+ fail(errMsg);
+ }
+ }
}
/**