class TC_Password < Test::Unit::TestCase include P4RubyTest def test_password ticket_file = client_root() + "/.p4tickets" p4.ticket_file = ticket_file assert_equal( p4.ticket_file, ticket_file, "Ticket file not set correctly" ) assert( p4.connect, "Failed to connect to Perforce server" ) assert( p4.run_password( "", "foo" ), "Failed to set password" ) p4.password = "foo" assert( p4.password == "foo", "Password not set correctly" ) assert( p4.run_login, "Failed to login to server" ) # Note: p4.password is set by the login above to the ticket. assert( p4.run_password( "foo", "" ), "Failed to clear password" ) assert( File.exists?( ticket_file ), "Ticket file not created" ) end end
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 P4#ticket_file and P4#ticket_file= methods to get and set the
ticket file. Note that P4#ticket_file will only return something if
a value has been previously set using P4#ticket_file=(). There's
no way, in the existing P4 API to get the current ticket file.
User-visible change to be documented in Scripting Interfaces Guide
Rename P4#input to P4#input=, and fix all pre-existing calls. The
main existing callers are p4.run_password, p4.run_submit and
and p4.run_login. There was also a bug with p4.run_password() which
meant that you couldn't change a user's password if they hadn't
already set one. Fixed that while I was there and added a test
case to check that password setting, use and clearing works.