Skip to content

Commit

Permalink
WIP
Browse files Browse the repository at this point in the history
  • Loading branch information
romainthomas committed Oct 23, 2023
1 parent 23bbfb6 commit ce65aee
Show file tree
Hide file tree
Showing 3 changed files with 49 additions and 29 deletions.
15 changes: 12 additions & 3 deletions scripts/docker/linux-py-aarch64
Expand Up @@ -7,10 +7,19 @@ export LDFLAGS='-Wl,--gc-sections'
export LIEF_BUILD_DIR=/tmp/lief-build
export _PYTHON_HOST_PLATFORM="manylinux2014-aarch64"
export SETUPTOOLS_EXT_SUFFIX=$($PYTHON_BINARY -c "import sysconfig;print(sysconfig.get_config_var('EXT_SUFFIX').replace('x86_64', 'aarch64'))")
export PYLIEF_CONF=/src/scripts/docker/config/pylinux-aarch64.toml

$PYTHON_BINARY -m venv /tmp/lief_venv
source /tmp/lief_venv/bin/activate

$PYTHON_BINARY -m pip install tomli pip wheel
python -m pip install \
tomli==2.0.1 \
wheel==0.41.2 \
setuptools==68.2.2

pushd /src/api/python
export PYLIEF_CONF=/src/scripts/docker/config/pylinux-aarch64.toml
$PYTHON_BINARY -m pip -vvv wheel --no-build-isolation --wheel-dir=/src/dist .
python -m pip -vvv wheel \
--no-build-isolation \
--disable-pip-version-check \
--wheel-dir=/src/dist .
popd
18 changes: 14 additions & 4 deletions scripts/docker/linux-py-x64
Expand Up @@ -7,13 +7,23 @@ export LDFLAGS='-Wl,--gc-sections -Wl,--strip-all'
export PYLIEF_CONF=/src/scripts/docker/config/pylinux-x64.toml
export LIEF_BUILD_DIR=/tmp/lief-build

$PYTHON_BINARY -m pip install tomli pip wheel
$PYTHON_BINARY -m venv /tmp/lief_venv
source /tmp/lief_venv/bin/activate

python -m pip install \
tomli==2.0.1 \
wheel==0.41.2 \
setuptools==68.2.2

pushd /src/api/python

$PYTHON_BINARY -m pip -vvv wheel --no-build-isolation --wheel-dir=/src/wheel_stage .
$PYTHON_BINARY -m pip -vvv install --user .
pushd /src/api/python
python -m pip -vvv wheel \
--no-build-isolation \
--disable-pip-version-check \
--wheel-dir=/src/wheel_stage .
popd

deactivate

find /src/wheel_stage -iname "*-cp${PYTHON_VERSION}-*" \
-exec auditwheel repair -w /src/dist {} \;
45 changes: 23 additions & 22 deletions scripts/docker/test-linux-x64
Expand Up @@ -4,41 +4,42 @@ export LIEF_SAMPLES_DIR=/tmp/samples
export CXXFLAGS='-ffunction-sections -fdata-sections -fvisibility-inlines-hidden -static-libgcc'
export CFLAGS='-ffunction-sections -fdata-sections -static-libgcc'
export LDFLAGS='-Wl,--gc-sections'
export PYLIEF_CONF=/src/scripts/docker/config/pylinux-test-x64.toml

export LIEF_BUILD_DIR="/tmp/lief-build"

$PYTHON_BINARY -m pip install -r /src/tests/requirements.txt
$PYTHON_BINARY -m pip install tomli pip wheel
$PYTHON_BINARY -m venv /tmp/lief_venv
source /tmp/lief_venv/bin/activate

python -m pip install -r /src/tests/requirements.txt
python -m pip install tomli pip wheel setuptools

mkdir -p ${LIEF_SAMPLES_DIR}

$PYTHON_BINARY tests/dl_samples.py ${LIEF_SAMPLES_DIR}
python tests/dl_samples.py ${LIEF_SAMPLES_DIR}

pushd /src/api/python
export PYLIEF_CONF=/src/scripts/docker/config/pylinux-test-x64.toml

$PYTHON_BINARY -m pip -vvv wheel --no-build-isolation --wheel-dir=/src/wheel_stage .
$PYTHON_BINARY -m pip -vvv install --user .
python -m pip -vvv wheel --no-build-isolation --wheel-dir=/src/wheel_stage .
python -m pip -vvv install .
popd

# Run the Python test suite
$PYTHON_BINARY tests/run_pytest.py
$PYTHON_BINARY tests/run_tools_check.py ${LIEF_BUILD_DIR}/temp
python tests/run_pytest.py
python tests/run_tools_check.py ${LIEF_BUILD_DIR}/temp

ctest --output-on-failure --test-dir ${LIEF_BUILD_DIR}/temp

# Fuzzing
PYTHONPATH=tests/ $PYTHON_BINARY tests/elf/fuzzing.py \
${LIEF_BUILD_DIR}/temp/tests/Melkor/src/MELKOR/melkor \
--input-seed ${LIEF_SAMPLES_DIR}/ELF/ELF64_x86-64_binary_ls.bin -n 100

PYTHONPATH=tests/ $PYTHON_BINARY tests/elf/fuzzing.py \
${LIEF_BUILD_DIR}/temp/tests/Melkor/src/MELKOR/melkor \
--input-seed ${LIEF_SAMPLES_DIR}/ELF/ELF64_x86-64_binary_openssl.bin -n 100

PYTHONPATH=tests/ $PYTHON_BINARY tests/elf/fuzzing.py \
${LIEF_BUILD_DIR}/temp/tests/Melkor/src/MELKOR/melkor \
--input-seed ${LIEF_SAMPLES_DIR}/ELF/ELF64_x86-64_binary_nm.bin -n 100

find /src/wheel_stage -iname "*-cp${PYTHON_VERSION}-*" \
-exec auditwheel repair -w /src/dist {} \;
export PYTHONPATH="/src/api/python/tests:$PYTHONPATH"
python tests/elf/fuzzing.py \
${LIEF_BUILD_DIR}/temp/tests/Melkor/src/MELKOR/melkor \
--input-seed ${LIEF_SAMPLES_DIR}/ELF/ELF64_x86-64_binary_ls.bin -n 100

python tests/elf/fuzzing.py \
${LIEF_BUILD_DIR}/temp/tests/Melkor/src/MELKOR/melkor \
--input-seed ${LIEF_SAMPLES_DIR}/ELF/ELF64_x86-64_binary_openssl.bin -n 100

python tests/elf/fuzzing.py \
${LIEF_BUILD_DIR}/temp/tests/Melkor/src/MELKOR/melkor \
--input-seed ${LIEF_SAMPLES_DIR}/ELF/ELF64_x86-64_binary_nm.bin -n 100

0 comments on commit ce65aee

Please sign in to comment.