From 5c37c04499d7d589434e1e294e8dfad4c1546b98 Mon Sep 17 00:00:00 2001 From: VirxEC Date: Tue, 28 May 2024 09:41:09 -0400 Subject: [PATCH] Add more tests --- Cargo.lock | 42 +++++++++++++++++++++--------------------- pytest.py | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 67 insertions(+), 21 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 376301f..7a394de 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -11,7 +11,7 @@ dependencies = [ "attribute-derive-macro", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.66", ] [[package]] @@ -27,7 +27,7 @@ dependencies = [ "proc-macro2", "quote", "quote-use", - "syn 2.0.63", + "syn 2.0.66", ] [[package]] @@ -68,7 +68,7 @@ checksum = "62d671cc41a825ebabc75757b62d3d168c577f9149b2d49ece1dad1f72119d25" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.66", ] [[package]] @@ -98,7 +98,7 @@ checksum = "13a1bcfb855c1f340d5913ab542e36f25a1c56f57de79022928297632435dec2" dependencies = [ "attribute-derive", "quote", - "syn 2.0.63", + "syn 2.0.66", ] [[package]] @@ -121,9 +121,9 @@ checksum = "71dd52191aae121e8611f1e8dc3e324dd0dd1dee1e6dd91d10ee07a3cfb4d9d8" [[package]] name = "libc" -version = "0.2.154" +version = "0.2.155" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ae743338b92ff9146ce83992f766a31066a91a8c84a45e0e9f21e7cf6de6d346" +checksum = "97b3888a4aecf77e811145cadf6eef5901f4782c53886191b2f693f24761847c" [[package]] name = "lock_api" @@ -152,9 +152,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92" [[package]] name = "parking_lot" -version = "0.12.2" +version = "0.12.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7e4af0ca4f6caed20e900d564c242b8e5d4903fdacf31d3daf527b66fe6f42fb" +checksum = "f1bf18183cf54e8d6059647fc3063646a1801cf30896933ec2311622cc4b9a27" dependencies = [ "lock_api", "parking_lot_core", @@ -216,9 +216,9 @@ dependencies = [ [[package]] name = "proc-macro2" -version = "1.0.82" +version = "1.0.84" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8ad3d49ab951a01fbaafe34f2ec74122942fe18a3f9814c3268f1bb72042131b" +checksum = "ec96c6a92621310b51366f1e28d05ef11489516e93be030060e5fc12024a49d6" dependencies = [ "unicode-ident", ] @@ -270,7 +270,7 @@ dependencies = [ "proc-macro2", "pyo3-macros-backend", "quote", - "syn 2.0.63", + "syn 2.0.66", ] [[package]] @@ -283,7 +283,7 @@ dependencies = [ "proc-macro2", "pyo3-build-config", "quote", - "syn 2.0.63", + "syn 2.0.66", ] [[package]] @@ -303,7 +303,7 @@ checksum = "a7b5abe3fe82fdeeb93f44d66a7b444dedf2e4827defb0a8e69c437b2de2ef94" dependencies = [ "quote", "quote-use-macros", - "syn 2.0.63", + "syn 2.0.66", ] [[package]] @@ -315,7 +315,7 @@ dependencies = [ "derive-where", "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.66", ] [[package]] @@ -360,22 +360,22 @@ checksum = "61697e0a1c7e512e84a621326239844a24d8207b4669b41bc18b32ea5cbf988b" [[package]] name = "serde" -version = "1.0.202" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "226b61a0d411b2ba5ff6d7f73a476ac4f8bb900373459cd00fab8512828ba395" +checksum = "7253ab4de971e72fb7be983802300c30b5a7f0c2e56fab8abfc6a214307c0094" dependencies = [ "serde_derive", ] [[package]] name = "serde_derive" -version = "1.0.202" +version = "1.0.203" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6048858004bcff69094cd972ed40a32500f153bd3be9f716b2eed2e8217c4838" +checksum = "500cbc0ebeb6f46627f50f3f5811ccf6bf00643be300b4c3eabc0ef55dc5b5ba" dependencies = [ "proc-macro2", "quote", - "syn 2.0.63", + "syn 2.0.66", ] [[package]] @@ -396,9 +396,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.63" +version = "2.0.66" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "bf5be731623ca1a1fb7d8be6f261a3be6d3e2337b8a1f97be944d020c8fcb704" +checksum = "c42f3f41a2de00b01c0aaad383c5a45241efc8b2d1eda5661812fda5f3cdcff5" dependencies = [ "proc-macro2", "quote", diff --git a/pytest.py b/pytest.py index 084877b..04f5846 100644 --- a/pytest.py +++ b/pytest.py @@ -1,3 +1,4 @@ +from random import randrange from time import time_ns from rlbot_flatbuffers import * @@ -8,6 +9,31 @@ def __add__(self, other): return MyVector(self.x + other.x, self.y + other.y, self.z + other.z) +def random_string(): + return "".join(chr(randrange(32, 127)) for _ in range(64)) + + +def random_player_config(): + return PlayerConfiguration( + variety=PlayerClass(Psyonix(1.)), + name=random_string(), + location=random_string(), + run_command=random_string(), + loadout=PlayerLoadout( + loadout_paint=LoadoutPaint(), + primary_color_lookup=Color(), + secondary_color_lookup=Color(), + ) + ) + + +def random_script_config(): + return ScriptConfiguration( + location=random_string(), + run_command=random_string(), + ) + + if __name__ == "__main__": vec1 = MyVector(1, 2, 3) vec2 = Vector3(4, 5, 6) @@ -71,6 +97,26 @@ def __add__(self, other): except InvalidFlatbuffer as e: print(e) + match_settings = MatchSettings( + game_path=random_string(), + game_map_upk=random_string(), + player_configurations=[random_player_config() for _ in range(128)], + script_configurations = [random_script_config() for _ in range(8)], + mutator_settings=MutatorSettings() + ) + + data = match_settings.pack() + print(f"MatchSettings size: {len(data)} bytes") + + renderPolyLine = RenderMessage(RenderType(PolyLine3D( + [Vector3() for _ in range(2048)], + ))) + + data = renderPolyLine.pack() + print(f"RenderMessage size: {len(data)} bytes") + + print() + print("Running quick benchmark...") num_trials = 100_000