Spaces:
Running
Running
#!/usr/bin/env python3 | |
""" | |
Test script to verify environment variables are properly set in virtual environment | |
""" | |
import os | |
import sys | |
import subprocess | |
from pathlib import Path | |
def test_environment_variables(): | |
"""Test that environment variables are properly set""" | |
print("π Testing Environment Variables") | |
print("=" * 50) | |
# Test token from user | |
test_token = "xxxxx" | |
# Set environment variables | |
os.environ['HF_TOKEN'] = test_token | |
os.environ['HUGGING_FACE_HUB_TOKEN'] = test_token | |
os.environ['HF_USERNAME'] = 'Tonic' | |
os.environ['TRACKIO_DATASET_REPO'] = 'Tonic/trackio-experiments' | |
print(f"Testing environment setup with token: {'*' * 10}...{test_token[-4:]}") | |
# Check if environment variables are set | |
required_vars = ['HF_TOKEN', 'HUGGING_FACE_HUB_TOKEN', 'HF_USERNAME', 'TRACKIO_DATASET_REPO'] | |
all_set = True | |
for var in required_vars: | |
value = os.environ.get(var) | |
if value: | |
print(f"[OK] {var}: {value[:10] if len(value) > 10 else value}...{value[-4:] if len(value) > 4 else ''}") | |
else: | |
print(f"[ERROR] {var}: Not set") | |
all_set = False | |
return all_set | |
def test_virtual_environment(): | |
"""Test that virtual environment can access environment variables""" | |
print("\nπ Testing Virtual Environment Access") | |
print("=" * 50) | |
# Test token from user | |
test_token = "xxxx" | |
# Create a simple Python script to test environment variables | |
test_script = """ | |
import os | |
import sys | |
# Check environment variables | |
required_vars = ['HF_TOKEN', 'HUGGING_FACE_HUB_TOKEN', 'HF_USERNAME', 'TRACKIO_DATASET_REPO'] | |
print("Environment variables in virtual environment:") | |
all_set = True | |
for var in required_vars: | |
value = os.environ.get(var) | |
if value: | |
print(f"[OK] {var}: {value[:10] if len(value) > 10 else value}...{value[-4:] if len(value) > 4 else ''}") | |
else: | |
print(f"[ERROR] {var}: Not set") | |
all_set = False | |
if all_set: | |
print("\\n[OK] All environment variables are properly set in virtual environment") | |
sys.exit(0) | |
else: | |
print("\\n[ERROR] Some environment variables are missing in virtual environment") | |
sys.exit(1) | |
""" | |
# Write test script to temporary file | |
test_file = Path("tests/temp_env_test.py") | |
test_file.write_text(test_script) | |
try: | |
# Set environment variables | |
env = os.environ.copy() | |
env['HF_TOKEN'] = test_token | |
env['HUGGING_FACE_HUB_TOKEN'] = test_token | |
env['HF_USERNAME'] = 'Tonic' | |
env['TRACKIO_DATASET_REPO'] = 'Tonic/trackio-experiments' | |
# Run the test script | |
result = subprocess.run([sys.executable, str(test_file)], | |
env=env, | |
capture_output=True, | |
text=True) | |
print(result.stdout) | |
if result.stderr: | |
print(f"Errors: {result.stderr}") | |
return result.returncode == 0 | |
finally: | |
# Clean up | |
if test_file.exists(): | |
test_file.unlink() | |
def test_launch_script_environment(): | |
"""Test that launch script properly sets environment variables""" | |
print("\nπ Testing Launch Script Environment Setup") | |
print("=" * 50) | |
# Check if launch.sh exists | |
launch_script = Path("launch.sh") | |
if not launch_script.exists(): | |
print("β launch.sh not found") | |
return False | |
# Read launch script and check for environment variable exports | |
script_content = launch_script.read_text() | |
required_exports = [ | |
'export HF_TOKEN=', | |
'export HUGGING_FACE_HUB_TOKEN=', | |
'export HF_USERNAME=', | |
'export TRACKIO_DATASET_REPO=' | |
] | |
all_found = True | |
for export in required_exports: | |
if export in script_content: | |
print(f"[OK] Found: {export}") | |
else: | |
print(f"[ERROR] Missing: {export}") | |
all_found = False | |
# Check for virtual environment activation | |
if 'source smollm3_env/bin/activate' in script_content: | |
print("[OK] Found virtual environment activation") | |
else: | |
print("[ERROR] Missing virtual environment activation") | |
all_found = False | |
# Check for environment variable re-export after activation | |
if 'export HF_TOKEN="$HF_TOKEN"' in script_content: | |
print("[OK] Found environment variable re-export after activation") | |
else: | |
print("[ERROR] Missing environment variable re-export after activation") | |
all_found = False | |
return all_found | |
def main(): | |
"""Run all environment tests""" | |
print("π Environment Setup Verification") | |
print("=" * 50) | |
tests = [ | |
test_environment_variables, | |
test_virtual_environment, | |
test_launch_script_environment | |
] | |
all_passed = True | |
for test in tests: | |
try: | |
if not test(): | |
all_passed = False | |
except Exception as e: | |
print(f"β Test failed with error: {e}") | |
all_passed = False | |
print("\n" + "=" * 50) | |
if all_passed: | |
print("[SUCCESS] ALL ENVIRONMENT TESTS PASSED!") | |
print("[OK] Environment variables: Properly set") | |
print("[OK] Virtual environment: Can access variables") | |
print("[OK] Launch script: Properly configured") | |
print("\nThe environment setup is working correctly!") | |
else: | |
print("[ERROR] SOME ENVIRONMENT TESTS FAILED!") | |
print("Please check the failed tests above.") | |
return all_passed | |
if __name__ == "__main__": | |
success = main() | |
sys.exit(0 if success else 1) |