/tests/zfs-tests/tests/functional/cli_root/zpool_import/zpool_import_013_neg.ksh

https://github.com/adilger/zfs · Korn Shell · 74 lines · 24 code · 12 blank · 38 comment · 3 complexity · 9680bd540590bb51d24698876a056cbc MD5 · raw file

  1. #!/bin/ksh -p
  2. #
  3. # CDDL HEADER START
  4. #
  5. # The contents of this file are subject to the terms of the
  6. # Common Development and Distribution License (the "License").
  7. # You may not use this file except in compliance with the License.
  8. #
  9. # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
  10. # or http://www.opensolaris.org/os/licensing.
  11. # See the License for the specific language governing permissions
  12. # and limitations under the License.
  13. #
  14. # When distributing Covered Code, include this CDDL HEADER in each
  15. # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
  16. # If applicable, add the following below this CDDL HEADER, with the
  17. # fields enclosed by brackets "[]" replaced with your own identifying
  18. # information: Portions Copyright [yyyy] [name of copyright owner]
  19. #
  20. # CDDL HEADER END
  21. #
  22. #
  23. # Copyright 2007 Sun Microsystems, Inc. All rights reserved.
  24. # Use is subject to license terms.
  25. #
  26. #
  27. # Copyright (c) 2012, 2016 by Delphix. All rights reserved.
  28. #
  29. . $STF_SUITE/include/libtest.shlib
  30. . $STF_SUITE/tests/functional/cli_root/zpool_import/zpool_import.cfg
  31. #
  32. # DESCRIPTION:
  33. # For pool may be in use from other system,
  34. # 'zpool import' will prompt the warning and fails.
  35. #
  36. # STRATEGY:
  37. # 1. Prepare rawfile that are created from other system.
  38. # 2. Verify 'zpool import' will fail.
  39. # 3. Verify 'zpool import -f' succeed.
  40. #
  41. verify_runnable "global"
  42. POOL_NAME=unclean_export
  43. POOL_FILE=unclean_export.dat
  44. function uncompress_pool
  45. {
  46. log_note "Creating pool from $POOL_FILE"
  47. log_must bzcat \
  48. $STF_SUITE/tests/functional/cli_root/zpool_import/blockfiles/$POOL_FILE.bz2 \
  49. > /$TESTPOOL/$POOL_FILE
  50. return 0
  51. }
  52. function cleanup
  53. {
  54. poolexists $POOL_NAME && destroy_pool $POOL_NAME
  55. rm -f /$TESTPOOL/$POOL_FILE
  56. }
  57. log_assert "'zpool import' fails for pool that was not cleanly exported"
  58. log_onexit cleanup
  59. uncompress_pool
  60. log_mustnot zpool import -d /$TESTPOOL $POOL_NAME
  61. log_must zpool import -d /$TESTPOOL -f $POOL_NAME
  62. log_pass "'zpool import' fails for pool that was not cleanly exported"