Roxen.git / server / etc / modules / Variable.pmod / Schedule.pike

version» Context lines:

Roxen.git/server/etc/modules/Variable.pmod/Schedule.pike:9: Inside #if constant(roxen)
  //! In the "index every n:th x-day at y o'clock" the n-range is   //! 1 to 9, the units are day and all the weekdays. The time range for   //! y is all hours in a day.      // Locale macros   //<locale-token project="roxen_config"> LOCALE </locale-token>      #define LOCALE(X,Y) \    ([string](mixed)Locale.translate("roxen_config",roxenp()->locale->get(),X,Y))    + #else +  + // Test mode. +  + #define LOCALE(X, Y) (Y) +  + array(int) val = ({ }); +  + array(int) query() + { +  return val; + } +  + // Deterministic timezone... + #define localtime(X) gmtime(X) +  + int main(int argc, array(string) argv) + { +  int successes; +  int failures; +  foreach(({ +  ({ ({ 0, 2, 1, 6, 3, }), +  // Disabled. +  ({ 0, -1 }), +  }), +  ({ ({ 1, 2, 1, 6, 3, }), +  // Every other hour. +  // 2022-06-22T14:11:43 (Wed) ==> 2022-06-22T16:11:43 (Wed) +  ({ 1655907103, 1655914303 }), +  }), +  ({ ({ 2, 2, 1, 6, 3, }), +  // Every Friday at 03:00. +  // 2022-06-22T14:11:43 (Wed) ==> 2022-06-24T03:00:00 (Fri) +  ({ 1655907103, 1656039600 }), +  // 2022-06-23T14:11:43 (Thu) ==> 2022-06-24T03:00:00 (Fri) +  ({ 1655993503, 1656039600 }), +  // 2022-06-24T02:11:43 (Fri) ==> 2022-06-24T03:00:00 (Fri) +  ({ 1656036703, 1656039600 }), +  // 2022-06-24T03:11:43 (Fri) ==> 2022-07-01T03:00:00 (Fri) +  ({ 1656040303, 1656644400 }), +  // 2022-06-24T03:21:43 (Fri) ==> 2022-07-01T03:00:00 (Fri) +  ({ 1656040903, 1656644400 }), +  // 2022-06-24T03:51:43 (Fri) ==> 2022-07-01T03:00:00 (Fri) +  ({ 1656042703, 1656644400 }), +  // 2022-06-24T04:11:43 (Fri) ==> 2022-07-01T03:00:00 (Fri) +  ({ 1656043903, 1656644400 }), +  // 2022-06-24T14:11:43 (Fri) ==> 2022-07-01T03:00:00 (Fri) +  ({ 1656079903, 1656644400 }), +  }), +  }), array(array(int)) test) { +  val = test[0]; +  while(1) { +  foreach(test[1..], [int when, int expected]) { +  int got = get_next(when); +  if (got != expected) { +  failures++; +  werror("Test failed for %O\n" +  "When: %d\n" +  "%O\n" +  "Expected: %d\n" +  "%O\n" +  "Got: %d\n" +  "%O\n", +  test, +  when, localtime(when), +  expected, localtime(expected), +  got, localtime(got)); +  } else { +  successes++; +  } +  } +  break; +  } +  } +  werror("Succeeded on %d, Failed on %d.\n", successes, failures); +  return !!failures; + } +    #endif      #define VALS_SORT 0   #define VALS_REPEAT_HOURS 1   #define VALS_REPEAT_COUNT 2   #define VALS_DAY 3   #define VALS_HOUR 4      //! Transforms the form variables given in the @[vl] attribute   //! to the internal time representation as follows.