Added support for VASSAL 3.5.8 and VASL 6.6.3.

master v1.8
Pacman Ghost 2 years ago
parent 315549cd21
commit a1613942d4
  1. 43
      vasl_templates/webapp/data/vasl-6.6.3/expected-multiple-images.json
  2. 2
      vasl_templates/webapp/data/vasl-6.6.3/online-counter-images.json
  3. 147
      vasl_templates/webapp/data/vasl-6.6.3/vasl-overrides.json
  4. 1363
      vasl_templates/webapp/tests/fixtures/vasl-pieces-6.6.3.txt
  5. 17
      vasl_templates/webapp/tests/test_vassal.py
  6. 4
      vasl_templates/webapp/vasl_mod.py
  7. 4
      vasl_templates/webapp/vassal.py

@ -0,0 +1,43 @@
{
"1555": {
"name": "2pdr Portee",
"front_images": [ "br/vehicles/portee.gif", "br/vehicles/portee0.gif" ],
"back_images": null
},
"2212": {
"name": "76* INF FRC",
"front_images": [ "al/gun/alINF76.gif", "al/gun/alINF76u.gif" ],
"back_images": "al/gun/alINF76b.gif"
},
"7409": {
"name": "76 ItK/28 B(s)",
"front_images": "fi/gun/fiAA76L.png",
"back_images": [ "fi/gun/fiAA76L.png", "fi/gun/fiAA76LB.png" ]
},
"adf:1828": {
"name": "105 ART wz.29",
"front_images": "po/gun/poARTwz29-BFP.png",
"back_images": [ "po/gun/poARTwz29-BFP.png", "po/gun/poARTwz29-BFPb.png" ]
},
"adf:1829": {
"name": "120* ART wz09.31",
"front_images": "po/gun/poARTwz0931-BFP.png",
"back_images": [ "po/gun/poARTwz0931-BFP.png", "po/gun/poARTwz0931-BFPb.png" ]
},
"adf:1830": {
"name": "155 ART wz.17",
"front_images": "po/gun/poARTwz17-BFP.png",
"back_images": [ "po/gun/poARTwz17-BFP.png", "po/gun/poARTwz17-BFPb.png" ]
},
"3b5:3676": {
"name": "M19A1 MGMC",
"front_images": [ "us/veh/usM19A1MGMC(trailer)KFW.png", "us/veh/usM19A1MGMC(KFW).png" ],
"back_images": null
}
}

@ -0,0 +1,147 @@
{
"2474": {
"expected": {
"name": "Goliath",
"front_images": [ "ge/gegol.gif", "ge/gegolb.gif" ],
"back_images": null
},
"updated": {
"front_images": "ge/gegol.gif"
}
},
"1555": {
"expected": {
"name": "2pdr Portee",
"front_images": "br/vehicles/portee.gif",
"back_images": [ "br/vehicles/portee.gif", "br/vehicles/portee0.gif" ]
},
"updated": {
"front_images": [ "br/vehicles/portee.gif", "br/vehicles/portee0.gif" ],
"back_images": null
}
},
"3463": {
"expected": {
"name": "75L AA 75/46",
"front_images": [ "it/gun/itAA7546.gif", "it/gun/itAA7546b.gif" ],
"back_images": [ "it/gun/itAA7546b.gif", "it/gun/itAA7546lb.gif" ]
},
"updated": {
"front_images": "it/gun/itAA7546.gif",
"back_images": "it/gun/itAA7546b.gif"
}
},
"3776": {
"expected": {
"name": "37* INF Skoda IG",
"front_images": [ "ax/gun/buIN37s.gif", "ax/gun/buIN37s2.gif" ],
"back_images": "ax/gun/buIN37sb.gif"
},
"updated": {
"front_images": "ax/gun/buIN37s.gif"
}
},
"3777": {
"expected": {
"name": "70* INF Skoda IG",
"front_images": [ "ax/gun/buIN37s.gif", "ax/gun/buIN37s2.gif" ],
"back_images": "ax/gun/buIN37sb.gif"
},
"updated": {
"front_images": "ax/gun/buIN37s2.gif"
}
},
"6802": {
"expected": {
"name": "20L (4) AA",
"front_images": [ "fi/gun/fi20L4 _2.png", "fi/gun/fi20L4 _2 LIM.png" ],
"back_images": null
},
"updated": {
"front_images": "fi/gun/fi20L4 _2.png"
}
},
"6803": {
"expected": {
"name": "20L VKT (12) AA",
"front_images": [ "fi/gun/fi20L12.png", "fi/gun/fi20L12L.png" ],
"back_images": null
},
"updated": {
"front_images": "fi/gun/fi20L12.png"
}
},
"6804": {
"expected": {
"name": "40L Bofors AA (s)",
"front_images": [ "fi/gun/fi40L.png", "fi/gun/fi40LL.png" ],
"back_images": null
},
"updated": {
"front_images": "fi/gun/fi40L.png"
}
},
"adf:1824": {
"expected": {
"name": "37L AT PTP obr. 30",
"front_images": "ru/gun/ruAT37L.gif",
"back_images": "ru/gun/ruAT37Lb.gif"
},
"updated": {
"front_images": "ru/gun/ru37LPTPobr30.png"
}
},
"adf:1822": {
"expected": {
"name": "37* INF PP obr. 15R",
"front_images": "ru/gun/ruINF37s.gif",
"back_images": "ru/gun/ruINF37sb.gif"
},
"updated": {
"front_images": "ru/gun/ru37PPobr15R.png"
}
},
"adf:1823": {
"expected": {
"name": "76* INF PP obr. 27",
"front_images": "ru/gun/ruINF76s.gif",
"back_images": "ru/gun/ruINF76sb.gif"
},
"updated": {
"front_images": "ru/gun/ru76PPobr27.png"
}
},
"3b5:10093": {
"expected": {
"name": "SL truck",
"front_images": [ "sh/SL3b(KFW).png", "sh/SL4b(KFW).png", "sh/SL5b(KFW).png", "sh/SL6b(KFW).png", "sh/SL1b(KFW).png", "sh/SL2b(KFW).png" ],
"back_images": [ "sh/SL3(KFW).png", "sh/SL4(KFW).png", "sh/SL5(KFW).png", "sh/SL6(KFW).png", "sh/SL1(KFW).png", "sh/SL2(KFW).png" ]
},
"updated": {
"front_images": "us/veh/usSearchlight(KFW).png",
"back_images": null
}
},
"08d:75": {
"expected": {
"name": "RCL 75*",
"front_images": "amrcl75-malf.png",
"back_images": "dm-75rcl.gif"
},
"updated": {
"front_images": "amrcl75.png"
}
}
}

File diff suppressed because it is too large Load Diff

@ -426,10 +426,17 @@ def test_update_legacy_labels( webapp, webdriver ):
_check_vsav_dump( updated_vsav_dump, expected )
# run the test against all versions of VASSAL+VASL
run_vassal_tests( webapp, lambda: do_test(True) )
# NOTE: VASL 6.6.3 can no longer read the .vsav file (VassalShim.loadScenario() calls
# GameState.decodeSavedGame(), which throws a java.util.NoSuchElementException).
# The stack trace suggests that it's having trouble understanding some OBA-related element,
# and Doug Rimmer tells me that he changed the names of a few things in the OBA dialog,
# so I suspect the code is trying to deserialize something it no longers knows about :-/
# The tests here are for handling legacy labels, which was an issue quite a long time ago
# in vasl-templates years, so we just ignore this problem...
run_vassal_tests( webapp, lambda: do_test(True), max_vasl_version="6.6.2" )
# run the test again (once) with no Chapter H vehicle/ordnance notes
run_vassal_tests( webapp, lambda: do_test(False), all_combos=False )
run_vassal_tests( webapp, lambda: do_test(False), all_combos=False, max_vasl_version="6.6.2" )
# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
@ -741,7 +748,9 @@ def test_vo_entry_selection_for_theater( webapp, webdriver ):
# ---------------------------------------------------------------------
def run_vassal_tests( webapp, func, all_combos=None, min_vasl_version=None, vasl_extns_type=None ):
def run_vassal_tests( webapp, func, vasl_extns_type=None,
all_combos=None, min_vasl_version=None, max_vasl_version=None
):
"""Run the test function for each combination of VASSAL + VASL.
This is, of course, going to be insanely slow, since we need to spin up a JVM
@ -772,6 +781,8 @@ def run_vassal_tests( webapp, func, all_combos=None, min_vasl_version=None, vasl
for vasl_version in vasl_versions:
if min_vasl_version and compare_version_strings( vasl_version, min_vasl_version ) < 0:
continue
if max_vasl_version and compare_version_strings( vasl_version, max_vasl_version ) > 0:
continue
if not VassalShim.is_compatible_version( vassal_version, vasl_version ):
continue
webapp.control_tests \

@ -16,8 +16,8 @@ from vasl_templates.webapp.config.constants import DATA_DIR
from vasl_templates.webapp.vo import get_vo_listings
from vasl_templates.webapp.utils import compare_version_strings
SUPPORTED_VASL_MOD_VERSIONS = [ "6.6.0", "6.6.1", "6.6.2" ]
SUPPORTED_VASL_MOD_VERSIONS_DISPLAY = "6.6.0-.2"
SUPPORTED_VASL_MOD_VERSIONS = [ "6.6.0", "6.6.1", "6.6.2", "6.6.3" ]
SUPPORTED_VASL_MOD_VERSIONS_DISPLAY = "6.6.0-.3"
_zip_file_lock = threading.Lock()

@ -33,14 +33,16 @@ from vasl_templates.webapp.vasl_mod import get_reverse_remapped_gpid
# 6.6.0 | 3.4.2 14.0.2+12
# 6.6.1 | 3.4.6 15+36
# 6.6.2 | 3.5.5 16+36
# 6.6.3 | 3.5.8 16+36
# NOTE: VASSAL+VASL back-compat has gone out the window :-/ We have to tie versions of VASL
# to specific versions of VASSAL. Sigh...
SUPPORTED_VASSAL_VERSIONS = {
"3.4.2": [ "6.6.0", "6.6.1" ],
"3.4.6": [ "6.6.0", "6.6.1" ],
"3.5.5": [ "6.6.0", "6.6.1", "6.6.2" ],
"3.5.8": [ "6.6.0", "6.6.1", "6.6.2", "6.6.3" ],
}
SUPPORTED_VASSAL_VERSIONS_DISPLAY = "3.4.2, 3.4.6, 3.5.5"
SUPPORTED_VASSAL_VERSIONS_DISPLAY = "3.4.2, 3.4.6, 3.5.5, 3.5.8"
# ---------------------------------------------------------------------

Loading…
Cancel
Save