mirror of
https://github.com/jerryscript-project/jerryscript.git
synced 2025-12-15 16:29:21 +00:00
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:
parent
22b08518c7
commit
c87aa83b0d
@ -20,14 +20,18 @@ import argparse
|
||||
import collections
|
||||
import hashlib
|
||||
import os
|
||||
import platform
|
||||
import subprocess
|
||||
import sys
|
||||
import settings
|
||||
|
||||
OUTPUT_DIR = os.path.join(settings.PROJECT_DIR, 'build', 'tests')
|
||||
|
||||
Options = collections.namedtuple('Options', ['name', 'build_args', 'test_args'])
|
||||
Options.__new__.__defaults__ = ([], [])
|
||||
Options = collections.namedtuple('Options', ['name', 'build_args', 'test_args', 'skip'])
|
||||
Options.__new__.__defaults__ = ([], [], False)
|
||||
|
||||
def skip_if(condition, desc):
|
||||
return desc if condition else False
|
||||
|
||||
OPTIONS_PROFILE_MIN = ['--profile=minimal']
|
||||
OPTIONS_PROFILE_ES51 = [] # NOTE: same as ['--profile=es5.1']
|
||||
@ -133,7 +137,11 @@ JERRY_BUILDOPTIONS = [
|
||||
Options('buildoption_test-show_regexp_opcodes',
|
||||
['--show-regexp-opcodes=on']),
|
||||
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',
|
||||
['--external-context=on']),
|
||||
Options('buildoption_test-shared_libs',
|
||||
@ -197,6 +205,7 @@ def get_arguments():
|
||||
BINARY_CACHE = {}
|
||||
|
||||
TERM_NORMAL = '\033[0m'
|
||||
TERM_YELLOW = '\033[1;33m'
|
||||
TERM_BLUE = '\033[1;34m'
|
||||
|
||||
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())))
|
||||
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):
|
||||
build_args = job.build_args[:]
|
||||
if options.buildoptions:
|
||||
@ -413,6 +428,10 @@ def run_unittests(options):
|
||||
|
||||
def run_buildoption_test(options):
|
||||
for job in JERRY_BUILDOPTIONS:
|
||||
if job.skip:
|
||||
report_skip(job)
|
||||
continue
|
||||
|
||||
ret, _ = create_binary(job, options)
|
||||
if ret:
|
||||
break
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user