class TC_Info < Test::Unit::TestCase include P4RubyTest def test_p4_info assert( p4, "Failed to create Perforce client" ) assert( p4.connect, "Failed to connect to Perforce server" ) assert( p4.connected?, "Connection dropped" ) info = p4.run_info assert( info.kind_of?( Array ), "P4#run_info didn't return an array" ) info = info.shift assert( info.kind_of?( Hash ), "P4#run_info not in tagged mode?" ) assert_equal( info[ 'serverRoot' ], server_root, "Incorrect server root" ) end end
Rework P4Ruby unit tests so they they are actually units. Now the
test order is irrelevant as all tests are standalone. Tidied up
the code formatting as well and removed all the tabs from the ruby
sources files. Added a modeline for vim users so consistent
indentation will be used.
Fix unlink error on unit tests
Wrap the connect/disconnect in begin/ensure blocks to
ensure that the client disconnect even if there are failures
in a unit test.
Fix unicode unit test for 1.9. When the contents of a file
is stored in a String object, ruby 1.9 sets the String's
encoding to the current locale. This is overridden in the
test case and set to the correct value. This may need to
user visible change.
|#4||14522||tony||Add copyright notices to the test files.|
Porting changes for Windows. A few tweaks to the generated
makefile are required to stop Windows griping about
file permissions on chmod, and since it's sometimes hard
to delete a file immediately after closing it, we have
a couple of retries built-in to the test suite now.
Note that to clean up the test root, we have to shut all the
spawned p4d's down. That means all the clients must disconnect,
so the test cases that connect have all be updated to
Shuffle up the tests to make some room for one that tests setting
and getting of client environment vars.
Also give nice names to the tests while we're there.
Add first draft of automated test suite for P4Ruby. Run it using