Commit Graph

15 Commits

Author SHA1 Message Date
Zachy
93f6d269da Fix tests to work with new Angle type@ 2019-05-17 02:09:27 +01:00
Zachy
3c594a1386 Remove debugging print statement and make send static 2019-05-15 13:59:23 +01:00
Zachy
0fc8c3bbfe Add tests for new Angle type. 2019-05-15 13:52:13 +01:00
joodicator
7b1567c352 Improve test coverage wrt protocol versions; other fixes/improvements
Improvements to the test suite:
* List release version names and numbers in minecraft/__init__.py.
* Make some tests, which previously ran for *all* protocol versions,
  run only for release protocol versions (to improve test performance).
* Make some tests, which previously ran only for the latest protocol
  version, run for all release protocol versions (to improve coverage).
* Print each protocol version being tested to the debug log, to help
  identify sources of errors.
* Use the `nose-timer' plugin to show the run time of each test.

Fix errors revealed by increased test coverage:
* Fix: SoundEffectPacket.Pitch is not serialised correctly for early
  protocol versions.
* Fix: handleExceptionTest finishes later than necessary because
  the test overrode an exception handler used internally by
  `_FakeServerTest', causing the server thread to time out after 4s.
* Add support for multiple exception handlers in `Connection'
  (required for the above).

Improvements to data descriptors:
* Make syntax of property declarations more consistent/Pythonic.
* Factor the definition of several aliasing properties into the
  utility methods `attribute_alias' and `multi_attribute_alias',
  which construct suitable data descriptors.
* Define and use the named tuple `Direction' for (pitch, yaw) values.
2019-05-14 18:41:58 +02:00
joodicator
612fa8e324 Add support for Minecraft 18w43a to 1.14 (protocols 441 to 477)
This commit introduces two backward-incompatible changes which may break
existing code:

(1) `networking.packets.clientbound.play.SpawnObjectPacket.EntityType'
is no longer accessible as an attribute of the the `SpawnObjectPacket'
class: the values now depend on a `ConnectionContext`, and must be
accessed through an instance, or using `SpawnObjectPacket.field_enum'.
See the text of the `AttributeError` raised from the descriptor for
`SpawnObjectPacket.EntityType` for the full details.

(2) For some subclasses of `networking.types.Type', it is necessary to
call the methods `read_with_context' and `send_with_context' instead of
`read' and `send', supplying a `ConnectionContext' for those data types
- currently only `Position` - whose layout depends on it.
2019-05-11 08:43:51 +02:00
joo
bea2222c58 Fix: MutableRecord.__ne__ misspelt as '__neq__'.
Add tests for MutableRecord and Position.
2018-06-21 07:06:45 +01:00
Zachy
d3a8cc8dfb Implement New Type. FixedPointInteger. (#93)
Fix: SpawnPlayerPacket coordinates read wrongly before protocol 100. Add types.FixedPointInteger.
2018-06-20 05:32:35 +01:00
joo
db714f9490 Fix: MapPacket.write_fields() is incorrect. 2018-05-27 17:12:50 +01:00
Ammar Askar
da967a4e56
Minor coverage improvement for packets 2017-07-16 01:20:08 -07:00
Ammar Askar
d8226d266f
Improve tests of types.py 2017-07-16 01:00:14 -07:00
joo
3ff7662684 Update tests to match new API. 2016-06-17 22:54:21 +01:00
Ammar Askar
a5a76a8e1c Added more tests, fixed compat.py to run on py3 as well 2015-04-12 07:26:12 +05:00
Ammar Askar
ea11461e76 Fully test the encryption package, and add a test for uncompressed packets when packet compression is enabled 2015-04-03 21:30:31 +05:00
Ammar Askar
1249f99a1e Packet tests 2015-04-03 08:51:53 +05:00
Ammar Askar
08e126188a Add a serialization test 2015-04-03 08:06:20 +05:00