@@ -283,6 +283,251 @@ foreach test_entry: [
283283 ' depends' : [baksnapperd],
284284 ' env' : test_env,
285285 },
286+ # DeNotebak
287+ {
288+ ' name' : ' denotebak-default' ,
289+ ' runner-args' : [
290+ ' --sender' , ' ,' .join([
291+ ' 20251023T130000:t=dailies' ,
292+ ' 20251025T120000' ,
293+ ' 20251025T160000:t=hourly' ]),
294+ ' --expected' , ' ,' .join([
295+ ' 20251025T160000' ]),
296+ ' --type' , ' denotebak' ,
297+ ],
298+ ' baksnapper-args' : [
299+ baksnapper[0 ].full_path(),
300+ ' --daemon' , baksnapperd_denotebak[0 ].full_path(),
301+ ],
302+ ' configfile' : ' denotebak-default' ,
303+ ' configfile-baksnapper-args' : [],
304+ ' suite' : [' denotebak' , ' backup' ],
305+ ' depends' : [baksnapperd_denotebak],
306+ ' env' : denotebak_test_env,
307+ },
308+ {
309+ ' name' : ' denotebak-latest' ,
310+ ' runner-args' : [
311+ ' --sender' , ' ,' .join([
312+ ' 20251023T130000:t=dailies' ,
313+ ' 20251025T120000' ,
314+ ' 20251025T160000:t=hourly' ]),
315+ ' --expected' , ' ,' .join([
316+ ' 20251025T160000' ]),
317+ ' --expected-latest' , ' 20251025T160000' ,
318+ ' --type' , ' denotebak' ,
319+ ],
320+ ' baksnapper-args' : [
321+ baksnapper[0 ].full_path(),
322+ ' --daemon' , baksnapperd_denotebak[0 ].full_path(),
323+ ' --link' ,
324+ ],
325+ ' configfile' : ' denotebak-latest' ,
326+ ' configfile-baksnapper-args' : [],
327+ ' suite' : [' denotebak' , ' latest' ],
328+ ' depends' : [baksnapperd_denotebak],
329+ ' env' : denotebak_test_env,
330+ },
331+ {
332+ ' name' : ' denotebak-prune' ,
333+ ' runner-args' : [
334+ ' --sender' , ' ,' .join([
335+ ' 20251023T130000:t=dailies' ,
336+ ' 20251025T120000' ,
337+ ' 20251025T130000:t=dailies' ,
338+ ' 20251025T140000:t=hourly' ,
339+ ' 20251025T150000:t=hourly' ,
340+ ' 20251025T160000:t=hourly' ]),
341+ ' --receiver' , ' ,' .join([
342+ ' 20251023T130000' ,
343+ ' 20251023T180000' ,
344+ ' 20251024T090000' ,
345+ ' 20251024T130000' ,
346+ ' 20251024T180000' ,
347+ ' 20251025T120000' ,
348+ ' 20251025T130000' ]),
349+ ' --expected' , ' ,' .join([
350+ ' 20251023T130000' ,
351+ ' 20251025T120000' ,
352+ ' 20251025T130000' ,
353+ ' 20251025T160000:p=20251025T130000' ]),
354+ ' --type' , ' denotebak' ,
355+ ],
356+ ' baksnapper-args' : [
357+ baksnapper[0 ].full_path(),
358+ ' --daemon' , baksnapperd_denotebak[0 ].full_path(),
359+ ' --prune' ,
360+ ],
361+ ' configfile' : ' denotebak-prune' ,
362+ ' configfile-baksnapper-args' : [],
363+ ' suite' : [' denotebak' , ' prune' ],
364+ ' depends' : [baksnapperd_denotebak],
365+ ' env' : denotebak_test_env,
366+ },
367+ {
368+ ' name' : ' denotebak-backup-20251025T150000' ,
369+ ' runner-args' : [
370+ ' --sender' , ' ,' .join([
371+ ' 20251025T140000:t=hourly' ,
372+ ' 20251025T150000:t=hourly' ,
373+ ' 20251025T160000:t=hourly' ]),
374+ ' --expected' , ' ,' .join([
375+ ' 20251025T150000' ]),
376+ ' --type' , ' denotebak' ,
377+ ],
378+ ' baksnapper-args' : [
379+ baksnapper[0 ].full_path(),
380+ ' --daemon' , baksnapperd_denotebak[0 ].full_path(),
381+ ' --snapshot' , ' 20251025T150000' ,
382+ ],
383+ ' configfile' : ' denotebak-default' ,
384+ ' configfile-baksnapper-args' : [],
385+ ' suite' : [' denotebak' , ' backup' ],
386+ ' depends' : [baksnapperd_denotebak],
387+ ' env' : denotebak_test_env,
388+ },
389+ {
390+ ' name' : ' denotebak-delete-20251025T140000' ,
391+ ' runner-args' : [
392+ ' --sender' , ' ,' .join([
393+ ' 20251025T140000:t=hourly' ,
394+ ' 20251025T150000:t=hourly' ,
395+ ' 20251025T160000:t=hourly' ]),
396+ ' --receiver' , ' ,' .join([
397+ ' 20251025T140000' ,
398+ ' 20251025T150000' ,
399+ ' 20251025T160000' ]),
400+ ' --expected' , ' ,' .join([
401+ ' 20251025T150000' ,
402+ ' 20251025T160000' ]),
403+ ' --type' , ' denotebak' ,
404+ ],
405+ ' baksnapper-args' : [
406+ baksnapper[0 ].full_path(),
407+ ' --daemon' , baksnapperd_denotebak[0 ].full_path(),
408+ ' --delete' , ' 20251025T140000' ,
409+ ],
410+ ' configfile' : ' denotebak-default' ,
411+ ' configfile-baksnapper-args' : [],
412+ ' suite' : [' denotebak' , ' delete' ],
413+ ' depends' : [baksnapperd_denotebak],
414+ ' env' : denotebak_test_env,
415+ },
416+ {
417+ ' name' : ' denotebak-delete-20251025T140000,20251025T160000' ,
418+ ' runner-args' : [
419+ ' --sender' , ' ,' .join([
420+ ' 20251025T140000:t=hourly' ,
421+ ' 20251025T150000:t=hourly' ,
422+ ' 20251025T160000:t=hourly' ]),
423+ ' --receiver' , ' ,' .join([
424+ ' 20251025T140000:t=hourly' ,
425+ ' 20251025T150000' ,
426+ ' 20251025T160000' ]),
427+ ' --expected' , ' ,' .join([
428+ ' 20251025T150000' ]),
429+ ' --type' , ' denotebak' ,
430+ ],
431+ ' baksnapper-args' : [
432+ baksnapper[0 ].full_path(),
433+ ' --daemon' , baksnapperd_denotebak[0 ].full_path(),
434+ ' --delete' , ' 20251025T140000,20251025T160000' ,
435+ ],
436+ ' configfile' : ' denotebak-default' ,
437+ ' configfile-baksnapper-args' : [],
438+ ' suite' : [' denotebak' , ' delete' ],
439+ ' depends' : [baksnapperd_denotebak],
440+ ' env' : denotebak_test_env,
441+ },
442+ {
443+ ' name' : ' denotebak-backup-with-right-parent' ,
444+ ' runner-args' : [
445+ ' --sender' , ' ,' .join([
446+ ' 20251023T130000:t=dailies' ,
447+ ' 20251023T180000:t=dailies' ,
448+ ' 20251024T090000:t=dailies' ,
449+ ' 20251024T130000:t=dailies' ,
450+ ' 20251024T180000:t=dailies' ,
451+ ' 20251025T120000' ,
452+ ' 20251025T130000:t=dailies' ,
453+ ' 20251025T140000:t=hourly' ,
454+ ' 20251025T150000:t=hourly' ,
455+ ' 20251025T160000:t=hourly' ]),
456+ ' --receiver' , ' ,' .join([
457+ ' 20251023T130000' ,
458+ ' 20251023T180000:p=20251023T130000' ,
459+ ' 20251024T090000:p=20251023T180000' ,
460+ ' 20251024T130000:p=20251024T090000' ,
461+ ' 20251024T180000:p=20251024T130000' ,
462+ ' 20251025T120000:p=20251024T180000' ,
463+ ' 20251025T130000:p=20251025T120000' ]),
464+ ' --expected' , ' ,' .join([
465+ ' 20251023T130000' ,
466+ ' 20251023T180000:p=20251023T130000' ,
467+ ' 20251024T090000:p=20251023T180000' ,
468+ ' 20251024T130000:p=20251024T090000' ,
469+ ' 20251024T180000:p=20251024T130000' ,
470+ ' 20251025T120000:p=20251024T180000' ,
471+ ' 20251025T130000:p=20251025T120000' ,
472+ ' 20251025T160000:p=20251025T130000' ]),
473+ ' --type' , ' denotebak' ,
474+ ],
475+ ' baksnapper-args' : [
476+ baksnapper[0 ].full_path(),
477+ ' --daemon' , baksnapperd_denotebak[0 ].full_path(),
478+ ],
479+ ' configfile' : ' denotebak-default' ,
480+ ' configfile-baksnapper-args' : [],
481+ ' suite' : [' denotebak' , ' backup' ],
482+ ' depends' : [baksnapperd_denotebak],
483+ ' env' : denotebak_test_env,
484+ },
485+ {
486+ ' name' : ' denotebak-backup-all-with-right-parent' ,
487+ ' runner-args' : [
488+ ' --sender' , ' ,' .join([
489+ ' 20251023T130000:t=dailies' ,
490+ ' 20251023T180000:t=dailies' ,
491+ ' 20251024T090000:t=dailies' ,
492+ ' 20251024T130000:t=dailies' ,
493+ ' 20251024T180000:t=dailies' ,
494+ ' 20251025T120000' ,
495+ ' 20251025T130000:t=dailies' ,
496+ ' 20251025T140000:t=hourly' ,
497+ ' 20251025T150000:t=hourly' ,
498+ ' 20251025T160000:t=hourly' ]),
499+ ' --receiver' , ' ,' .join([
500+ ' 20251023T130000' ,
501+ ' 20251023T180000:p=20251023T130000' ,
502+ ' 20251024T090000:p=20251023T180000' ,
503+ ' 20251024T130000:p=20251024T090000' ,
504+ ' 20251024T180000:p=20251024T130000' ,
505+ ' 20251025T120000:p=20251024T180000' ,
506+ ' 20251025T130000:p=20251025T120000' ]),
507+ ' --expected' , ' ,' .join([
508+ ' 20251023T130000' ,
509+ ' 20251023T180000:p=20251023T130000' ,
510+ ' 20251024T090000:p=20251023T180000' ,
511+ ' 20251024T130000:p=20251024T090000' ,
512+ ' 20251024T180000:p=20251024T130000' ,
513+ ' 20251025T120000:p=20251024T180000' ,
514+ ' 20251025T130000:p=20251025T120000' ,
515+ ' 20251025T140000:p=20251025T130000' ,
516+ ' 20251025T150000:p=20251025T140000' ,
517+ ' 20251025T160000:p=20251025T150000' ]),
518+ ' --type' , ' denotebak' ,
519+ ],
520+ ' baksnapper-args' : [
521+ baksnapper[0 ].full_path(),
522+ ' --daemon' , baksnapperd_denotebak[0 ].full_path(),
523+ ' --all' ,
524+ ],
525+ ' configfile' : ' denotebak-all' ,
526+ ' configfile-baksnapper-args' : [],
527+ ' suite' : [' denotebak' , ' backup' ],
528+ ' depends' : [baksnapperd_denotebak],
529+ ' env' : denotebak_test_env,
530+ },
286531]
287532 foreach conf : [
288533 {
0 commit comments