qb 0.3.12 → 0.3.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (367) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +3 -1
  3. data/README.md +42 -26
  4. data/ansible.cfg +7 -0
  5. data/doc/common_issues/qb_run/slow_gather_facts.md +51 -0
  6. data/doc/getting_started.md +84 -0
  7. data/doc/intro.md +67 -0
  8. data/doc/notes/2018.01.06.ansible_devel_submodule.md +29 -0
  9. data/doc/qb_roles.md +155 -0
  10. data/doc/qb_roles/metadata/default_dir.md +116 -0
  11. data/exe/qb +16 -14
  12. data/lib/qb.rb +5 -20
  13. data/lib/qb/ansible/cmds/playbook.rb +3 -4
  14. data/lib/qb/ansible/env.rb +22 -2
  15. data/lib/qb/ansible/env/devel.rb +49 -0
  16. data/lib/qb/cli.rb +3 -1
  17. data/lib/qb/cli/help.rb +1 -1
  18. data/lib/qb/cli/list.rb +47 -0
  19. data/lib/qb/cli/run.rb +41 -15
  20. data/lib/qb/cli/setup.rb +35 -2
  21. data/lib/qb/options.rb +57 -30
  22. data/lib/qb/role.rb +32 -170
  23. data/lib/qb/role/default_dir.rb +231 -0
  24. data/lib/qb/role/errors.rb +18 -10
  25. data/lib/qb/role/name.rb +139 -0
  26. data/lib/qb/util/logging.rb +0 -7
  27. data/lib/qb/version.rb +1 -1
  28. data/library/stream +5 -0
  29. data/plugins/filter_plugins/string_plugins.py +2 -3
  30. data/plugins/filter_plugins/version_plugins.py +11 -0
  31. data/qb.gemspec +158 -62
  32. data/roles/nrser.blockinfile/library/blockinfile.py +14 -0
  33. data/roles/qb.git_repo/tasks/main.yml +3 -3
  34. data/roles/qb.npm_package/meta/main.yml +2 -2
  35. data/roles/qb.npm_package/meta/qb.yml +3 -3
  36. data/roles/qb.vars/meta/qb.yml +8 -7
  37. data/roles/qb.vars/tasks/main.yml +10 -1
  38. data/roles/qb/call/defaults/main.yml +2 -0
  39. data/roles/qb/call/meta/main.yml +8 -0
  40. data/roles/qb/call/meta/qb.yml +68 -0
  41. data/roles/qb/call/tasks/main.yml +92 -0
  42. data/roles/qb/gem/new/meta/qb.yml +1 -1
  43. data/roles/qb/gem/new/tasks/main.yml +3 -3
  44. data/roles/qb/gem/release/tasks/main.yml +3 -5
  45. data/roles/{qb.gitignore → qb/git/ignore}/defaults/main.yml +1 -1
  46. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  47. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Actionscript.gitignore +2 -3
  48. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Ada.gitignore +0 -0
  49. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Agda.gitignore +0 -0
  50. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Android.gitignore +3 -2
  51. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/AppEngine.gitignore +0 -0
  52. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/AppceleratorTitanium.gitignore +0 -0
  53. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/ArchLinuxPackages.gitignore +0 -0
  54. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Autotools.gitignore +9 -0
  55. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/C++.gitignore +0 -0
  56. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/C.gitignore +0 -0
  57. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/CFWheels.gitignore +0 -0
  58. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/CMake.gitignore +0 -0
  59. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/CONTRIBUTING.md +0 -0
  60. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/CUDA.gitignore +0 -0
  61. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/CakePHP.gitignore +0 -0
  62. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/ChefCookbook.gitignore +0 -0
  63. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Clojure.gitignore +0 -0
  64. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/CodeIgniter.gitignore +0 -0
  65. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/CommonLisp.gitignore +0 -0
  66. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Composer.gitignore +1 -1
  67. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Concrete5.gitignore +0 -0
  68. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Coq.gitignore +0 -0
  69. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/CraftCMS.gitignore +0 -0
  70. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/D.gitignore +0 -0
  71. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/DM.gitignore +0 -0
  72. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Dart.gitignore +0 -0
  73. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Delphi.gitignore +0 -0
  74. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Drupal.gitignore +3 -0
  75. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/EPiServer.gitignore +0 -0
  76. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Eagle.gitignore +0 -0
  77. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Elisp.gitignore +0 -0
  78. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Elixir.gitignore +2 -0
  79. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Elm.gitignore +0 -0
  80. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Erlang.gitignore +0 -0
  81. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/ExpressionEngine.gitignore +0 -0
  82. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/ExtJs.gitignore +2 -0
  83. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Fancy.gitignore +0 -0
  84. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Finale.gitignore +0 -0
  85. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/ForceDotCom.gitignore +0 -0
  86. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Fortran.gitignore +0 -0
  87. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/FuelPHP.gitignore +0 -0
  88. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/GWT.gitignore +0 -0
  89. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Gcov.gitignore +0 -0
  90. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Gem.gitignore +0 -0
  91. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/GitBook.gitignore +0 -0
  92. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Anjuta.gitignore +0 -0
  93. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Ansible.gitignore +0 -0
  94. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Archives.gitignore +2 -2
  95. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Bazaar.gitignore +0 -0
  96. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/BricxCC.gitignore +0 -0
  97. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/CVS.gitignore +0 -0
  98. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Calabash.gitignore +0 -0
  99. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Cloud9.gitignore +0 -0
  100. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/CodeKit.gitignore +0 -0
  101. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/DartEditor.gitignore +0 -0
  102. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Dreamweaver.gitignore +0 -0
  103. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Dropbox.gitignore +0 -0
  104. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Eclipse.gitignore +0 -0
  105. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/EiffelStudio.gitignore +0 -0
  106. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Emacs.gitignore +0 -0
  107. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Ensime.gitignore +0 -0
  108. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Espresso.gitignore +0 -0
  109. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/FlexBuilder.gitignore +0 -0
  110. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/GPG.gitignore +0 -0
  111. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/JDeveloper.gitignore +0 -0
  112. data/roles/qb/git/ignore/files/gitignore/Global/JEnv.gitignore +5 -0
  113. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/JetBrains.gitignore +2 -1
  114. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/KDevelop4.gitignore +0 -0
  115. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Kate.gitignore +0 -0
  116. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Lazarus.gitignore +0 -0
  117. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/LibreOffice.gitignore +0 -0
  118. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Linux.gitignore +0 -0
  119. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/LyX.gitignore +0 -0
  120. data/roles/qb/git/ignore/files/gitignore/Global/Matlab.gitignore +25 -0
  121. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Mercurial.gitignore +0 -0
  122. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/MicrosoftOffice.gitignore +0 -0
  123. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/ModelSim.gitignore +0 -0
  124. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Momentics.gitignore +0 -0
  125. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/MonoDevelop.gitignore +0 -0
  126. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/NetBeans.gitignore +0 -0
  127. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Ninja.gitignore +0 -0
  128. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/NotepadPP.gitignore +0 -0
  129. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Otto.gitignore +0 -0
  130. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/README.md +0 -0
  131. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Redcar.gitignore +0 -0
  132. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Redis.gitignore +0 -0
  133. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/SBT.gitignore +0 -0
  134. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/SVN.gitignore +0 -0
  135. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/SlickEdit.gitignore +0 -0
  136. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Stata.gitignore +0 -0
  137. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/SublimeText.gitignore +5 -5
  138. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/SynopsysVCS.gitignore +0 -0
  139. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Tags.gitignore +0 -0
  140. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/TextMate.gitignore +0 -0
  141. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/TortoiseGit.gitignore +0 -0
  142. data/roles/qb/git/ignore/files/gitignore/Global/Vagrant.gitignore +5 -0
  143. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Vim.gitignore +6 -4
  144. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/VirtualEnv.gitignore +0 -0
  145. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/VisualStudioCode.gitignore +0 -0
  146. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/WebMethods.gitignore +0 -0
  147. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Windows.gitignore +4 -1
  148. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/Xcode.gitignore +9 -9
  149. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/XilinxISE.gitignore +0 -0
  150. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Global/macOS.gitignore +2 -1
  151. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Go.gitignore +0 -3
  152. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Gradle.gitignore +0 -0
  153. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Grails.gitignore +0 -0
  154. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Haskell.gitignore +2 -0
  155. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/IGORPro.gitignore +0 -0
  156. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Idris.gitignore +0 -0
  157. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Java.gitignore +0 -0
  158. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Jboss.gitignore +0 -0
  159. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Jekyll.gitignore +1 -0
  160. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Joomla.gitignore +1 -1
  161. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Julia.gitignore +0 -0
  162. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/KiCad.gitignore +0 -0
  163. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Kohana.gitignore +0 -0
  164. data/roles/qb/git/ignore/files/gitignore/Kotlin.gitignore +1 -0
  165. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/LICENSE +0 -0
  166. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/LabVIEW.gitignore +0 -0
  167. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Laravel.gitignore +0 -0
  168. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Leiningen.gitignore +0 -0
  169. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/LemonStand.gitignore +0 -0
  170. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Lilypond.gitignore +0 -0
  171. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Lithium.gitignore +0 -0
  172. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Lua.gitignore +0 -0
  173. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Magento.gitignore +0 -0
  174. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Maven.gitignore +0 -0
  175. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Mercury.gitignore +0 -0
  176. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/MetaProgrammingSystem.gitignore +0 -0
  177. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Nanoc.gitignore +1 -1
  178. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Nim.gitignore +0 -0
  179. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Node.gitignore +1 -1
  180. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/OCaml.gitignore +3 -0
  181. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Objective-C.gitignore +0 -0
  182. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Opa.gitignore +0 -0
  183. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/OpenCart.gitignore +0 -0
  184. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/OracleForms.gitignore +0 -0
  185. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Packer.gitignore +0 -0
  186. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Perl.gitignore +1 -1
  187. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Phalcon.gitignore +0 -0
  188. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/PlayFramework.gitignore +0 -0
  189. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Plone.gitignore +0 -0
  190. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Prestashop.gitignore +3 -1
  191. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Processing.gitignore +0 -0
  192. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/PureScript.gitignore +0 -0
  193. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Python.gitignore +11 -5
  194. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/QB.gitignore +0 -0
  195. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Qooxdoo.gitignore +0 -0
  196. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Qt.gitignore +8 -0
  197. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/R.gitignore +0 -0
  198. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/README.md +2 -2
  199. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/ROS.gitignore +2 -0
  200. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Rails.gitignore +4 -0
  201. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/RhodesRhomobile.gitignore +0 -0
  202. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Ruby.gitignore +0 -16
  203. data/roles/qb/git/ignore/files/gitignore/RubyMotion.gitignore +30 -0
  204. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Rust.gitignore +0 -0
  205. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/SCons.gitignore +0 -0
  206. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Sass.gitignore +0 -0
  207. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Scala.gitignore +0 -0
  208. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Scheme.gitignore +0 -0
  209. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Scrivener.gitignore +0 -0
  210. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Sdcc.gitignore +0 -0
  211. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/SeamGen.gitignore +0 -0
  212. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/SketchUp.gitignore +0 -0
  213. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Smalltalk.gitignore +4 -0
  214. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Stella.gitignore +0 -0
  215. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/SugarCRM.gitignore +2 -2
  216. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Swift.gitignore +1 -0
  217. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Symfony.gitignore +7 -0
  218. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/SymphonyCMS.gitignore +0 -0
  219. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/TeX.gitignore +6 -1
  220. data/roles/qb/git/ignore/files/gitignore/Terraform.gitignore +9 -0
  221. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Textpattern.gitignore +0 -0
  222. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/TurboGears2.gitignore +0 -0
  223. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Typo3.gitignore +0 -0
  224. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Umbraco.gitignore +7 -0
  225. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Unity.gitignore +7 -6
  226. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/UnrealEngine.gitignore +2 -0
  227. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/VVVV.gitignore +0 -0
  228. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/VisualStudio.gitignore +37 -6
  229. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Waf.gitignore +0 -0
  230. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/WordPress.gitignore +1 -0
  231. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Xojo.gitignore +0 -0
  232. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Yeoman.gitignore +0 -0
  233. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Yii.gitignore +0 -0
  234. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/ZendFramework.gitignore +0 -1
  235. data/roles/{qb.gitignore → qb/git/ignore}/files/gitignore/Zephir.gitignore +0 -0
  236. data/roles/{qb.gitignore → qb/git/ignore}/meta/main.yml +1 -1
  237. data/roles/{qb.gitignore → qb/git/ignore}/meta/qb +5 -0
  238. data/roles/{qb.gitignore → qb/git/ignore}/tasks/main.yml +9 -1
  239. data/roles/qb/github/pages/setup/defaults/main.yml +2 -0
  240. data/roles/qb/github/pages/setup/meta/main.yml +8 -0
  241. data/roles/qb/github/pages/setup/meta/qb.yml +68 -0
  242. data/roles/qb/github/pages/setup/tasks/main.yml +10 -0
  243. data/roles/{qb.project → qb/project}/.qb-options.yml +1 -1
  244. data/roles/{qb.project → qb/project}/defaults/main.yml +1 -1
  245. data/roles/{qb.project → qb/project}/files/ansible.cfg +0 -0
  246. data/roles/{qb.project → qb/project}/files/hosts +0 -0
  247. data/roles/qb/project/meta/main.yml +6 -0
  248. data/roles/{qb.project → qb/project}/meta/qb.yml +4 -2
  249. data/roles/{qb.project → qb/project}/qb/get_dir +0 -0
  250. data/roles/qb/project/tasks/dev.yml +53 -0
  251. data/roles/{qb.project → qb/project}/tasks/main.yml +3 -2
  252. data/roles/{qb.project → qb/project}/templates/.gitkeep +0 -0
  253. data/roles/qb/project/templates/README.md.j2 +4 -0
  254. data/roles/qb/project/templates/setup.qb.yml.j2 +52 -0
  255. data/roles/{qb.project → qb/project}/templates/setup.yml.j2 +0 -0
  256. data/roles/{qb.role → qb/role}/.qb-options.yml +0 -0
  257. data/roles/{qb.role → qb/role}/defaults/main.yml +4 -1
  258. data/roles/{qb.role → qb/role}/meta/main.yml +1 -1
  259. data/roles/{qb.role → qb/role}/meta/qb.yml +2 -2
  260. data/roles/qb/role/qb/meta/main.yml +1 -1
  261. data/roles/qb/role/qb/meta/qb.yml +1 -1
  262. data/roles/qb/role/qb/tasks/main.yml +4 -2
  263. data/roles/qb/role/qb/templates/qb.yml.j2 +1 -1
  264. data/roles/{qb.role → qb/role}/tasks/main.yml +3 -2
  265. data/roles/{qb.role → qb/role}/tasks/module.yml +0 -0
  266. data/roles/{qb.role → qb/role}/tasks/plugins/_filter_plugin.yml +0 -0
  267. data/roles/{qb.role → qb/role}/tasks/plugins/filter_plugins.yml +5 -5
  268. data/roles/{qb.role → qb/role}/templates/.gitkeep +0 -0
  269. data/roles/{qb.role → qb/role}/templates/README.md.j2 +0 -0
  270. data/roles/{qb.role → qb/role}/templates/defaults/main.yml.j2 +0 -0
  271. data/roles/{qb.role → qb/role}/templates/filter_plugins/filters.py.j2 +0 -0
  272. data/roles/{qb.role → qb/role}/templates/handlers/main.yml.j2 +0 -0
  273. data/roles/{qb.role → qb/role}/templates/library/module.rb.j2 +0 -0
  274. data/roles/{qb.role → qb/role}/templates/meta/main.yml.j2 +0 -0
  275. data/roles/{qb.role → qb/role}/templates/tasks/main.yml.j2 +0 -0
  276. data/roles/{qb.role → qb/role}/templates/vars/main.yml.j2 +0 -0
  277. data/roles/{qb.role → qb/role}/vars/main.yml +1 -1
  278. data/roles/qb/ruby/bundler/.qb-options.yml +4 -0
  279. data/roles/qb/ruby/bundler/defaults/main.yml +7 -0
  280. data/roles/qb/ruby/bundler/filter_plugins/bundler_filters.py +157 -0
  281. data/roles/qb/ruby/bundler/meta/main.yml +8 -0
  282. data/roles/qb/ruby/bundler/meta/qb.yml +69 -0
  283. data/roles/qb/ruby/bundler/tasks/gems.yml +12 -0
  284. data/roles/qb/ruby/bundler/tasks/main.yml +12 -0
  285. data/roles/qb/ruby/bundler/tasks/setup.yml +13 -0
  286. data/roles/qb/ruby/yard/defaults/args.yml +2 -0
  287. data/roles/qb/ruby/yard/defaults/main.yml +9 -0
  288. data/roles/qb/ruby/yard/meta/main.yml +8 -0
  289. data/roles/qb/ruby/yard/meta/qb.yml +71 -0
  290. data/roles/qb/ruby/yard/tasks/main.yml +28 -0
  291. metadata +290 -297
  292. data/roles/nrser.blockinfile/tests/.gitignore +0 -1
  293. data/roles/nrser.blockinfile/tests/expected/test-basic/create.txt +0 -5
  294. data/roles/nrser.blockinfile/tests/expected/test-basic/insert.txt +0 -6
  295. data/roles/nrser.blockinfile/tests/expected/test-basic/marker.txt +0 -5
  296. data/roles/nrser.blockinfile/tests/expected/test-basic/remove.txt +0 -2
  297. data/roles/nrser.blockinfile/tests/expected/test-basic/update.txt +0 -6
  298. data/roles/nrser.blockinfile/tests/expected/test-block/block.txt +0 -4
  299. data/roles/nrser.blockinfile/tests/expected/test-block/content.txt +0 -4
  300. data/roles/nrser.blockinfile/tests/expected/test-follow/link0.txt +0 -6
  301. data/roles/nrser.blockinfile/tests/expected/test-follow/link1.txt +0 -6
  302. data/roles/nrser.blockinfile/tests/expected/test-follow/link2.txt +0 -1
  303. data/roles/nrser.blockinfile/tests/expected/test-follow/real0.txt +0 -2
  304. data/roles/nrser.blockinfile/tests/expected/test-follow/real1.txt +0 -2
  305. data/roles/nrser.blockinfile/tests/expected/test-follow/real2.txt +0 -6
  306. data/roles/nrser.blockinfile/tests/expected/test-insertab/insertafter.txt +0 -8
  307. data/roles/nrser.blockinfile/tests/expected/test-insertab/insertbefore.txt +0 -8
  308. data/roles/nrser.blockinfile/tests/expected/test-insertab/insertbof.txt +0 -8
  309. data/roles/nrser.blockinfile/tests/expected/test-insertab/inserteof.txt +0 -8
  310. data/roles/nrser.blockinfile/tests/expected/test-insertab/insertunmatched.txt +0 -8
  311. data/roles/nrser.blockinfile/tests/expected/test-insertab/updateafter.txt +0 -8
  312. data/roles/nrser.blockinfile/tests/expected/test-insertab/updatebefore.txt +0 -8
  313. data/roles/nrser.blockinfile/tests/expected/test-multiline/insert.txt +0 -11
  314. data/roles/nrser.blockinfile/tests/expected/test-multiline/remove.txt +0 -2
  315. data/roles/nrser.blockinfile/tests/expected/test-multiline/update.txt +0 -12
  316. data/roles/nrser.blockinfile/tests/expected/test-replace/index.html +0 -6
  317. data/roles/nrser.blockinfile/tests/expected/test-state/insert-present.txt +0 -5
  318. data/roles/nrser.blockinfile/tests/expected/test-state/insert.txt +0 -5
  319. data/roles/nrser.blockinfile/tests/expected/test-state/remove-absent.txt +0 -2
  320. data/roles/nrser.blockinfile/tests/expected/test-state/remove-present.txt +0 -2
  321. data/roles/nrser.blockinfile/tests/expected/test-state/remove.txt +0 -2
  322. data/roles/nrser.blockinfile/tests/fixtures/test-basic/insert.txt +0 -2
  323. data/roles/nrser.blockinfile/tests/fixtures/test-basic/marker.txt +0 -1
  324. data/roles/nrser.blockinfile/tests/fixtures/test-basic/remove.txt +0 -6
  325. data/roles/nrser.blockinfile/tests/fixtures/test-basic/update.txt +0 -6
  326. data/roles/nrser.blockinfile/tests/fixtures/test-block/block.txt +0 -1
  327. data/roles/nrser.blockinfile/tests/fixtures/test-block/content.txt +0 -1
  328. data/roles/nrser.blockinfile/tests/fixtures/test-follow/link0.txt +0 -1
  329. data/roles/nrser.blockinfile/tests/fixtures/test-follow/link1.txt +0 -1
  330. data/roles/nrser.blockinfile/tests/fixtures/test-follow/link2.txt +0 -1
  331. data/roles/nrser.blockinfile/tests/fixtures/test-follow/real0.txt +0 -2
  332. data/roles/nrser.blockinfile/tests/fixtures/test-follow/real1.txt +0 -2
  333. data/roles/nrser.blockinfile/tests/fixtures/test-follow/real2.txt +0 -2
  334. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/insertafter.txt +0 -4
  335. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/insertbefore.txt +0 -4
  336. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/insertbof.txt +0 -4
  337. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/inserteof.txt +0 -4
  338. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/insertunmatched.txt +0 -4
  339. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/updateafter.txt +0 -8
  340. data/roles/nrser.blockinfile/tests/fixtures/test-insertab/updatebefore.txt +0 -8
  341. data/roles/nrser.blockinfile/tests/fixtures/test-multiline/insert.txt +0 -2
  342. data/roles/nrser.blockinfile/tests/fixtures/test-multiline/remove.txt +0 -11
  343. data/roles/nrser.blockinfile/tests/fixtures/test-multiline/update.txt +0 -12
  344. data/roles/nrser.blockinfile/tests/fixtures/test-replace/index.html +0 -1
  345. data/roles/nrser.blockinfile/tests/fixtures/test-state/insert-present.txt +0 -2
  346. data/roles/nrser.blockinfile/tests/fixtures/test-state/insert.txt +0 -2
  347. data/roles/nrser.blockinfile/tests/fixtures/test-state/remove-absent.txt +0 -6
  348. data/roles/nrser.blockinfile/tests/fixtures/test-state/remove-present.txt +0 -6
  349. data/roles/nrser.blockinfile/tests/fixtures/test-state/remove.txt +0 -6
  350. data/roles/nrser.blockinfile/tests/hosts +0 -1
  351. data/roles/nrser.blockinfile/tests/roles/yaegashi.blockinfile +0 -1
  352. data/roles/nrser.blockinfile/tests/run.sh +0 -64
  353. data/roles/nrser.blockinfile/tests/test-basic.yml +0 -31
  354. data/roles/nrser.blockinfile/tests/test-block.yml +0 -16
  355. data/roles/nrser.blockinfile/tests/test-follow.yml +0 -21
  356. data/roles/nrser.blockinfile/tests/test-insertab.yml +0 -34
  357. data/roles/nrser.blockinfile/tests/test-multiline.yml +0 -51
  358. data/roles/nrser.blockinfile/tests/test-replace.yml +0 -21
  359. data/roles/nrser.blockinfile/tests/test-state.yml +0 -32
  360. data/roles/qb.gitignore/files/gitignore/Global/Matlab.gitignore +0 -22
  361. data/roles/qb.gitignore/files/gitignore/Global/Vagrant.gitignore +0 -1
  362. data/roles/qb.gitignore/files/gitignore/Terraform.gitignore +0 -6
  363. data/roles/qb.project/meta/main.yml +0 -6
  364. data/roles/qb.project/tasks/dev.yml +0 -36
  365. data/roles/qb.project/tasks/setup.yml +0 -42
  366. data/roles/qb.project/templates/README.md.j2 +0 -2
  367. data/roles/qb.project/templates/bootstrap.yml.j2 +0 -20
@@ -1 +0,0 @@
1
- /testing
@@ -1,5 +0,0 @@
1
- # BEGIN ANSIBLE MANAGED BLOCK
2
- iface eth0 inet static
3
- address 192.168.0.1
4
- netmask 255.255.255.0
5
- # END ANSIBLE MANAGED BLOCK
@@ -1,6 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- # BEGIN ANSIBLE MANAGED BLOCK
4
- aaa bbb ccc
5
- AAA BBB CCC
6
- # END ANSIBLE MANAGED BLOCK
@@ -1,5 +0,0 @@
1
- <h1>111 222 333</h1>
2
- <!-- BEGIN ANSIBLE MANAGED BLOCK -->
3
- <h2>aaa bbb ccc</h2>
4
- <h2>AAA BBB CCC</h2>
5
- <!-- END ANSIBLE MANAGED BLOCK -->
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1,6 +0,0 @@
1
- 111 222 333
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- aaa bbb ccc
4
- AAA BBB CCC
5
- # END ANSIBLE MANAGED BLOCK
6
- !!! @@@ ###
@@ -1,4 +0,0 @@
1
- AAA BBB CCC
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- aaa bbb ccc
4
- # END ANSIBLE MANAGED BLOCK
@@ -1,4 +0,0 @@
1
- AAA BBB CCC
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- aaa bbb ccc
4
- # END ANSIBLE MANAGED BLOCK
@@ -1,6 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- # BEGIN ANSIBLE MANAGED BLOCK
4
- aaa bbb ccc
5
- AAA BBB CCC
6
- # END ANSIBLE MANAGED BLOCK
@@ -1,6 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- # BEGIN ANSIBLE MANAGED BLOCK
4
- aaa bbb ccc
5
- AAA BBB CCC
6
- # END ANSIBLE MANAGED BLOCK
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1,6 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- # BEGIN ANSIBLE MANAGED BLOCK
4
- aaa bbb ccc
5
- AAA BBB CCC
6
- # END ANSIBLE MANAGED BLOCK
@@ -1,8 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- 111 222 333
4
- # BEGIN ANSIBLE MANAGED BLOCK
5
- aaa bbb ccc
6
- AAA BBB CCC
7
- # END ANSIBLE MANAGED BLOCK
8
- !!! @@@ ###
@@ -1,8 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- # BEGIN ANSIBLE MANAGED BLOCK
4
- aaa bbb ccc
5
- AAA BBB CCC
6
- # END ANSIBLE MANAGED BLOCK
7
- 111 222 333
8
- !!! @@@ ###
@@ -1,8 +0,0 @@
1
- # BEGIN ANSIBLE MANAGED BLOCK
2
- aaa bbb ccc
3
- AAA BBB CCC
4
- # END ANSIBLE MANAGED BLOCK
5
- 111 222 333
6
- !!! @@@ ###
7
- 111 222 333
8
- !!! @@@ ###
@@ -1,8 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- 111 222 333
4
- !!! @@@ ###
5
- # BEGIN ANSIBLE MANAGED BLOCK
6
- aaa bbb ccc
7
- AAA BBB CCC
8
- # END ANSIBLE MANAGED BLOCK
@@ -1,8 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- 111 222 333
4
- !!! @@@ ###
5
- # BEGIN ANSIBLE MANAGED BLOCK
6
- aaa bbb ccc
7
- AAA BBB CCC
8
- # END ANSIBLE MANAGED BLOCK
@@ -1,8 +0,0 @@
1
- 111 222 333
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- aaa bbb ccc
4
- AAA BBB CCC
5
- # END ANSIBLE MANAGED BLOCK
6
- !!! @@@ ###
7
- 111 222 333
8
- !!! @@@ ###
@@ -1,8 +0,0 @@
1
- 111 222 333
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- aaa bbb ccc
4
- AAA BBB CCC
5
- # END ANSIBLE MANAGED BLOCK
6
- !!! @@@ ###
7
- 111 222 333
8
- !!! @@@ ###
@@ -1,11 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
-
4
- ##############################################################################
5
- # BEGIN MULTILINE SECTION
6
- #
7
- aaa bbb ccc
8
- AAA BBB CCC
9
- #
10
- # END MULTILINE SECTION
11
- ##############################################################################
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1,12 +0,0 @@
1
- 111 222 333
2
-
3
- ##############################################################################
4
- # BEGIN MULTILINE SECTION
5
- #
6
- aaa bbb ccc
7
- AAA BBB CCC
8
- #
9
- # END MULTILINE SECTION
10
- ##############################################################################
11
-
12
- !!! @@@ ###
@@ -1,6 +0,0 @@
1
- <html><head><title>111 222 333</title></head><Body>
2
- <!-- BEGIN ANSIBLE MANAGED BLOCK -->
3
- <h2>aaa bbb ccc</h2>
4
- <h2>AAA BBB CCC</h2>
5
- <!-- END ANSIBLE MANAGED BLOCK -->
6
- <p>!!! @@@ ###</p></body></html>
@@ -1,5 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- # BEGIN ANSIBLE MANAGED BLOCK
4
- aaa bbb ccc
5
- # END ANSIBLE MANAGED BLOCK
@@ -1,5 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- # BEGIN ANSIBLE MANAGED BLOCK
4
- aaa bbb ccc
5
- # END ANSIBLE MANAGED BLOCK
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1 +0,0 @@
1
- <h1>111 222 333</h1>
@@ -1,6 +0,0 @@
1
- 111 222 333
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- xxx yyy zzz
4
- XXX YYY ZZZ
5
- # END ANSIBLE MANAGED BLOCK
6
- !!! @@@ ###
@@ -1,6 +0,0 @@
1
- 111 222 333
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- xxx yyy zzz
4
- XXX YYY ZZZ
5
- # END ANSIBLE MANAGED BLOCK
6
- !!! @@@ ###
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1,4 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- 111 222 333
4
- !!! @@@ ###
@@ -1,4 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- 111 222 333
4
- !!! @@@ ###
@@ -1,4 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- 111 222 333
4
- !!! @@@ ###
@@ -1,4 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- 111 222 333
4
- !!! @@@ ###
@@ -1,4 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
- 111 222 333
4
- !!! @@@ ###
@@ -1,8 +0,0 @@
1
- 111 222 333
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- xxx yyy zzz
4
- XXX YYY ZZZ
5
- # END ANSIBLE MANAGED BLOCK
6
- !!! @@@ ###
7
- 111 222 333
8
- !!! @@@ ###
@@ -1,8 +0,0 @@
1
- 111 222 333
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- xxx yyy zzz
4
- XXX YYY ZZZ
5
- # END ANSIBLE MANAGED BLOCK
6
- !!! @@@ ###
7
- 111 222 333
8
- !!! @@@ ###
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1,11 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
3
-
4
- ##############################################################################
5
- # BEGIN MULTILINE SECTION
6
- #
7
- aaa bbb ccc
8
- AAA BBB CCC
9
- #
10
- # END MULTILINE SECTION
11
- ##############################################################################
@@ -1,12 +0,0 @@
1
- 111 222 333
2
-
3
- ##############################################################################
4
- # BEGIN MULTILINE SECTION
5
- #
6
- xxx yyy zzz
7
- XXX YYY ZZZ
8
- #
9
- # END MULTILINE SECTION
10
- ##############################################################################
11
-
12
- !!! @@@ ###
@@ -1 +0,0 @@
1
- <html><head><title>111 222 333</title></head><Body><p>!!! @@@ ###</p></body></html>
@@ -1,2 +0,0 @@
1
- 111 222 333
2
- !!! @@@ ###
@@ -1,6 +0,0 @@
1
- 111 222 333
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- xxx yyy zzz
4
- XXX YYY ZZZ
5
- # END ANSIBLE MANAGED BLOCK
6
- !!! @@@ ###
@@ -1,6 +0,0 @@
1
- 111 222 333
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- xxx yyy zzz
4
- XXX YYY ZZZ
5
- # END ANSIBLE MANAGED BLOCK
6
- !!! @@@ ###
@@ -1,6 +0,0 @@
1
- 111 222 333
2
- # BEGIN ANSIBLE MANAGED BLOCK
3
- xxx yyy zzz
4
- XXX YYY ZZZ
5
- # END ANSIBLE MANAGED BLOCK
6
- !!! @@@ ###
@@ -1 +0,0 @@
1
- localhost ansible_connection=local
@@ -1,64 +0,0 @@
1
- #!/bin/bash
2
-
3
- set -e
4
-
5
- cd ${0%/*}
6
-
7
- rm -rf testing
8
- cp -R fixtures testing
9
-
10
- run() {
11
- p="$1"
12
- base="${1%.yml}"
13
- testing_dir="$PWD/testing/$base"
14
- expected_dir="$PWD/expected/$base"
15
- idlog="$PWD/testing/$base-id.log"
16
- skipped="$testing_dir/SKIPPED"
17
- echo "$p: Running ansible-playbook"
18
- if ! ansible-playbook -v -i hosts -e testing_dir=$testing_dir $p; then
19
- echo -n "$p: "
20
- if test -e $skipped; then
21
- cat $skipped
22
- exit 2
23
- else
24
- echo "ansible-playbook failed"
25
- exit 1
26
- fi
27
- fi
28
- # exit if the first run doesn't pass
29
- echo "$p: Checking results"
30
- if ! diff -x "*~" -ruN $expected_dir $testing_dir; then
31
- echo "$p: Unexpected changes detected"
32
- exit 1
33
- fi
34
- echo "$p: Running ansible-playbook again"
35
- ansible-playbook -v -i hosts -e testing_dir=$testing_dir $p | tee $idlog
36
- if ! grep -q 'changed=0.*failed=0' $idlog; then
37
- echo "$p: Idempotency missing"
38
- exit 1
39
- fi
40
- echo "$p: Checking results"
41
- if ! diff -x "*~" -ruN $expected_dir $testing_dir; then
42
- echo "$p: Unexpected changes detected"
43
- exit 1
44
- fi
45
- }
46
-
47
- code=0
48
-
49
- tests=${@-*.yml}
50
-
51
- for i in $tests; do
52
- echo
53
- echo "$i: Starting..."
54
- if ( run $i ); then
55
- echo "$i: Passed"
56
- elif test $? = 2; then
57
- echo "$i: Skipped"
58
- else
59
- echo "$i: Failed"
60
- code=1
61
- fi
62
- done
63
-
64
- exit $code