-# Copyright (c) 2009, 2010 Zmanda Inc. All Rights Reserved.
+# Copyright (c) 2009-2012 Zmanda Inc. All Rights Reserved.
#
-# This program is free software; you can redistribute it and/or modify it
-# under the terms of the GNU General Public License version 2 as published
-# by the Free Software Foundation.
+# This program 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 2
+# of the License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
check_inventory($chg, $mtx_config->{'barcodes'} > 0, $steps->{'load_slot_1'}, [
{ slot => 1, state => Amanda::Changer::SLOT_FULL,
barcode => '11111', current => 1,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 2, state => Amanda::Changer::SLOT_FULL,
barcode => '22222',
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 3, state => Amanda::Changer::SLOT_FULL,
barcode => '33333',
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 4, state => Amanda::Changer::SLOT_FULL,
barcode => '44444',
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 5, state => Amanda::Changer::SLOT_EMPTY,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
], "$pfx: inventory is correct on start-up");
};
check_inventory($chg, $mtx_config->{'barcodes'} > 0, $steps->{'load_slot_3'}, [
{ slot => 1, state => Amanda::Changer::SLOT_FULL,
barcode => '11111', reserved => 1, loaded_in => 0, current => 1,
- device_status => undef, f_type => undef, label => undef },
+ device_status => $DEVICE_STATUS_VOLUME_UNLABELED,
+ device_error => "File 0 not found",
+ f_type => $Amanda::Header::F_EMPTY, label => undef },
{ slot => 2, state => Amanda::Changer::SLOT_FULL,
barcode => '22222', reserved => 1, loaded_in => 1,
- device_status => undef, f_type => undef, label => undef },
+ device_status => $DEVICE_STATUS_VOLUME_UNLABELED,
+ device_error => "File 0 not found",
+ f_type => $Amanda::Header::F_EMPTY, label => undef },
{ slot => 3, state => Amanda::Changer::SLOT_FULL,
barcode => '33333',
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 4, state => Amanda::Changer::SLOT_FULL,
barcode => '44444',
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 5, state => Amanda::Changer::SLOT_EMPTY,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
], "$pfx: inventory is updated when slots are loaded");
};
check_inventory($chg, $mtx_config->{'barcodes'} > 0, $steps->{'check_state_after_release1'}, [
{ slot => 1, state => Amanda::Changer::SLOT_FULL,
barcode => '11111', reserved => 1, loaded_in => 0, current => 1,
- device_status => $DEVICE_STATUS_SUCCESS,
+ device_status => $DEVICE_STATUS_SUCCESS, device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-1' },
{ slot => 2, state => Amanda::Changer::SLOT_FULL,
barcode => '22222', loaded_in => 1,
- device_status => $DEVICE_STATUS_SUCCESS,
+ device_status => $DEVICE_STATUS_SUCCESS, device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-2' },
{ slot => 3, state => Amanda::Changer::SLOT_FULL,
barcode => '33333',
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 4, state => Amanda::Changer::SLOT_FULL,
barcode => '44444',
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 5, state => Amanda::Changer::SLOT_EMPTY,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
], "$pfx: inventory is still up to date");
};
check_inventory($chg, $mtx_config->{'barcodes'} > 0, $steps->{'release2'}, [
{ slot => 1, state => Amanda::Changer::SLOT_FULL,
barcode => '11111',
- device_status => $DEVICE_STATUS_SUCCESS,
+ device_status => $DEVICE_STATUS_SUCCESS, device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-1',
reserved => 1, loaded_in => 0 },
{ slot => 2, state => Amanda::Changer::SLOT_FULL,
barcode => '22222',
- device_status => $DEVICE_STATUS_SUCCESS,
+ device_status => $DEVICE_STATUS_SUCCESS, device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-2' },
{ slot => 3, state => Amanda::Changer::SLOT_FULL,
barcode => '33333',
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 4, state => Amanda::Changer::SLOT_FULL,
barcode => '44444', reserved => 1, loaded_in => 1, current => 1,
- device_status => $DEVICE_STATUS_SUCCESS,
+ device_status => $DEVICE_STATUS_SUCCESS, device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-4' },
{ slot => 5, state => Amanda::Changer::SLOT_EMPTY,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
], "$pfx: inventory is up to date after more labelings");
};
check_inventory($chg, $mtx_config->{'barcodes'} > 0, $steps->{'try_update'}, [
{ slot => 1, state => Amanda::Changer::SLOT_FULL,
barcode => '11111', loaded_in => 1,
- device_status => $DEVICE_STATUS_SUCCESS,
+ device_status => $DEVICE_STATUS_SUCCESS, device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-1' },
{ slot => 2, state => Amanda::Changer::SLOT_FULL,
barcode => '22222', loaded_in => 0,
- device_status => $DEVICE_STATUS_SUCCESS,
+ device_status => $DEVICE_STATUS_SUCCESS, device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-2' },
{ slot => 3, state => Amanda::Changer::SLOT_FULL,
barcode => '33333',
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 4, state => Amanda::Changer::SLOT_FULL,
barcode => '44444', current => 1,
- device_status => $DEVICE_STATUS_SUCCESS,
+ device_status => $DEVICE_STATUS_SUCCESS, device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-4' },
{ slot => 5, state => Amanda::Changer::SLOT_EMPTY,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
], "$pfx: inventory still accurate");
};
{ slot => 1, state => Amanda::Changer::SLOT_FULL,
barcode => '11111',
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-1' },
{ slot => 2, state => Amanda::Changer::SLOT_FULL,
barcode => '22222',
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'SURPRISE!' },
{ slot => 3, state => Amanda::Changer::SLOT_FULL,
barcode => '33333', loaded_in => 1,
- device_status => undef, f_type => undef, label => 'TAPE-3' },
+ device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
+ f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-3' },
{ slot => 4, state => Amanda::Changer::SLOT_FULL,
barcode => '44444', loaded_in => 0, current => 1,
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-4' },
{ slot => 5, state => Amanda::Changer::SLOT_EMPTY,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
], "$pfx: inventory reflects updates");
};
{ slot => 1, state => Amanda::Changer::SLOT_FULL,
barcode => '11111',
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-1' },
{ slot => 2, state => Amanda::Changer::SLOT_EMPTY,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 3, state => Amanda::Changer::SLOT_FULL,
barcode => '33333', loaded_in => 1,
- device_status => undef, f_type => undef, label => 'TAPE-3' },
+ device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
+ f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-3' },
{ slot => 4, state => Amanda::Changer::SLOT_FULL,
barcode => '22222', current => 1,
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'SURPRISE!' },
{ slot => 5, state => Amanda::Changer::SLOT_FULL,
barcode => '44444',
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-4' },
], "$pfx: inventory reflects the move");
};
{ slot => 1, state => Amanda::Changer::SLOT_FULL,
barcode => '11111', loaded_in => 1,
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-1' },
{ slot => 2, state => Amanda::Changer::SLOT_EMPTY,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 3, state => Amanda::Changer::SLOT_FULL,
barcode => '33333', loaded_in => 0,
- device_status => undef, f_type => undef, label => 'TAPE-3' },
+ device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
+ f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-3' },
{ slot => 4, state => Amanda::Changer::SLOT_FULL,
barcode => '22222', current => 1,
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-2' },
{ slot => 5, state => Amanda::Changer::SLOT_FULL,
barcode => '44444',
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-4' },
], "$pfx: inventory before updates with unknown state");
};
{ slot => 1, state => Amanda::Changer::SLOT_FULL,
barcode => '11111', loaded_in => 1,
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-1' },
{ slot => 2, state => Amanda::Changer::SLOT_EMPTY,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 3, state => Amanda::Changer::SLOT_FULL,
barcode => '33333', loaded_in => 0,
- device_status => undef, f_type => undef, label => 'TAPE-3' },
+ device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
+ f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-3' },
{ slot => 4, state => Amanda::Changer::SLOT_FULL,
barcode => '22222', current => 1,
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-2' },
{ slot => 5, state => Amanda::Changer::SLOT_FULL,
barcode => '44444',
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-4' },
- ], "$pfx: inventory reflects updates with unknown state with barcodes");
+ ], "$pfx: inventory reflects updates wrcodesith unknown state with barcodes");
} else {
check_inventory($chg, $mtx_config->{'barcodes'} > 0, $steps->{'quit'}, [
{ slot => 1, state => Amanda::Changer::SLOT_FULL,
barcode => '11111', loaded_in => 1,
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-1' },
{ slot => 2, state => Amanda::Changer::SLOT_EMPTY,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 3, state => Amanda::Changer::SLOT_FULL,
barcode => '33333', loaded_in => 0,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 4, state => Amanda::Changer::SLOT_FULL,
barcode => '22222', current => 1,
- device_status => undef, f_type => undef, label => undef },
+ device_status => undef, device_error => undef,
+ f_type => undef, label => undef },
{ slot => 5, state => Amanda::Changer::SLOT_FULL,
barcode => '44444',
device_status => $DEVICE_STATUS_SUCCESS,
+ device_error => undef,
f_type => $Amanda::Header::F_TAPESTART, label => 'TAPE-4' },
], "$pfx: inventory reflects updates with unknown state without barcodes");
}