summaryrefslogtreecommitdiffstats
path: root/meta/lib/oeqa/sdk/cases
diff options
context:
space:
mode:
authorAníbal Limón <anibal.limon@linux.intel.com>2016-10-31 17:20:48 -0600
committerRichard Purdie <richard.purdie@linuxfoundation.org>2017-01-23 12:05:19 +0000
commit2726c26efe8e135bb63408cad38509a89e49fa0d (patch)
tree3596d1e4294e18b57ad4763c149abf913f6671e3 /meta/lib/oeqa/sdk/cases
parent8d3640b90dca79f7a79b3a62de5cf5326577434e (diff)
downloadpoky-2726c26efe8e135bb63408cad38509a89e49fa0d.tar.gz
oeqa/sdk: Move test cases inside cases directory
For match with the new structure of the OEQA framework. In the new framework Test component base directory in this case sdk module will contain case and context implementations. [YOCTO #10599] (From OE-Core rev: 57af8ee4021c302bd351adf03e6d85274ad7efd5) Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com> Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com> Signed-off-by: Richard Purdie <richard.purdie@linuxfoundation.org>
Diffstat (limited to 'meta/lib/oeqa/sdk/cases')
-rw-r--r--meta/lib/oeqa/sdk/cases/__init__.py3
-rw-r--r--meta/lib/oeqa/sdk/cases/buildcvs.py25
-rw-r--r--meta/lib/oeqa/sdk/cases/buildgalculator.py27
-rw-r--r--meta/lib/oeqa/sdk/cases/buildiptables.py26
-rw-r--r--meta/lib/oeqa/sdk/cases/gcc.py36
-rw-r--r--meta/lib/oeqa/sdk/cases/perl.py28
-rw-r--r--meta/lib/oeqa/sdk/cases/python.py32
7 files changed, 177 insertions, 0 deletions
diff --git a/meta/lib/oeqa/sdk/cases/__init__.py b/meta/lib/oeqa/sdk/cases/__init__.py
new file mode 100644
index 0000000000..4cf3fa76b6
--- /dev/null
+++ b/meta/lib/oeqa/sdk/cases/__init__.py
@@ -0,0 +1,3 @@
1# Enable other layers to have tests in the same named directory
2from pkgutil import extend_path
3__path__ = extend_path(__path__, __name__)
diff --git a/meta/lib/oeqa/sdk/cases/buildcvs.py b/meta/lib/oeqa/sdk/cases/buildcvs.py
new file mode 100644
index 0000000000..c7146fa4af
--- /dev/null
+++ b/meta/lib/oeqa/sdk/cases/buildcvs.py
@@ -0,0 +1,25 @@
1from oeqa.oetest import oeSDKTest, skipModule
2from oeqa.utils.decorators import *
3from oeqa.utils.targetbuild import SDKBuildProject
4
5class BuildCvsTest(oeSDKTest):
6
7 @classmethod
8 def setUpClass(self):
9 self.project = SDKBuildProject(oeSDKTest.tc.sdktestdir + "/cvs/", oeSDKTest.tc.sdkenv, oeSDKTest.tc.d,
10 "http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2")
11 self.project.download_archive()
12
13 def test_cvs(self):
14 self.assertEqual(self.project.run_configure(), 0,
15 msg="Running configure failed")
16
17 self.assertEqual(self.project.run_make(), 0,
18 msg="Running make failed")
19
20 self.assertEqual(self.project.run_install(), 0,
21 msg="Running make install failed")
22
23 @classmethod
24 def tearDownClass(self):
25 self.project.clean()
diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
new file mode 100644
index 0000000000..dc2fa9ce19
--- /dev/null
+++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -0,0 +1,27 @@
1from oeqa.oetest import oeSDKTest, skipModule
2from oeqa.utils.decorators import *
3from oeqa.utils.targetbuild import SDKBuildProject
4
5def setUpModule():
6 if not (oeSDKTest.hasPackage("gtk+3") or oeSDKTest.hasPackage("libgtk-3.0")):
7 skipModule("Image doesn't have gtk+3 in manifest")
8
9class GalculatorTest(oeSDKTest):
10 def test_galculator(self):
11 try:
12 project = SDKBuildProject(oeSDKTest.tc.sdktestdir + "/galculator/",
13 oeSDKTest.tc.sdkenv, oeSDKTest.tc.d,
14 "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2")
15
16 project.download_archive()
17
18 # regenerate configure to get support for --with-libtool-sysroot
19 legacy_preconf=("autoreconf -i -f -I ${OECORE_TARGET_SYSROOT}/usr/share/aclocal -I m4;")
20
21 self.assertEqual(project.run_configure(extra_cmds=legacy_preconf),
22 0, msg="Running configure failed")
23
24 self.assertEqual(project.run_make(), 0,
25 msg="Running make failed")
26 finally:
27 project.clean()
diff --git a/meta/lib/oeqa/sdk/cases/buildiptables.py b/meta/lib/oeqa/sdk/cases/buildiptables.py
new file mode 100644
index 0000000000..f0cb8a4287
--- /dev/null
+++ b/meta/lib/oeqa/sdk/cases/buildiptables.py
@@ -0,0 +1,26 @@
1from oeqa.oetest import oeSDKTest
2from oeqa.utils.decorators import *
3from oeqa.utils.targetbuild import SDKBuildProject
4
5
6class BuildIptablesTest(oeSDKTest):
7
8 @classmethod
9 def setUpClass(self):
10 self.project = SDKBuildProject(oeSDKTest.tc.sdktestdir + "/iptables/", oeSDKTest.tc.sdkenv, oeSDKTest.tc.d,
11 "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2")
12 self.project.download_archive()
13
14 def test_iptables(self):
15 self.assertEqual(self.project.run_configure(), 0,
16 msg="Running configure failed")
17
18 self.assertEqual(self.project.run_make(), 0,
19 msg="Running make failed")
20
21 self.assertEqual(self.project.run_install(), 0,
22 msg="Running make install failed")
23
24 @classmethod
25 def tearDownClass(self):
26 self.project.clean()
diff --git a/meta/lib/oeqa/sdk/cases/gcc.py b/meta/lib/oeqa/sdk/cases/gcc.py
new file mode 100644
index 0000000000..f3f4341a20
--- /dev/null
+++ b/meta/lib/oeqa/sdk/cases/gcc.py
@@ -0,0 +1,36 @@
1import unittest
2import os
3import shutil
4from oeqa.oetest import oeSDKTest, skipModule
5from oeqa.utils.decorators import *
6
7def setUpModule():
8 machine = oeSDKTest.tc.d.getVar("MACHINE")
9 if not oeSDKTest.hasHostPackage("packagegroup-cross-canadian-" + machine):
10 skipModule("SDK doesn't contain a cross-canadian toolchain")
11
12
13class GccCompileTest(oeSDKTest):
14
15 @classmethod
16 def setUpClass(self):
17 for f in ['test.c', 'test.cpp', 'testsdkmakefile']:
18 shutil.copyfile(os.path.join(self.tc.filesdir, f), self.tc.sdktestdir + f)
19
20 def test_gcc_compile(self):
21 self._run('$CC %s/test.c -o %s/test -lm' % (self.tc.sdktestdir, self.tc.sdktestdir))
22
23 def test_gpp_compile(self):
24 self._run('$CXX %s/test.c -o %s/test -lm' % (self.tc.sdktestdir, self.tc.sdktestdir))
25
26 def test_gpp2_compile(self):
27 self._run('$CXX %s/test.cpp -o %s/test -lm' % (self.tc.sdktestdir, self.tc.sdktestdir))
28
29 def test_make(self):
30 self._run('cd %s; make -f testsdkmakefile' % self.tc.sdktestdir)
31
32 @classmethod
33 def tearDownClass(self):
34 files = [self.tc.sdktestdir + f for f in ['test.c', 'test.cpp', 'test.o', 'test', 'testsdkmakefile']]
35 for f in files:
36 bb.utils.remove(f)
diff --git a/meta/lib/oeqa/sdk/cases/perl.py b/meta/lib/oeqa/sdk/cases/perl.py
new file mode 100644
index 0000000000..45f422ef0b
--- /dev/null
+++ b/meta/lib/oeqa/sdk/cases/perl.py
@@ -0,0 +1,28 @@
1import unittest
2import os
3import shutil
4from oeqa.oetest import oeSDKTest, skipModule
5from oeqa.utils.decorators import *
6
7def setUpModule():
8 if not oeSDKTest.hasHostPackage("nativesdk-perl"):
9 skipModule("No perl package in the SDK")
10
11
12class PerlTest(oeSDKTest):
13
14 @classmethod
15 def setUpClass(self):
16 for f in ['test.pl']:
17 shutil.copyfile(os.path.join(self.tc.filesdir, f), self.tc.sdktestdir + f)
18 self.testfile = self.tc.sdktestdir + "test.pl"
19
20 def test_perl_exists(self):
21 self._run('which perl')
22
23 def test_perl_works(self):
24 self._run('perl %s/test.pl' % self.tc.sdktestdir)
25
26 @classmethod
27 def tearDownClass(self):
28 bb.utils.remove("%s/test.pl" % self.tc.sdktestdir)
diff --git a/meta/lib/oeqa/sdk/cases/python.py b/meta/lib/oeqa/sdk/cases/python.py
new file mode 100644
index 0000000000..896fab4dfb
--- /dev/null
+++ b/meta/lib/oeqa/sdk/cases/python.py
@@ -0,0 +1,32 @@
1import unittest
2import os
3import shutil
4from oeqa.oetest import oeSDKTest, skipModule
5from oeqa.utils.decorators import *
6
7def setUpModule():
8 if not oeSDKTest.hasHostPackage("nativesdk-python"):
9 skipModule("No python package in the SDK")
10
11
12class PythonTest(oeSDKTest):
13
14 @classmethod
15 def setUpClass(self):
16 for f in ['test.py']:
17 shutil.copyfile(os.path.join(self.tc.filesdir, f), self.tc.sdktestdir + f)
18
19 def test_python_exists(self):
20 self._run('which python')
21
22 def test_python_stdout(self):
23 output = self._run('python %s/test.py' % self.tc.sdktestdir)
24 self.assertEqual(output.strip(), "the value of a is 0.01", msg="Incorrect output: %s" % output)
25
26 def test_python_testfile(self):
27 self._run('ls /tmp/testfile.python')
28
29 @classmethod
30 def tearDownClass(self):
31 bb.utils.remove("%s/test.py" % self.tc.sdktestdir)
32 bb.utils.remove("/tmp/testfile.python")