gdxlongpaths.gms : Verify GDX utilities (dump,diff,merge) can deal with long absolute paths (>260 chars)

Description

Create 100 char (0..90..9...) folder and subfolder with same name in current working directory.
Put copy of "trnsport.gdx" from "gams trnsport gdx=default" with 104 char name (0..90..9....gdx) in innermost folder (and second copy with ...2.gdx name)
Determine absolute path of GDX files

Then make sure:
- gdxdump can dump the GDX
- gdxdiff can diff the GDX with its copy
- gdxmerge can merge the GDX with its copy

Actual test is a Python script, as CMEX cannot handle long texts well yet.

Contributor: André Schnabel (March 2025)


Small Model of Type : GAMS


Category : GAMS Test library


Main file : gdxlongpaths.gms

$title 'Verify GDX utilities (dump,diff,merge) can deal with long absolute paths (>260 chars)' (gdxlongpaths,SEQ=981)

$onText
Create 100 char (0..90..9...) folder and subfolder with same name in current working directory.
Put copy of "trnsport.gdx" from "gams trnsport gdx=default" with 104 char name (0..90..9....gdx) in innermost folder (and second copy with ...2.gdx name)
Determine absolute path of GDX files

Then make sure:
- gdxdump can dump the GDX
- gdxdiff can diff the GDX with its copy
- gdxmerge can merge the GDX with its copy

Actual test is a Python script, as CMEX cannot handle long texts well yet.

Contributor: André Schnabel (March 2025)
$offText

$call cd . && "%gams.sysdir%GMSPython%system.dirsep%python" ./testgdxlongpaths.py "%gams.sysdir%" > testgdxlongpaths.stdout

$if errorlevel 1 $abort 'error in GDX long paths test, check stderr.txt'