Download scripts/test_launchers.py from Crobotia/iUMI_Inference: direct link, hf CLI and curl.
- Browser
- Download file 1.63 kB
-
https://huggingface.co/Crobotia/iUMI_Inference/resolve/main/scripts/test_launchers.py
- Command line
-
hf download hf://Crobotia/iUMI_Inference/scripts/test_launchers.py
-
curl -L -o test_launchers.py https://huggingface.co/Crobotia/iUMI_Inference/resolve/main/scripts/test_launchers.py
1.63 kB
| """Exercise launcher arguments without loading models or device SDKs.""" | |
| from pathlib import Path | |
| import os,subprocess,tempfile,unittest | |
| ROOT=Path(__file__).resolve().parents[1] | |
| class LauncherTest(unittest.TestCase): | |
| def run_launcher(self,backend,override=None): | |
| with tempfile.TemporaryDirectory() as tmp: | |
| fake=Path(tmp)/'python' | |
| fake.write_text('#!/usr/bin/env bash\nif [[ "$1" == "-" ]]; then exit 0; fi\nprintf "%s\\n" "$@"\nprintf "TOKENIZER_DIR=%s\\n" "${TOKENIZER_DIR:-}"\n') | |
| fake.chmod(0o755) | |
| env={'PATH':os.environ['PATH'],'UMI_INFER_DATA':'/cell','FLUX_RESOURCES':'/encoders','FLUX_PYTHON':str(fake),'PI05_PYTHON':str(fake)} | |
| if override:env.update(override) | |
| command=['bash','-c','TOKENIZER_DIR=/tokenizer; launcher="$1"; shift; source "$launcher"','test',str(ROOT/f'scripts/run_{backend}_server.sh')] | |
| return subprocess.check_output(command,env=env,text=True).splitlines() | |
| def test_flux_defaults_and_override(self): | |
| args=self.run_launcher('flux');i=args.index('--flux-export') | |
| self.assertEqual(args[i+1],str(ROOT/'checkpoints/flux_fold_clothes_bf16')) | |
| args=self.run_launcher('flux',{'FLUX_EXPORT_DIR':'/other/export'}) | |
| self.assertEqual(args[args.index('--flux-export')+1],'/other/export') | |
| def test_pi05_default_and_tokenizer_export(self): | |
| args=self.run_launcher('pi05') | |
| self.assertEqual(args[args.index('--checkpoint-dir')+1],str(ROOT/'checkpoints/pi05_fold_clothes/epoch_2')) | |
| self.assertIn('TOKENIZER_DIR=/tokenizer',args) | |
| if __name__=='__main__':unittest.main() | |