Moved prebuilt object test under unittests.

pull/2397/head
Jussi Pakkanen 8 years ago
parent 68275b32e8
commit b9c4fc728c
  1. 8
      run_project_tests.py
  2. 37
      run_unittests.py
  3. 0
      test cases/unit/14 prebuilt object/main.c
  4. 0
      test cases/unit/14 prebuilt object/meson.build
  5. 0
      test cases/unit/14 prebuilt object/source.c

@ -642,9 +642,8 @@ def generate_prebuilt():
object_suffix = 'obj'
else:
object_suffix = 'o'
objectfile = generate_pb_object(compiler, object_suffix)
stlibfile = generate_pb_static(compiler, object_suffix, static_suffix)
return objectfile, stlibfile
return stlibfile
def check_meson_commands_work():
global backend, meson_command, compile_commands, test_commands, install_commands
@ -684,14 +683,13 @@ if __name__ == '__main__':
os.chdir(script_dir)
check_format()
check_meson_commands_work()
pbfiles = generate_prebuilt()
pbfile = generate_prebuilt()
try:
all_tests = detect_tests_to_run()
(passing_tests, failing_tests, skipped_tests) = run_tests(all_tests, 'meson-test-run', options.extra_args)
except StopException:
pass
for f in pbfiles:
os.unlink(f)
os.unlink(pbfile)
print('\nTotal passed tests:', green(str(passing_tests)))
print('Total failed tests:', red(str(failing_tests)))
print('Total skipped tests:', yellow(str(skipped_tests)))

@ -1298,6 +1298,43 @@ int main(int argc, char **argv) {
for i in targets:
self.assertPathExists(os.path.join(testdir, i))
def detect_prebuild_env(self):
if mesonbuild.mesonlib.is_windows():
object_suffix = 'obj'
else:
object_suffix = 'o'
static_suffix = 'a'
if shutil.which('cl'):
compiler = 'cl'
static_suffix = 'lib'
elif shutil.which('cc'):
compiler = 'cc'
elif shutil.which('gcc'):
compiler = 'gcc'
else:
raise RuntimeError("Could not find C compiler.")
return (compiler, object_suffix, static_suffix)
def pbcompile(self, compiler, source, objectfile):
if compiler == 'cl':
cmd = [compiler, '/nologo', '/Fo' + objectfile, '/c', source]
else:
cmd = [compiler, '-c', source, '-o', objectfile]
subprocess.check_call(cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
def test_prebuilt_object(self):
(compiler, object_suffix, static_suffix) = self.detect_prebuild_env()
tdir = os.path.join(self.unit_test_dir, '14 prebuilt object')
source = os.path.join(tdir, 'source.c')
objectfile = os.path.join(tdir, 'prebuilt.' + object_suffix)
self.pbcompile(compiler, source, objectfile)
try:
self.init(tdir)
self.build()
self.run_tests()
finally:
os.unlink(objectfile)
class FailureTests(BasePlatformTests):
'''

Loading…
Cancel
Save