Skip -m32 build-test on non-Linux non-x86 platforms (#2558)
The `-m32/64` compiler flags are x86/64-specific (mostly; at least in the context of JerryScript-supported architectures) and macOS has deprecated 32-bit support, so it's better to keep the build-testing of `-m32` to x86[-64]/Linux only. JerryScript-DCO-1.0-Signed-off-by: Renata Hodovan reni@inf.u-szeged.hu
This commit is contained in:
committed by
Akos Kiss
parent
22b08518c7
commit
c87aa83b0d
+22
-3
@@ -20,14 +20,18 @@ import argparse
|
|||||||
import collections
|
import collections
|
||||||
import hashlib
|
import hashlib
|
||||||
import os
|
import os
|
||||||
|
import platform
|
||||||
import subprocess
|
import subprocess
|
||||||
import sys
|
import sys
|
||||||
import settings
|
import settings
|
||||||
|
|
||||||
OUTPUT_DIR = os.path.join(settings.PROJECT_DIR, 'build', 'tests')
|
OUTPUT_DIR = os.path.join(settings.PROJECT_DIR, 'build', 'tests')
|
||||||
|
|
||||||
Options = collections.namedtuple('Options', ['name', 'build_args', 'test_args'])
|
Options = collections.namedtuple('Options', ['name', 'build_args', 'test_args', 'skip'])
|
||||||
Options.__new__.__defaults__ = ([], [])
|
Options.__new__.__defaults__ = ([], [], False)
|
||||||
|
|
||||||
|
def skip_if(condition, desc):
|
||||||
|
return desc if condition else False
|
||||||
|
|
||||||
OPTIONS_PROFILE_MIN = ['--profile=minimal']
|
OPTIONS_PROFILE_MIN = ['--profile=minimal']
|
||||||
OPTIONS_PROFILE_ES51 = [] # NOTE: same as ['--profile=es5.1']
|
OPTIONS_PROFILE_ES51 = [] # NOTE: same as ['--profile=es5.1']
|
||||||
@@ -133,7 +137,11 @@ JERRY_BUILDOPTIONS = [
|
|||||||
Options('buildoption_test-show_regexp_opcodes',
|
Options('buildoption_test-show_regexp_opcodes',
|
||||||
['--show-regexp-opcodes=on']),
|
['--show-regexp-opcodes=on']),
|
||||||
Options('buildoption_test-cpointer_32bit',
|
Options('buildoption_test-cpointer_32bit',
|
||||||
['--compile-flag=-m32', '--cpointer-32bit=on', '--system-allocator=on']),
|
['--compile-flag=-m32', '--cpointer-32bit=on', '--system-allocator=on'],
|
||||||
|
skip=skip_if(
|
||||||
|
platform.system() != 'Linux' or (platform.machine() != 'i386' and platform.machine() != 'x86_64'),
|
||||||
|
'-m32 is only supported on x86[-64]-linux')
|
||||||
|
),
|
||||||
Options('buildoption_test-external_context',
|
Options('buildoption_test-external_context',
|
||||||
['--external-context=on']),
|
['--external-context=on']),
|
||||||
Options('buildoption_test-shared_libs',
|
Options('buildoption_test-shared_libs',
|
||||||
@@ -197,6 +205,7 @@ def get_arguments():
|
|||||||
BINARY_CACHE = {}
|
BINARY_CACHE = {}
|
||||||
|
|
||||||
TERM_NORMAL = '\033[0m'
|
TERM_NORMAL = '\033[0m'
|
||||||
|
TERM_YELLOW = '\033[1;33m'
|
||||||
TERM_BLUE = '\033[1;34m'
|
TERM_BLUE = '\033[1;34m'
|
||||||
|
|
||||||
def report_command(cmd_type, cmd, env=None):
|
def report_command(cmd_type, cmd, env=None):
|
||||||
@@ -206,6 +215,12 @@ def report_command(cmd_type, cmd, env=None):
|
|||||||
for var, val in sorted(env.items())))
|
for var, val in sorted(env.items())))
|
||||||
sys.stderr.write('%s%s%s\n' % (TERM_BLUE, (' \\%s\n\t%s' % (TERM_NORMAL, TERM_BLUE)).join(cmd), TERM_NORMAL))
|
sys.stderr.write('%s%s%s\n' % (TERM_BLUE, (' \\%s\n\t%s' % (TERM_NORMAL, TERM_BLUE)).join(cmd), TERM_NORMAL))
|
||||||
|
|
||||||
|
def report_skip(job):
|
||||||
|
sys.stderr.write('%sSkipping: %s' % (TERM_YELLOW, job.name))
|
||||||
|
if job.skip:
|
||||||
|
sys.stderr.write(' (%s)' % job.skip)
|
||||||
|
sys.stderr.write('%s\n' % TERM_NORMAL)
|
||||||
|
|
||||||
def create_binary(job, options):
|
def create_binary(job, options):
|
||||||
build_args = job.build_args[:]
|
build_args = job.build_args[:]
|
||||||
if options.buildoptions:
|
if options.buildoptions:
|
||||||
@@ -413,6 +428,10 @@ def run_unittests(options):
|
|||||||
|
|
||||||
def run_buildoption_test(options):
|
def run_buildoption_test(options):
|
||||||
for job in JERRY_BUILDOPTIONS:
|
for job in JERRY_BUILDOPTIONS:
|
||||||
|
if job.skip:
|
||||||
|
report_skip(job)
|
||||||
|
continue
|
||||||
|
|
||||||
ret, _ = create_binary(job, options)
|
ret, _ = create_binary(job, options)
|
||||||
if ret:
|
if ret:
|
||||||
break
|
break
|
||||||
|
|||||||
Reference in New Issue
Block a user