#!/usr/bin/env python
# -*- Mode: Python; indent-tabs-mode: nil; tab-width: 2; coding: utf-8 -*-
#
# This file is part of Déjà Dup.
# For copyright information, see AUTHORS.
#
# Déjà Dup is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# Déjà Dup is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with Déjà Dup.  If not, see <http://www.gnu.org/licenses/>.

import sys
scriptdir=sys.path[0]
sys.path.insert(0, scriptdir+'/..')
import base
import os
import tempfile

# Set up our duplicity wrapper to be called by deja-dup
os.environ['PATH'] = os.path.join(scriptdir, 'bad-volume-bin') + ":" + os.environ['PATH']

# TODO: These aren't done yet; ldtp in Ubuntu 11.10 is crazy right now
# I've done manually similar testing though.

def set_skip_volumes(vols):
  (fd, name) = tempfile.mkstemp()
  f = os.fdopen(fd, 'wb')
  f.write(' '.join([str(x) for x in vols]))
  f.close()
  os.environ['DEJA_DUP_TEST_SKIP_FILE'] = name
  base.cleanup_dirs.append(name)

def test():
  base.setup()
  if not base.dup_meets_version(0, 6, 16): base.skip()
  set_skip_volumes([3, 3, 3])
  base.backup_simple(backend='file', encrypt=False, includes=['/usr/bin'],
                     error='lblBlarg')

def test():
  base.setup()
  if not base.dup_meets_version(0, 6, 16): base.skip()
  set_skip_volumes([1, 2, 3, 4])
  base.backup_simple(backend='file', encrypt=False, includes=['/usr/bin'])

base.run(test)
