From bf6e3f0f3a7a134e8e3cb16366ef01b8c956e4c8 Mon Sep 17 00:00:00 2001 From: Tim Orling Date: Fri, 7 Jun 2019 16:47:54 -0700 Subject: oeqa/runtime: add simple test for scons This test simply compiles a hello world program using scons. Signed-off-by: Tim Orling Signed-off-by: Richard Purdie --- meta/lib/oeqa/runtime/cases/scons.py | 37 ++++++++++++++++++++++++++++++++++ meta/lib/oeqa/runtime/files/SConstruct | 1 + meta/lib/oeqa/runtime/files/hello.c | 5 +++++ 3 files changed, 43 insertions(+) create mode 100644 meta/lib/oeqa/runtime/cases/scons.py create mode 100644 meta/lib/oeqa/runtime/files/SConstruct create mode 100644 meta/lib/oeqa/runtime/files/hello.c diff --git a/meta/lib/oeqa/runtime/cases/scons.py b/meta/lib/oeqa/runtime/cases/scons.py new file mode 100644 index 0000000000..3c7c7f7270 --- /dev/null +++ b/meta/lib/oeqa/runtime/cases/scons.py @@ -0,0 +1,37 @@ +# +# SPDX-License-Identifier: MIT +# + +import os + +from oeqa.runtime.case import OERuntimeTestCase +from oeqa.core.decorator.depends import OETestDepends +from oeqa.runtime.decorator.package import OEHasPackage + +class SconsCompileTest(OERuntimeTestCase): + + @classmethod + def setUp(cls): + dst = '/tmp/' + src = os.path.join(cls.tc.runtime_files_dir, 'hello.c') + cls.tc.target.copyTo(src, dst) + + src = os.path.join(cls.tc.runtime_files_dir, 'SConstruct') + cls.tc.target.copyTo(src, dst) + + @classmethod + def tearDown(cls): + files = '/tmp/hello.c /tmp/hello.o /tmp/hello /tmp/SConstruct' + cls.tc.target.run('rm %s' % files) + + @OETestDepends(['ssh.SSHTest.test_ssh']) + @OEHasPackage(['gcc']) + @OEHasPackage(['python3-scons']) + def test_scons_compile(self): + status, output = self.target.run('cd /tmp/ && scons') + msg = 'scons compile failed, output: %s' % output + self.assertEqual(status, 0, msg=msg) + + status, output = self.target.run('/tmp/hello') + msg = 'running compiled file failed, output: %s' % output + self.assertEqual(status, 0, msg=msg) diff --git a/meta/lib/oeqa/runtime/files/SConstruct b/meta/lib/oeqa/runtime/files/SConstruct new file mode 100644 index 0000000000..d2cb6dd122 --- /dev/null +++ b/meta/lib/oeqa/runtime/files/SConstruct @@ -0,0 +1 @@ +Program('hello.c') diff --git a/meta/lib/oeqa/runtime/files/hello.c b/meta/lib/oeqa/runtime/files/hello.c new file mode 100644 index 0000000000..b0697a3304 --- /dev/null +++ b/meta/lib/oeqa/runtime/files/hello.c @@ -0,0 +1,5 @@ +int + main() + { + printf("Hello, world!\n"); + } -- cgit 1.2.3-korg