From 20f73bd1f2eac1aeccfeea9da83294f58ecd723a Mon Sep 17 00:00:00 2001
From: Chris Ridd <chris.ridd@forgerock.com>
Date: Wed, 03 Dec 2014 14:53:53 +0000
Subject: [PATCH] Backport fix OPENDJ-1614 (CR-5290) Improve crontab(5) support in recurring tasks

---
 opends/tests/unit-tests-testng/src/server/org/opends/server/backends/task/TaskBackendTestCase.java |  102 ++++++++++++++++++++++++++++-----------------------
 1 files changed, 56 insertions(+), 46 deletions(-)

diff --git a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/task/TaskBackendTestCase.java b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/task/TaskBackendTestCase.java
index cc95e13..2eee4fa 100644
--- a/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/task/TaskBackendTestCase.java
+++ b/opends/tests/unit-tests-testng/src/server/org/opends/server/backends/task/TaskBackendTestCase.java
@@ -22,6 +22,7 @@
  *
  *
  *      Copyright 2008-2010 Sun Microsystems, Inc.
+ *      Portions Copyright 2014 ForgeRock, AS
  */
 package org.opends.server.backends.task;
 
@@ -413,52 +414,61 @@
   @DataProvider(name="recurringTaskSchedules")
   public Object[][] createRecurringTaskSchedules() {
     return new Object[][] {
-        { "* * * *",       false },
-        { "* * * * * *",   false },
-        { "*:*:*:*:*",     false },
-        { "60 * * * *",    false },
-        { "-1 * * * *",    false },
-        { "1-60 * * * *",  false },
-        { "1,60 * * * *",  false },
-        { "* 24 * * *",    false },
-        { "* -1 * * *",    false },
-        { "* 1-24 * * *",  false },
-        { "* 1,24 * * *",  false },
-        { "* * 32 * *",    false },
-        { "* * 0 * *",     false },
-        { "* * 1-32 * *",  false },
-        { "* * 1,32 * *",  false },
-        { "* * * 13 *",    false },
-        { "* * * 0 *",     false },
-        { "* * * 1-13 *",  false },
-        { "* * * 1,13 *",  false },
-        { "* * * * 7",     false },
-        { "* * * * -1",    false },
-        { "* * * * 1-7",   false },
-        { "* * * * 1,7",   false },
-        { "* * 31 2 *",    false },
-        { "* * 29 2 *",    true },
-        { "* * * * *",     true },
-        { "59 * * * *",    true },
-        { "0 * * * *",     true },
-        { "0-59 * * * *",  true },
-        { "0,59 * * * *",  true },
-        { "* 23 * * *",    true },
-        { "* 0 * * *",     true },
-        { "* 0-23 * * *",  true },
-        { "* 0,23 * * *",  true },
-        { "* * 31 * *",    true },
-        { "* * 1 * *",     true },
-        { "* * 1-31 * *",  true },
-        { "* * 1,31 * *",  true },
-        { "* * * 12 *",    true },
-        { "* * * 1 *",     true },
-        { "* * * 1-12 *",  true },
-        { "* * * 1,12 *",  true },
-        { "* * * * 6",     true },
-        { "* * * * 0",     true },
-        { "* * * * 0-6",   true },
-        { "* * * * 0,6",   true }
+        { "* * * *",               false },
+        { "* * * * * *",           false },
+        { "*:*:*:*:*",             false },
+        { "60 * * * *",            false },
+        { "-1 * * * *",            false },
+        { "1-60 * * * *",          false },
+        { "1,60 * * * *",          false },
+        { "* 24 * * *",            false },
+        { "* -1 * * *",            false },
+        { "* 1-24 * * *",          false },
+        { "* 1,24 * * *",          false },
+        { "* * 32 * *",            false },
+        { "* * 0 * *",             false },
+        { "* * 1-32 * *",          false },
+        { "* * 1,32 * *",          false },
+        { "* * * 13 *",            false },
+        { "* * * 0 *",             false },
+        { "* * * 1-13 *",          false },
+        { "* * * 1,13 *",          false },
+        { "* * * * 7",             false },
+        { "* * * * -1",            false },
+        { "* * * * 1-7",           false },
+        { "* * * * 1,7",           false },
+        { "* * 31 2 *",            false },
+        { "*/foo * * * *",         false },
+        { "1-3,10/4,13 * * * *",   false },
+        { "1-5/,10,13 * * * *",    false },
+        { "1-5/foo,10,13 * * * *", false },
+        { "* * 29 2 *",            true },
+        { "* * * * *",             true },
+        { "59 * * * *",            true },
+        { "0 * * * *",             true },
+        { "0-59 * * * *",          true },
+        { "0,59 * * * *",          true },
+        { "* 23 * * *",            true },
+        { "* 0 * * *",             true },
+        { "* 0-23 * * *",          true },
+        { "* 0,23 * * *",          true },
+        { "* * 31 * *",            true },
+        { "* * 1 * *",             true },
+        { "* * 1-31 * *",          true },
+        { "* * 1,31 * *",          true },
+        { "* * * 12 *",            true },
+        { "* * * 1 *",             true },
+        { "* * * 1-12 *",          true },
+        { "* * * 1,12 *",          true },
+        { "* * * * 6",             true },
+        { "* * * * 0",             true },
+        { "* * * * 0-6",           true },
+        { "* * * * 0,6",           true },
+        { "*/2 * * * *",           true },
+        { "1-3,10-13 * * * *",     true },
+        { "1-3,10,13 * * * *",     true },
+        { "1-5/2,10,13 * * * *",   true },
+        { "1-5/2,11-15/2 * * * *", true }
     };
   }
 

--
Gitblit v1.10.0