Commit Graph

1106 Commits

Author SHA1 Message Date
Mitchell Hashimoto 6dbade0fc6 Get shell provisioning working again, acceptance test to prove it 2011-12-13 23:45:56 -08:00
Mitchell Hashimoto d6b325e887 Clean up TODOs in acceptance tests 2011-12-13 23:19:50 -08:00
Mitchell Hashimoto 668bab0ba9 Better host loading scheme 2011-12-11 23:22:44 -08:00
Mitchell Hashimoto b8d40ea463 Registry is enumerable 2011-12-11 18:29:42 -08:00
Mitchell Hashimoto e201d9cacf Rename action registry to just Vagrant::Registry 2011-12-11 18:22:06 -08:00
Mitchell Hashimoto 05ae297fd2 Copy insecure private key to user owned directory [GH-580] 2011-12-11 16:32:25 -08:00
Mitchell Hashimoto 42a5e02db4 Clean up test load paths 2011-12-11 15:53:11 -08:00
Mitchell Hashimoto d9e2c8b788 Raise a nice error if home directory is not accessible 2011-12-10 17:14:07 -08:00
Mitchell Hashimoto e15b974c15 Fix more tests to expect error messages on stderr 2011-12-10 13:50:46 -08:00
Mitchell Hashimoto c41e758a0a box acceptance tests passing again 2011-12-10 13:35:03 -08:00
Mitchell Hashimoto 5c6ca57409 Throw an error if a box already exists when calling box.add 2011-12-10 13:09:03 -08:00
Mitchell Hashimoto 739d5ffb5f Lazy load attributes for runners. Get box repackage working. 2011-12-09 20:24:34 -08:00
Mitchell Hashimoto d9321ed4d4 Box destroy works again 2011-12-09 18:06:34 -08:00
Mitchell Hashimoto d92f3d8c6d Box add works again with new env stuff 2011-12-09 17:33:30 -08:00
Mitchell Hashimoto aeb6533607 Fix issue with Tempfile in test being deleted 2011-12-09 17:26:06 -08:00
Mitchell Hashimoto 56663b5952 Remove dependence on Vagrant::Environment on downloaders 2011-12-09 15:18:43 -08:00
Mitchell Hashimoto 3c8261f4ac Add :ui to the globals for the action runner 2011-12-09 14:50:42 -08:00
Mitchell Hashimoto b31c3d458c Action runner supports global parameters 2011-12-09 14:44:43 -08:00
Mitchell Hashimoto bbb8f0ac2c Integrate new action runner/registry into Vagrant::Environment 2011-12-09 14:39:39 -08:00
Mitchell Hashimoto daf711fd80 Separate Vagrant::Action into Runner and Registry 2011-12-09 14:22:03 -08:00
Mitchell Hashimoto 5bfcbcba66 Remove step stuff. Failed experiment for now. Too radical for point release. 2011-12-09 13:40:49 -08:00
Mitchell Hashimoto 2c73de0043 The proper enter/exit sequence is called for multisteps 2011-12-06 18:45:37 -08:00
Mitchell Hashimoto 822226cae4 MultiStep does not allow composing steps that do not work together 2011-12-06 18:31:07 -08:00
Mitchell Hashimoto 73761dc92a MultiStep should do input/output validation 2011-12-06 18:19:18 -08:00
Mitchell Hashimoto 7d3746b292 Multistep can now take parameters from any arbitrary step prior. 2011-12-06 09:46:57 -08:00
Mitchell Hashimoto 5b87165e97 Multistep tests pass again. 2011-12-05 21:08:31 -08:00
Mitchell Hashimoto c5eae41fd8 Revamp Step to be more like a Python with-context 2011-12-05 21:05:41 -08:00
Mitchell Hashimoto 683bbdaa3c Implement multistep 2011-12-04 18:09:18 -08:00
Mitchell Hashimoto 49d299956f Add the "Step" abstraction 2011-12-04 17:14:21 -08:00
Mitchell Hashimoto 8801bc7b1b Starting to revamp BoxCollection to not depend on env 2011-12-04 11:39:44 -08:00
Mitchell Hashimoto e2977e8948 Make VM names symbols again, since they're accessed often. 2011-12-03 19:33:44 -08:00
Mitchell Hashimoto 1921ce17e8 Propery load box configuration 2011-12-03 19:17:08 -08:00
Mitchell Hashimoto 99982fb26e VM-specific configuration now works. 2011-12-03 19:05:50 -08:00
Mitchell Hashimoto 73a672cff1 load_config! is kind of working again.
Specifically: Global configuration load appears to be working. More
unit tests should reveal if proper VM configuration is loading.
2011-12-03 18:31:17 -08:00
Mitchell Hashimoto cb5f6b57f4 Remove Vagrant 0.8.0 transition code. 2011-12-03 18:11:24 -08:00
Mitchell Hashimoto 02cc1447dc Configuration files are only loaded once 2011-12-03 17:42:16 -08:00
Mitchell Hashimoto 15c56a1f4c Configuration loads. Lots of refactor to do still. 2011-12-03 17:29:28 -08:00
Mitchell Hashimoto 1a8c4199b2 Introduce Config::Loader
Config::Loader will be the new class responsible for loading configuration
and replaces the previous dual-role "Vagrant::Config" played. While this
commit is very early-stage, once this new architecture is flushed out, it
will make loading, using, and extending configuration much easier and cleaner.

Additionally, I believe this will help post Vagrant 1.0 if multi-language
configuration is implemented.
2011-12-03 17:12:48 -08:00
Mitchell Hashimoto 1355487a04 Environment UI class can now be set through the environment init 2011-12-03 16:07:34 -08:00
Mitchell Hashimoto fe442faefa Move unit tests into the unit_legacy folder 2011-12-03 15:44:08 -08:00
Mitchell Hashimoto c37f16b754 Remove final logger reference 2011-12-01 21:56:56 -08:00
Mitchell Hashimoto 282bf37350 Get the tests passing 2011-12-01 21:56:55 -08:00
Mitchell Hashimoto 27c4d61e67 Upgrade to childprocess 0.2.3 and remove our hacky with_env_changes 2011-11-27 16:11:07 -07:00
Mitchell Hashimoto 0279cc1edf Do not buffer output for tests 2011-11-27 11:16:24 -07:00
Mitchell Hashimoto 1155983307 Get unit tests passing again 2011-11-25 23:55:17 -07:00
Darrin Wortlehock 4c01a87ab3 Adding support for 'no_proxy' environment variable to suppress proxy in http downloader 2011-11-24 21:54:35 -07:00
Mitchell Hashimoto c2ef1329aa Get tests passing for GH-508 2011-11-24 21:52:31 -07:00
Mitchell Hashimoto db491e1f9b Modify unit tests a bit 2011-11-24 21:31:30 -07:00
Mitchell Hashimoto 7e276cf4d8 Basic resume tests 2011-11-24 16:28:28 -07:00
Mitchell Hashimoto d03744c5e1 Test that `vagrant up` also works for resuming 2011-11-24 16:21:21 -07:00
Mitchell Hashimoto f9653bf8d2 Some suspend tests 2011-11-24 16:15:45 -07:00
Mitchell Hashimoto 2dc9bad97d Fix missing variable in tests 2011-11-24 14:15:36 -07:00
Mitchell Hashimoto 87767e24d0 Fix test harness where blocking could occur on IO read.
We had issues with the CI where some tests would sometimes hang
on cleanup when it would call VBoxManage, even with a timeout.
My only assumption is that this is happening as it waits on `readline`,
so we do a `read_nonblock` which will help immensely.
2011-11-24 14:13:22 -07:00
Mitchell Hashimoto 1eb3845405 CI: Schedule each unit/acceptance pair by platform it is testing 2011-11-22 23:07:33 -08:00
Mitchell Hashimoto fba9f7c473 Test that a VM can be brought back up after halting 2011-11-22 21:47:10 -08:00
Mitchell Hashimoto 1ed1650fb6 `vagrant halt` acceptance tests 2011-11-22 19:34:25 -08:00
Mitchell Hashimoto 5e4dffb7e1 Test: Don't worry if VBoxManage failed. 2011-11-22 19:28:21 -08:00
Justin Brown dcef64fa0d Remove the chef dependency on the default 'v-root' shared folder. 2011-11-22 19:03:52 -08:00
Mitchell Hashimoto 8651127ead Add tag for the bug that a test addresses 2011-11-22 18:46:43 -08:00
Mitchell Hashimoto 5d684b9001 Reload the configuration for all VMs after downloading a box. Fixes GH-564 2011-11-21 22:39:12 -08:00
Mitchell Hashimoto bac87f2478 Complete the test (still failing) 2011-11-21 22:09:51 -08:00
Mitchell Hashimoto d71a78eacf Failing acceptance test for GH-564 2011-11-21 21:55:03 -08:00
Mitchell Hashimoto 315733703a Tempfile no longer needed in isolated env 2011-11-21 21:18:15 -08:00
Mitchell Hashimoto 203056a0db Switch posix-spawn to childprocess for better cross-OS support 2011-11-21 21:16:51 -08:00
Mitchell Hashimoto 2174d02439 Add TODOs to the destroy test 2011-11-20 13:42:06 -08:00
Mitchell Hashimoto 3a18119774 Fix failing destroy test for requiring a VM 2011-11-20 13:39:54 -08:00
Mitchell Hashimoto 38d28800be Destroy acceptance tests 2011-11-20 13:37:01 -08:00
Mitchell Hashimoto cebd66d8e6 Test: Add a timeout to cleaning up the VM environment 2011-11-20 10:44:09 -08:00
Mitchell Hashimoto 224c981846 Test: Add "timeout" parameter to execute in tests 2011-11-20 10:38:41 -08:00
Mitchell Hashimoto 0036d1e131 Custom builders for each OS type 2011-11-19 21:30:51 -08:00
Mitchell Hashimoto 1e6918cb2b buildbot: Enable IRC bot 2011-11-19 21:02:20 -08:00
Mitchell Hashimoto dd92f32c3a buildbot: Set timeout to 3600 seconds for acceptance tests 2011-11-19 20:35:48 -08:00
Mitchell Hashimoto 627fa4295f buildbot: Better failure styling on CI 2011-11-19 17:36:43 -08:00
Mitchell Hashimoto 96639d78d4 buildbot: Add style for failed builds 2011-11-19 17:32:54 -08:00
Mitchell Hashimoto 9dd0aab37f Remove unused build steps 2011-11-19 16:45:00 -08:00
Mitchell Hashimoto a6cee79633 Buildbot: Update waterfall headers 2011-11-19 13:33:08 -08:00
Mitchell Hashimoto 2ef8206ff2 buildbot: Another slight styling update to change page 2011-11-19 13:31:21 -08:00
Mitchell Hashimoto 21c403965b buildbot: Update change page 2011-11-19 13:30:10 -08:00
Mitchell Hashimoto b11db62677 buildbot: Homepage styling 2011-11-19 13:19:48 -08:00
Mitchell Hashimoto 40c1169d4c Buildbot: Design for slaves pages 2011-11-19 13:04:46 -08:00
Mitchell Hashimoto efa29f1859 buildbot: Start redesigning the CI 2011-11-19 12:55:04 -08:00
Mitchell Hashimoto 9ee301c525 Buildbot: Make the acceptance tests dependent on the unit tests passing 2011-11-13 20:57:51 -08:00
Mitchell Hashimoto 98919fbec5 Add buildsteps and builders for acceptance tests 2011-11-13 20:42:22 -08:00
Mitchell Hashimoto a8909cbb0b Acceptance tests now take a "box_directory" instead of paths to individual boxes 2011-11-13 13:49:21 -08:00
Mitchell Hashimoto bb06a20843 Add `rake acceptance:boxes` to download required boxes for tests 2011-11-13 13:37:30 -08:00
Mitchell Hashimoto b62d7c317c Generalize the builder creation methods a bit to prepare for dependent builders 2011-11-12 16:51:00 -08:00
Mitchell Hashimoto 5d98c5cab7 Buildbot: Require user auth for forcing builds 2011-11-12 16:09:30 -08:00
Mitchell Hashimoto c0f3e6b954 CI: Fix deploy to work properly 2011-11-12 15:53:52 -08:00
Mitchell Hashimoto a090eb36fb Don't allow any commands on the Vagrant CI right now 2011-11-12 15:52:27 -08:00
Mitchell Hashimoto 7d63b4d0ab Deploy/setup scripts for the buildmaster 2011-11-12 15:51:26 -08:00
Mitchell Hashimoto e1a4287ef5 Add choices to a vendor/ directory 2011-11-12 13:27:29 -08:00
Mitchell Hashimoto aeae640c34 Buildbot: Add a scheduler for the master branch to run 2011-11-12 13:18:19 -08:00
Mitchell Hashimoto 5974fbcb16 Buildbot: Enable github hook 2011-11-12 13:14:16 -08:00
Mitchell Hashimoto 49135dfd24 Buildbot runs unit tests! Yay! 2011-11-12 13:06:37 -08:00
Mitchell Hashimoto 44540f369d Add buildbot code for what will become the Vagrant CI 2011-11-12 10:20:07 -08:00
Mitchell Hashimoto 60a350f9c7 Test that `vagrant up` works if Vagrantfile is in a parent directory 2011-11-11 00:19:46 -08:00
Mitchell Hashimoto f0aa19f696 Test shared folders for basic up tests 2011-11-11 00:10:42 -08:00
Mitchell Hashimoto 7a07a78bf1 Shared contexts for Vagrant command similarities 2011-11-10 21:54:58 -08:00
Mitchell Hashimoto 8787c4b876 Acceptance tests: Get rid of remaining "assert" statements 2011-11-08 23:09:04 -08:00
Mitchell Hashimoto 4443a323e5 Create the output matcher, switch to RSpec style matchers 2011-11-08 23:03:15 -08:00
Mitchell Hashimoto 87bc6ec63f RSpec is coming in for acceptance tests. More details follow...
RSpec was chosen to be used for acceptance tests for many reasons:

* The tests are actually much cleaner now. It is clearer to see what
  is being tested, and what is being used for setup.
* Matcher transition will be coming soon. This will really clean up
  a lot of the "assert" boilerplate all over. There was a lot of repetition
  in this area.
* Shared examples will help greatly for testing common error cases
  for many commands.
* The test runner for RSpec is simply much better. Being able to specify
  the exact test to run by line, for example, is a great help.
2011-11-06 23:47:23 -08:00
Mitchell Hashimoto 699c67c1aa Test: Able to pass a command to execute via `vagrant ssh` command 2011-11-06 22:35:53 -08:00
Mitchell Hashimoto 2796c441ea Add more SSH tests 2011-11-06 22:21:02 -08:00
Mitchell Hashimoto 3412a11c51 Move `vagrant ssh` test into ssh_test.rb 2011-11-06 22:17:27 -08:00
Mitchell Hashimoto 641a581d6b Rename the up test 2011-11-06 22:15:59 -08:00
Mitchell Hashimoto dba2a4e3e7 Check that VirtualBox isn't running at the beginning of the acceptance tests 2011-11-06 19:21:29 -08:00
Mitchell Hashimoto 2c607ca4f4 Wait for VBoxSVC to disappear between tests. 2011-11-06 19:20:14 -08:00
Mitchell Hashimoto 2febc9fcff Isolated environment removes virtual machines after run. 2011-11-06 18:45:49 -08:00
Mitchell Hashimoto 797f124e6d Test: `vagrant up` should bring up a machine ready for SSH 2011-11-06 18:28:05 -08:00
Mitchell Hashimoto e86628c023 test: `vagrant up` should fail if no Vagranfile is found 2011-11-06 18:23:06 -08:00
Mitchell Hashimoto a80e579af7 Add a bunch of test TODOs 2011-11-06 13:44:44 -08:00
Mitchell Hashimoto 421a1fb341 First "up" based acceptance test. Multiple fixes to test harness.
* First test that uses "vagrant up"
* Allow interaction with processes executed during `execute` so that
  we can enter input into STDIN and receive data from STDOUT in
  real time.
* Fix some issue with `waitpid2`, which actually speeds up all tests
  quite a bit.
2011-11-06 13:30:49 -08:00
Mitchell Hashimoto f83c1b3c27 Fix regression introduced with cab1e4e 2011-11-05 15:19:03 -07:00
Mitchell Hashimoto 66761ae3ff Comments on the Output class 2011-11-05 15:01:00 -07:00
Mitchell Hashimoto bb09b249b6 Use output helpers instead of direct regex's in tests.
We're not trying to test the format of the output, we're trying
to test the meaning of the output, so hide that state away in
another class.
2011-11-05 14:59:17 -07:00
Mitchell Hashimoto 55f2ac3f54 Isolated env will log output of command as it comes. Update tests. 2011-11-05 14:44:24 -07:00
Mitchell Hashimoto bb4f7b6418 `vagrant init` acceptance tests 2011-11-05 14:09:18 -07:00
Mitchell Hashimoto 56d4a7f14e Digest/SHA1 not required here 2011-11-05 13:30:57 -07:00
Mitchell Hashimoto 08daf11580 Add loggers to acceptance tests 2011-11-03 23:07:51 -07:00
Mitchell Hashimoto 9a551837d6 Tests for removing and repackaging a box 2011-11-03 23:05:06 -07:00
Mitchell Hashimoto d9d8029783 Test that adding an invalid box results in an error 2011-11-03 22:22:19 -07:00
Mitchell Hashimoto d0e191a96c Make some changes to have tests run on 1.8.7 2011-11-03 22:12:51 -07:00
Mitchell Hashimoto cab1e4e49b Make the file download the default for `vagrant box add`. Tests. 2011-11-03 21:56:38 -07:00
Mitchell Hashimoto c9cf2867ea Some `vagrant box` tests 2011-11-03 21:38:15 -07:00
Mitchell Hashimoto 78f8705c5b Make the `vagrant` tests cleaner 2011-11-03 21:38:07 -07:00
Mitchell Hashimoto f741d81582 Fix color tests 2011-11-02 23:37:19 -07:00
Mitchell Hashimoto 974c180d8f Tests that color and --no-color work properly 2011-11-02 23:16:29 -07:00
Mitchell Hashimoto d753b750e9 Do not output color if stdout is not a TTY 2011-11-02 21:59:35 -07:00
Mitchell Hashimoto 2bd0b76fd2 Set isolated environment working dir to the proper directory 2011-11-02 21:55:54 -07:00
Mitchell Hashimoto b3e4efb786 Basic box tests 2011-11-02 21:42:09 -07:00
Mitchell Hashimoto a19fa6a07c Cleanup temporary directory after running 2011-11-02 21:41:41 -07:00
Mitchell Hashimoto 4c6f8d2b52 Setup isolated environment to setup a custom HOME directory as well 2011-11-02 21:38:48 -07:00
Mitchell Hashimoto ec38417abb Add more acceptance tests for printing the Vagrant version 2011-11-02 21:15:53 -07:00
Mitchell Hashimoto 4c9ad26115 Acceptance tests starting code is in. Version is an example. 2011-11-02 21:09:38 -07:00
Justin Brown 0c2fc0cae2 Make init respect the env's cwd. 2011-10-30 22:48:35 -07:00
Mitchell Hashimoto 245bcf436f Have tests pass on Ruby 1.8.x 2011-10-30 22:23:36 -07:00
Ticean Bennett dab80649b8 Added Basic Auth support to HTTP downloader. 2011-10-14 18:37:24 +02:00
Mitchell Hashimoto 7219f3d05b Show warning if forwarding port less than 1024 [closes GH-487] 2011-09-11 23:56:02 -07:00
Samer Abukhait 99646735d0 Don't do the port threshold check if running under root 2011-09-11 23:26:55 -07:00
Mitchell Hashimoto 1cfef2734a Fix crashing bug if .vagrant is invalid. [closes GH-496] 2011-09-11 23:23:17 -07:00
Mitchell Hashimoto ce5d989384 Moving unit tests to test/unit 2011-08-28 23:10:32 -07:00
Mitchell Hashimoto 327a6f9d94 Add a check for VM accessibility before every action 2011-08-28 20:32:22 -07:00
Mitchell Hashimoto bf32fb4de8 Args can now be specified to the shell provisioner [closes GH-475] 2011-08-28 00:01:23 -07:00
Mitchell Hashimoto 8ff269c341 Chef solo roles_path and data_bag_path should be a string 2011-08-02 23:30:57 -07:00
Mitchell Hashimoto ed8bf34153 Chef client accepts nil run list to load run list from server [closes GH-429] 2011-07-25 21:33:36 -07:00
Mitchell Hashimoto 3f9534ae7d Tests passing from Puppet update 2011-07-22 23:56:04 -07:00
Mitchell Hashimoto 14ca7ecc24 Better validation for networking configuration 2011-07-22 23:53:19 -07:00
Mitchell Hashimoto 16c21ed9d1 More terse test 2011-07-22 23:07:44 -07:00
Jeff Rafter 64ae5bcdf9 Rework indexes on chef solo provisioner to fix roles, data_bags [closes GH-425] 2011-07-22 23:02:16 -07:00
Mitchell Hashimoto 270da0da80 Failing test case for #407 2011-07-22 22:57:04 -07:00