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.
Pull 10.2 changes to main
Pick up missing changes in p10.2 and integrate to main.
As part of the integrate I also moved the unit tests '16_streams.rb' and
'17_streaming_handler.rb' because the integration introduced collisions with
the unit test names. Updated MANIFEST with new names for unit tests and also
added '98_unicode.rb', which was missing from it.
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.
Fix track error
P4Ruby now raises a P4Exception, instead of a Ruby warning if a user tries to
change track output after connecting. The test case has been updated to suppress
this because we expect the error.
Also removed debug message (accidently) left in streams test case.
Fix streams test case
Streams test case now checks api_level, as well as server_version
to make sure that we are using a new enough P4API. If not, the
test is skipped and the following message is displayed:
"Test Skipped: Streams requires a 2011.1 or later Perforce Server and P4API."
Fix Streams Test
For some reason, the test harness wasn't running 'test_streams_depot'. Renamed method
to 'test_streams' and it's now running!
Include 'extraTag' val in P4::Spec
The tagged output of a stream spec includes an 'extraTag<n>' field.
This change ensures that the field pointed to by 'extraTag' (such as
'firmerThanParent') is added to the P4::Spec object and it points
to the correct value.
Test case updated to check for 'firmerThanParent' in stream P4::Spec.
The test case needs to disconnect/connect, otherwise P4.run_streams
returns with the warning 'No such streams'.
[P4Ruby] enable streams by default
Fixed S_STREAMS bit mask to 0x0040 and changed the initial
state S_INITIAL_STATE bit 0x0041 to enable streams by default.
Added logic to set streams for API levels greater than 69
Add streams test case - tests the output of 'P4::run_depots' for different
settings of 'P4::streams' and 'P4::api_level'