chore: import upstream snapshot with attribution
This commit is contained in:
Executable
+51
@@ -0,0 +1,51 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# Test that the version number is provided correctly in a frozen (bundled)
|
||||
# executable (see #1044).
|
||||
|
||||
set -e
|
||||
|
||||
# Get the directory of the current repository
|
||||
MPMATH_DIR="$(realpath "$(dirname "$0")/../../")"
|
||||
echo "Repo mpmath directory: $MPMATH_DIR"
|
||||
|
||||
echo "Install requirements..."
|
||||
python3 -m pip install build pyinstaller
|
||||
|
||||
echo "Building the source distribution from the local repo..."
|
||||
python3 -m build --sdist
|
||||
|
||||
# Find and install the generated tarball
|
||||
TARBALL=$(ls -t dist/*.tar.gz | head -1)
|
||||
echo "Generated tarball: $TARBALL"
|
||||
|
||||
echo "Installing mpmath from tarball..."
|
||||
pip install dist/"$(basename $TARBALL)"
|
||||
|
||||
TEMP_DIR=$(mktemp -d)
|
||||
echo "Created temporary directory: $TEMP_DIR"
|
||||
cd "$TEMP_DIR"
|
||||
|
||||
# Create version_script.py that prints the package version
|
||||
cat << EOF > version_script.py
|
||||
import mpmath
|
||||
print(mpmath.__version__)
|
||||
EOF
|
||||
|
||||
# Save local version for later comparison
|
||||
DIRECT_VERSION="$(python3 -m mpmath --version)"
|
||||
|
||||
echo "Building version_script with PyInstaller..."
|
||||
pyinstaller --onefile --clean version_script.py
|
||||
|
||||
echo "Run frozen executable and extract the version from the output..."
|
||||
FROZEN_VERSION="$(./dist/version_script 2>&1)"
|
||||
|
||||
if [ "$DIRECT_VERSION" == "$FROZEN_VERSION" ]; then
|
||||
echo "Test passed: Version matches in frozen (bundled) executable."
|
||||
else
|
||||
echo "Test failed: Version mismatch."
|
||||
echo "Direct version: $DIRECT_VERSION"
|
||||
echo "Frozen version: $FROZEN_VERSION"
|
||||
exit 1
|
||||
fi
|
||||
Reference in New Issue
Block a user