Commit graph

63 commits

Author SHA1 Message Date
Anders Ingemann
a3fdeddd79 Rename virtualbox_tests.py to be less tautological 2015-04-16 22:21:46 +02:00
Anders Ingemann
51bb3dd57f Integration testing for EC2 2015-04-16 22:21:46 +02:00
Anders Ingemann
b067ada15e Introduce some awesome signal handling
We can now press Ctrl+C remotely  while any subprocess of the bootstrapping process is running,
previously SIGINTs weren't propagated to the bootstrapping process because there was a thread
in between it all. Now the bootstrapping process is in it's own process group.
2015-04-16 22:21:45 +02:00
Anders Ingemann
5b48ce58c5 Fix lock handling for virtualbox tests 2015-04-16 22:21:45 +02:00
Anders Ingemann
ef37cd257f Move build servers into separate module 2015-04-16 22:21:45 +02:00
Anders Ingemann
f1bfee24a0 Prepare integration testing framework to work with providers other than virtualbox
Also, convert with context handlers in classes to functions with generators
This makes the code a lot more readable
2015-04-16 22:21:45 +02:00
Anders Ingemann
b70e24a848 Switch to using 3 partitions when testing gpt+msdos
Make boot partition a little bigger
2015-04-16 22:21:45 +02:00
Anders Ingemann
d105d10c76 raise proper Skip exception rather than the plugin class 2015-04-16 22:21:44 +02:00
Anders Ingemann
0e19b4c1ed Fix boot detection and extend boot timeout 2015-04-16 22:21:44 +02:00
Anders Ingemann
0f82fbd6af Add some GPT tests 2015-04-16 22:21:44 +02:00
Anders Ingemann
f0402d6a9b Preserve stacktrace when reraising in vbox instance up() 2015-04-16 22:21:44 +02:00
Anders Ingemann
44dcdec0ec No need to skip jessie/extlinux tests any longer 2015-04-16 22:21:43 +02:00
Anders Ingemann
8d8a823092 Properly detect successful boot on jessie 2015-04-16 22:21:43 +02:00
Anders Ingemann
ac7e32d35e Preserve stacktraces when reraising exceptions 2015-04-16 22:21:43 +02:00
Anders Ingemann
767b32d20e Improve read_from_socket, a lot... 2015-04-16 22:21:43 +02:00
Anders Ingemann
7ef88d284d Don't try unlocking the machine before locking it
If it's already locked, that should be an error.
2015-04-16 22:21:43 +02:00
Anders Ingemann
0fe3c9e984 Cleanup adfter keyboard interrupts (also do a better job of cleaning up) 2015-04-16 22:21:42 +02:00
Anders Ingemann
87f2d889b7 Delete image after use, apparently the vbox version of delete is to do nothing 2015-04-16 22:21:42 +02:00
Anders Ingemann
bd4cf250a2 Fix spelling 2015-04-16 22:21:42 +02:00
Anders Ingemann
b537f2d987 Remove __abs__ from bytes and sectors, one should convert to int instead 2015-04-16 22:21:42 +02:00
Anders Ingemann
9a6975ce7d Add new Sectors unit, enhance Bytes unit, add unit tests for both 2015-04-16 22:21:12 +02:00
Anders Ingemann
6ade2a90c2 More verbose image name 2015-04-16 22:21:12 +02:00
Anders Ingemann
ce8dd02cbf Fix dict merge conflict in test_unpartitioned_extlinux_unstable 2015-04-16 22:18:58 +02:00
Anders Ingemann
a241842ef9 Better dict merging (less side-effectful) 2015-04-16 22:18:58 +02:00
Anders Ingemann
81060b2439 5ffbdc4 made no sense, apt_proxy was already a build setting 2015-04-16 22:18:57 +02:00
Anders Ingemann
943aab111f Add some more tests 2015-04-16 22:18:57 +02:00
Anders Ingemann
bbec32a987 Use stable/unstable, rather than wheezy/jessie 2015-04-16 22:18:57 +02:00
Anders Ingemann
50fabe65ec remove duplicated code 2015-04-16 22:18:57 +02:00
Anders Ingemann
8bb34c604b Fix serious bug in merge_dicts where the original dict would be modified 2015-04-16 22:18:57 +02:00
Anders Ingemann
70c282e804 Add log statements and remove unused SSHRPCManager 2015-04-16 22:18:57 +02:00
Anders Ingemann
9c6af89e78 Abstract bootstrapping, instance creation, booting etc..
This all now runs using a simple with: statement
2015-04-16 22:18:57 +02:00
Anders Ingemann
a11e466611 Generalize reading from socket 2015-04-16 22:18:57 +02:00
Anders Ingemann
c71a8230fe Make tests/ a module, so that test scripts can import and run the tests manually 2015-04-16 22:18:57 +02:00
Anders Ingemann
27950af66e Check runlevel in order to terminate reading from the console 2015-04-16 22:15:21 +02:00
Anders Ingemann
ed98ab30fd Able to get console output from the machine now!
It's blocking though, so maybe there should be a check for "Entering runlevel: 2" or some shit...
2015-04-16 22:15:21 +02:00
Anders Ingemann
6a0bef147a Refactor. Locking a vbox is now quite a bit easier 2015-04-16 22:15:21 +02:00
Anders Ingemann
6f23bcaafc Add apt_proxy partial 2015-04-16 22:15:21 +02:00
Anders Ingemann
e8d6e7f602 factor AbstractPartition.Mount out into separate module and make it serializable 2015-04-16 22:15:20 +02:00
Anders Ingemann
ad52df37bd Add partial for config of root password 2015-04-16 22:15:20 +02:00
Anders Ingemann
71e0d943fc Make json and yaml files conflict instead of override 2015-04-16 22:15:20 +02:00
Anders Ingemann
e9137ac172 Make serialization a lot more easy to handle 2015-04-16 22:15:20 +02:00
Anders Ingemann
e2cddbca4c Can now create and boot vbox image 2015-04-16 22:15:20 +02:00
Anders Ingemann
ea3eeae064 vbox instance creation working 2015-04-16 22:15:20 +02:00
Anders Ingemann
288c5f4c57 Always use tarball, minor fixes to test 2015-04-16 22:15:20 +02:00
Anders Ingemann
ece717a79f Fix bugs when picking the build server 2015-04-16 22:15:19 +02:00
Anders Ingemann
cee05e3fd0 Refactor... 2015-04-16 22:15:19 +02:00
Anders Ingemann
3d38ce04ef Move build_servers module into bootstrapvz 2015-04-16 22:15:19 +02:00
Anders Ingemann
909e5cee46 Put remote module into pkg root 2015-04-16 22:15:19 +02:00
Anders Ingemann
209651ef38 Dry run working in tests 2015-04-16 22:15:19 +02:00
Anders Ingemann
65b9e10ce3 VirtualBox integration 2015-04-16 22:15:19 +02:00