* Re: [PATCH 0/4] Load devtool and reciptool plugins in a well-defined manner
From: Burton, Ross @ 2016-12-08 15:24 UTC (permalink / raw)
To: Paul Eggleton; +Cc: OE-core
In-Reply-To: <2760910.PlGPul2nZt@peggleto-mobl.ger.corp.intel.com>
[-- Attachment #1: Type: text/plain, Size: 677 bytes --]
Sorry, slipped down in my inbox. Thanks for acking Paul, these are in
staging now.
Ross
On 7 December 2016 at 21:16, Paul Eggleton <paul.eggleton@linux.intel.com>
wrote:
> On Tue, 06 Dec 2016 07:37:16 Ola x Nilsson wrote:
> > Ping?
>
> I guess Ross / Richard were waiting for my ack - sorry about that.
>
> Acked-by: Paul Eggleton <paul.eggleton@linux.intel.com>
>
> Cheers,
> Paul
>
> --
>
> Paul Eggleton
> Intel Open Source Technology Centre
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
[-- Attachment #2: Type: text/html, Size: 1402 bytes --]
^ permalink raw reply
* Re: [PATCHv2 17/32] oeqa/utils/path: Add remove_safe function
From: Burton, Ross @ 2016-12-08 14:41 UTC (permalink / raw)
To: Aníbal Limón; +Cc: OE-core
In-Reply-To: <2fd5296cdd3485bd4eab59388ba8d19fce3fb022.1481142664.git.anibal.limon@linux.intel.com>
[-- Attachment #1: Type: text/plain, Size: 1072 bytes --]
Can you squash this into the commit that added core/utils/path.
Ross
On 7 December 2016 at 20:32, Aníbal Limón <anibal.limon@linux.intel.com>
wrote:
> Checks if path exists before try to remove of avoid exception.
>
> Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
> ---
> meta/lib/oeqa/core/utils/path.py | 5 +++++
> 1 file changed, 5 insertions(+)
>
> diff --git a/meta/lib/oeqa/core/utils/path.py b/meta/lib/oeqa/core/utils/
> path.py
> index cb06523..a21caad 100644
> --- a/meta/lib/oeqa/core/utils/path.py
> +++ b/meta/lib/oeqa/core/utils/path.py
> @@ -12,3 +12,8 @@ def findFile(file_name, directory):
> if file_name in f:
> return os.path.join(r, file_name)
> return None
> +
> +def remove_safe(path):
> + if os.path.exists(path):
> + os.remove(path)
> +
> --
> 2.1.4
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
[-- Attachment #2: Type: text/html, Size: 1799 bytes --]
^ permalink raw reply
* Re: [PATCHv2 16/32] oeqa/core: Change name of d to td
From: Burton, Ross @ 2016-12-08 14:41 UTC (permalink / raw)
To: Aníbal Limón; +Cc: OE-core
In-Reply-To: <2b7e685f6ff33f4c12d0f4d025db3689df43ad83.1481142664.git.anibal.limon@linux.intel.com>
[-- Attachment #1: Type: text/plain, Size: 320 bytes --]
On 7 December 2016 at 20:32, Aníbal Limón <anibal.limon@linux.intel.com>
wrote:
> The d variable references the test data into a test context, so
> makes a more sense to call it: td (test data).
>
Can you squash this into the commits where they are introduced (don't need
to see your working, etc).
Ross
[-- Attachment #2: Type: text/html, Size: 738 bytes --]
^ permalink raw reply
* [master][morty] grub2: fix some quirks and div by zero
From: Awais Belal @ 2016-12-08 14:09 UTC (permalink / raw)
To: openembedded-core
Rather than erroring out on a single attempt while
terminating EFI services, make a few retries because
such quirks are found in a few implementations.
Also fix a div by zero issue in the same framework
which causes an infinite reboot on the target.
Both patches included here are backports.
Signed-off-by: Awais Belal <awais_belal@mentor.com>
---
...ern-efi-mm.c-grub_efi_finish_boot_service.patch | 79 ++++++++++++++++++++++
...ern-efi-mm.c-grub_efi_get_memory_map-Neve.patch | 43 ++++++++++++
meta/recipes-bsp/grub/grub2.inc | 2 +
3 files changed, 124 insertions(+)
create mode 100644 meta/recipes-bsp/grub/files/0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch
create mode 100644 meta/recipes-bsp/grub/files/0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch
diff --git a/meta/recipes-bsp/grub/files/0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch b/meta/recipes-bsp/grub/files/0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch
new file mode 100644
index 0000000..abf08e1
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch
@@ -0,0 +1,79 @@
+From b258761d11946b28a847dff0768c3f271e13d60a Mon Sep 17 00:00:00 2001
+From: Awais Belal <awais_belal@mentor.com>
+Date: Thu, 8 Dec 2016 18:21:12 +0500
+Subject: [PATCH 1/2] * grub-core/kern/efi/mm.c
+ (grub_efi_finish_boot_services): Try terminating EFI services several times
+ due to quirks in some implementations.
+
+Upstream-status: Backport [ http://git.savannah.gnu.org/cgit/grub.git/patch/?id=e75fdee420a7ad95e9a465c9699adc2e2e970440 ]
+
+Signed-off-by: Awais Belal <awais_belal@mentor.com>
+---
+ grub-core/kern/efi/mm.c | 46 ++++++++++++++++++++++++++++++----------------
+ 1 file changed, 30 insertions(+), 16 deletions(-)
+
+diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
+index 461deb0..b00e0bc 100644
+--- a/grub-core/kern/efi/mm.c
++++ b/grub-core/kern/efi/mm.c
+@@ -167,27 +167,41 @@ grub_efi_finish_boot_services (grub_efi_uintn_t *outbuf_size, void *outbuf,
+ apple, sizeof (apple)) == 0);
+ #endif
+
+- if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
+- &finish_desc_size, &finish_desc_version) < 0)
+- return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
++ while (1)
++ {
++ if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
++ &finish_desc_size, &finish_desc_version) < 0)
++ return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
+
+- if (outbuf && *outbuf_size < finish_mmap_size)
+- return grub_error (GRUB_ERR_IO, "memory map buffer is too small");
++ if (outbuf && *outbuf_size < finish_mmap_size)
++ return grub_error (GRUB_ERR_IO, "memory map buffer is too small");
+
+- finish_mmap_buf = grub_malloc (finish_mmap_size);
+- if (!finish_mmap_buf)
+- return grub_errno;
++ finish_mmap_buf = grub_malloc (finish_mmap_size);
++ if (!finish_mmap_buf)
++ return grub_errno;
+
+- if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
+- &finish_desc_size, &finish_desc_version) <= 0)
+- return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
++ if (grub_efi_get_memory_map (&finish_mmap_size, finish_mmap_buf, &finish_key,
++ &finish_desc_size, &finish_desc_version) <= 0)
++ {
++ grub_free (finish_mmap_buf);
++ return grub_error (GRUB_ERR_IO, "couldn't retrieve memory map");
++ }
+
+- b = grub_efi_system_table->boot_services;
+- status = efi_call_2 (b->exit_boot_services, grub_efi_image_handle,
+- finish_key);
+- if (status != GRUB_EFI_SUCCESS)
+- return grub_error (GRUB_ERR_IO, "couldn't terminate EFI services");
++ b = grub_efi_system_table->boot_services;
++ status = efi_call_2 (b->exit_boot_services, grub_efi_image_handle,
++ finish_key);
++ if (status == GRUB_EFI_SUCCESS)
++ break;
+
++ if (status != GRUB_EFI_INVALID_PARAMETER)
++ {
++ grub_free (finish_mmap_buf);
++ return grub_error (GRUB_ERR_IO, "couldn't terminate EFI services");
++ }
++
++ grub_free (finish_mmap_buf);
++ grub_printf ("Trying to terminate EFI services again\n");
++ }
+ grub_efi_is_finished = 1;
+ if (outbuf_size)
+ *outbuf_size = finish_mmap_size;
+--
+1.9.1
+
diff --git a/meta/recipes-bsp/grub/files/0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch b/meta/recipes-bsp/grub/files/0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch
new file mode 100644
index 0000000..0e735ff
--- /dev/null
+++ b/meta/recipes-bsp/grub/files/0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch
@@ -0,0 +1,43 @@
+From 630de45f3d5f9a2dda7fad99acd21449b8c4111d Mon Sep 17 00:00:00 2001
+From: Awais Belal <awais_belal@mentor.com>
+Date: Thu, 8 Dec 2016 18:27:01 +0500
+Subject: [PATCH 2/2] * grub-core/kern/efi/mm.c (grub_efi_get_memory_map):
+ Never return a descriptor_size==0 to avoid potential divisions by zero.
+
+Upstream-status: Backport [ http://git.savannah.gnu.org/cgit/grub.git/commit/?id=69aee43fa64601cabf6efa9279c10d69b466662e ]
+
+Signed-off-by: Awais Belal <awais_belal@mentor.com>
+---
+ grub-core/kern/efi/mm.c | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/grub-core/kern/efi/mm.c b/grub-core/kern/efi/mm.c
+index b00e0bc..9f1d194 100644
+--- a/grub-core/kern/efi/mm.c
++++ b/grub-core/kern/efi/mm.c
+@@ -235,6 +235,7 @@ grub_efi_get_memory_map (grub_efi_uintn_t *memory_map_size,
+ grub_efi_boot_services_t *b;
+ grub_efi_uintn_t key;
+ grub_efi_uint32_t version;
++ grub_efi_uintn_t size;
+
+ if (grub_efi_is_finished)
+ {
+@@ -264,10 +265,14 @@ grub_efi_get_memory_map (grub_efi_uintn_t *memory_map_size,
+ map_key = &key;
+ if (! descriptor_version)
+ descriptor_version = &version;
++ if (! descriptor_size)
++ descriptor_size = &size;
+
+ b = grub_efi_system_table->boot_services;
+ status = efi_call_5 (b->get_memory_map, memory_map_size, memory_map, map_key,
+ descriptor_size, descriptor_version);
++ if (*descriptor_size == 0)
++ *descriptor_size = sizeof (grub_efi_memory_descriptor_t);
+ if (status == GRUB_EFI_SUCCESS)
+ return 1;
+ else if (status == GRUB_EFI_BUFFER_TOO_SMALL)
+--
+1.9.1
+
diff --git a/meta/recipes-bsp/grub/grub2.inc b/meta/recipes-bsp/grub/grub2.inc
index b10f633..677d860 100644
--- a/meta/recipes-bsp/grub/grub2.inc
+++ b/meta/recipes-bsp/grub/grub2.inc
@@ -32,6 +32,8 @@ SRC_URI = "ftp://ftp.gnu.org/gnu/grub/grub-${PV}.tar.gz \
file://0001-Remove-direct-_llseek-code-and-require-long-filesyst.patch \
file://fix-texinfo.patch \
file://0001-grub-core-gettext-gettext.c-main_context-secondary_c.patch \
+ file://0001-grub-core-kern-efi-mm.c-grub_efi_finish_boot_service.patch \
+ file://0002-grub-core-kern-efi-mm.c-grub_efi_get_memory_map-Neve.patch \
"
DEPENDS = "flex-native bison-native autogen-native"
--
1.9.1
^ permalink raw reply related
* [wic][PATCH] wic: rename command line option -p -> -s
From: Ed Bartosh @ 2016-12-08 13:19 UTC (permalink / raw)
To: openembedded-core
Short variant of wic command line option --skip-build-check
is incorretly named -p. It's named -s in wic help and Yocto
documentation.
Signed-off-by: Ed Bartosh <ed.bartosh@linux.intel.com>
---
scripts/wic | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/scripts/wic b/scripts/wic
index fe2c33f..1ad1666 100755
--- a/scripts/wic
+++ b/scripts/wic
@@ -107,7 +107,7 @@ def wic_create_subcommand(args, usage_str):
parser.add_option("-n", "--native-sysroot", dest="native_sysroot",
help="path to the native sysroot containing the tools "
"to use to build the image")
- parser.add_option("-p", "--skip-build-check", dest="build_check",
+ parser.add_option("-s", "--skip-build-check", dest="build_check",
action="store_false", default=True, help="skip the build check")
parser.add_option("-f", "--build-rootfs", action="store_true", help="build rootfs")
parser.add_option("-c", "--compress-with", choices=("gzip", "bzip2", "xz"),
--
2.1.4
^ permalink raw reply related
* [PATCH] matchbox-wm: Upgrade 1.2.1 -> 1.2.2
From: Jussi Kukkonen @ 2016-12-08 11:05 UTC (permalink / raw)
To: openembedded-core
Fixes [YOCTO #10635]: _NET_CURRENT_DESKTOP returns empty value.
Signed-off-by: Jussi Kukkonen <jussi.kukkonen@intel.com>
---
.../matchbox-wm/{matchbox-wm_1.2.1.bb => matchbox-wm_1.2.2.bb} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename meta/recipes-graphics/matchbox-wm/{matchbox-wm_1.2.1.bb => matchbox-wm_1.2.2.bb} (94%)
diff --git a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.1.bb b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb
similarity index 94%
rename from meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.1.bb
rename to meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb
index c3d2d23..815a75f 100644
--- a/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.1.bb
+++ b/meta/recipes-graphics/matchbox-wm/matchbox-wm_1.2.2.bb
@@ -10,8 +10,8 @@ LIC_FILES_CHKSUM = "file://src/wm.h;endline=21;md5=a7e844465edbcf79c282369f93caa
SECTION = "x11/wm"
DEPENDS = "libmatchbox virtual/libx11 libxext libxrender startup-notification expat gconf libxcursor libxfixes"
-# SRCREV tagged 1.2.1
-SRCREV = "9fd1806dfa7c8f2202db18b7bc880857a3019f8c"
+# SRCREV tagged 1.2.2
+SRCREV = "27da947e7fbdf9659f7e5bd1e92af92af6c03970"
SRC_URI = "git://git.yoctoproject.org/matchbox-window-manager \
file://kbdconfig"
--
2.1.4
^ permalink raw reply related
* Re: what exactly does the "meta-systemd" layer do?
From: Robert P. J. Day @ 2016-12-08 10:28 UTC (permalink / raw)
To: Andreas Müller; +Cc: OE Core mailing list
In-Reply-To: <CALbNGRTyW4UAamkmVYgJo2R=THjifJjttGv6bK_1EhXe1AxriA@mail.gmail.com>
[-- Attachment #1: Type: text/plain, Size: 1586 bytes --]
On Thu, 8 Dec 2016, Andreas Müller wrote:
> On Thu, Dec 8, 2016 at 11:11 AM, Robert P. J. Day <rpjday@crashcourse.ca> wrote:
> >
> > almost certainly a dumb question, but what is the purpose of the
> > meta-openembedded/meta-systemd layer? i can see that the general
> > structure of that layer is a pile of bbappend files of the form:
> >
> > RPROVIDES_${PN} += "${PN}-systemd"
> > RREPLACES_${PN} += "${PN}-systemd"
> > RCONFLICTS_${PN} += "${PN}-systemd"
> >
> > so, in the case of, say, dropbear (which, from oe-core, is already a
> > systemd-controlled activity), i see a simple renaming of the package
> > produced. so instead of "dropbear", i'll get "dropbear-systemd".
> >
> > what am i missing? what is the purpose of that layer?
> >
> > rday
> >
> The initial systemd support was implemented in meta-systemd and later
> moved to oe-core. In the first implementation service files were
> packed in extra packages named ${PN}-systemd. This was undone when
> moving to oe-core. I think today meta-systemd is only there to keep
> package feeds happy.
ah, and suddenly, it makes way more sense, thanks.
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
^ permalink raw reply
* Re: what exactly does the "meta-systemd" layer do?
From: Andreas Müller @ 2016-12-08 10:21 UTC (permalink / raw)
To: Robert P. J. Day; +Cc: OE Core mailing list
In-Reply-To: <alpine.LFD.2.20.1612080508460.13529@ca624034.mitel.com>
On Thu, Dec 8, 2016 at 11:11 AM, Robert P. J. Day <rpjday@crashcourse.ca> wrote:
>
> almost certainly a dumb question, but what is the purpose of the
> meta-openembedded/meta-systemd layer? i can see that the general
> structure of that layer is a pile of bbappend files of the form:
>
> RPROVIDES_${PN} += "${PN}-systemd"
> RREPLACES_${PN} += "${PN}-systemd"
> RCONFLICTS_${PN} += "${PN}-systemd"
>
> so, in the case of, say, dropbear (which, from oe-core, is already a
> systemd-controlled activity), i see a simple renaming of the package
> produced. so instead of "dropbear", i'll get "dropbear-systemd".
>
> what am i missing? what is the purpose of that layer?
>
> rday
>
The initial systemd support was implemented in meta-systemd and later
moved to oe-core. In the first implementation service files were
packed in extra packages named ${PN}-systemd. This was undone when
moving to oe-core. I think today meta-systemd is only there to keep
package feeds happy.
Andreas
^ permalink raw reply
* what exactly does the "meta-systemd" layer do?
From: Robert P. J. Day @ 2016-12-08 10:11 UTC (permalink / raw)
To: OE Core mailing list
almost certainly a dumb question, but what is the purpose of the
meta-openembedded/meta-systemd layer? i can see that the general
structure of that layer is a pile of bbappend files of the form:
RPROVIDES_${PN} += "${PN}-systemd"
RREPLACES_${PN} += "${PN}-systemd"
RCONFLICTS_${PN} += "${PN}-systemd"
so, in the case of, say, dropbear (which, from oe-core, is already a
systemd-controlled activity), i see a simple renaming of the package
produced. so instead of "dropbear", i'll get "dropbear-systemd".
what am i missing? what is the purpose of that layer?
rday
--
========================================================================
Robert P. J. Day Ottawa, Ontario, CANADA
http://crashcourse.ca
Twitter: http://twitter.com/rpjday
LinkedIn: http://ca.linkedin.com/in/rpjday
========================================================================
^ permalink raw reply
* [PATCH v2] slang: 2.3.0 -> 2.3.1
From: Huang Qiyu @ 2016-12-08 13:31 UTC (permalink / raw)
To: openembedded-core
1)Upgrade slang from 2.3.0 to 2.3.1.
2)Delete 0001-Fix-error-conflicting-types-for-posix_close.patch, since it is integrated upstream.
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
---
...x-error-conflicting-types-for-posix_close.patch | 39 ----------------------
.../slang/{slang_2.3.0.bb => slang_2.3.1.bb} | 6 ++--
2 files changed, 3 insertions(+), 42 deletions(-)
delete mode 100644 meta/recipes-extended/slang/slang/0001-Fix-error-conflicting-types-for-posix_close.patch
rename meta/recipes-extended/slang/{slang_2.3.0.bb => slang_2.3.1.bb} (90%)
diff --git a/meta/recipes-extended/slang/slang/0001-Fix-error-conflicting-types-for-posix_close.patch b/meta/recipes-extended/slang/slang/0001-Fix-error-conflicting-types-for-posix_close.patch
deleted file mode 100644
index 57ebfe4..0000000
--- a/meta/recipes-extended/slang/slang/0001-Fix-error-conflicting-types-for-posix_close.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From 96eb7e29822151823a66a1eb59f1fa4aead5ae08 Mon Sep 17 00:00:00 2001
-From: Khem Raj <raj.khem@gmail.com>
-Date: Mon, 31 Aug 2015 06:33:21 +0000
-Subject: [PATCH] Fix error: conflicting types for 'posix_close'
-
-Exposed while compiling on musl
-
-Signed-off-by: Khem Raj <raj.khem@gmail.com>
----
-Upstream-Status: Pending
-
- src/slposio.c | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/src/slposio.c b/src/slposio.c
-index 9ce9697..9ff9bfe 100644
---- a/src/slposio.c
-+++ b/src/slposio.c
-@@ -363,7 +363,7 @@ static int posix_close_fd (int *fd)
- return 0;
- }
-
--static int posix_close (SLFile_FD_Type *f)
-+static int posix_closex (SLFile_FD_Type *f)
- {
- int status = do_close (f);
-
-@@ -1001,7 +1001,7 @@ static SLang_Intrin_Fun_Type Fd_Name_Table [] =
- MAKE_INTRINSIC_2("write", posix_write, V, F, B),
- MAKE_INTRINSIC_1("dup_fd", posix_dup, V, F),
- MAKE_INTRINSIC_2("dup2_fd", posix_dup2, I, F, I),
-- MAKE_INTRINSIC_1("close", posix_close, I, F),
-+ MAKE_INTRINSIC_1("close", posix_closex, I, F),
- MAKE_INTRINSIC_1("_close", posix_close_fd, I, I),
- #if defined(TTYNAME_R)
- MAKE_INTRINSIC_0("ttyname", posix_ttyname, V),
---
-2.5.1
-
diff --git a/meta/recipes-extended/slang/slang_2.3.0.bb b/meta/recipes-extended/slang/slang_2.3.1.bb
similarity index 90%
rename from meta/recipes-extended/slang/slang_2.3.0.bb
rename to meta/recipes-extended/slang/slang_2.3.1.bb
index d5967d2..7bf3af6 100644
--- a/meta/recipes-extended/slang/slang_2.3.0.bb
+++ b/meta/recipes-extended/slang/slang_2.3.1.bb
@@ -19,11 +19,11 @@ SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
file://rpathfix.patch \
file://fix-check-pcre.patch \
file://slang-fix-the-iconv-existence-checking.patch \
- file://0001-Fix-error-conflicting-types-for-posix_close.patch \
file://no-x.patch \
"
-SRC_URI[md5sum] = "3bcc790460d52db1316c20395b7ac2f1"
-SRC_URI[sha256sum] = "f95224060f45e0d8212a5039b339afa5f1a94a1bb0298e796104e5b12e926129"
+
+SRC_URI[md5sum] = "bd46d1dc17a50c72004ad842829d7b1f"
+SRC_URI[sha256sum] = "a810d5da7b0c0c8c335393c6b4f12884be6fa7696d9ca9521ef21316a4e00f9d"
UPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/"
PREMIRRORS_append = "\n http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/ \n"
--
2.7.4
^ permalink raw reply related
* [PATCH] mpfr: 3.1.4 -> 3.1.5
From: Huang Qiyu @ 2016-12-08 13:17 UTC (permalink / raw)
To: openembedded-core
Upgrade mpfr from 3.1.4 to 3.1.5.
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
---
meta/recipes-support/mpfr/{mpfr_3.1.4.bb => mpfr_3.1.5.bb} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename meta/recipes-support/mpfr/{mpfr_3.1.4.bb => mpfr_3.1.5.bb} (75%)
diff --git a/meta/recipes-support/mpfr/mpfr_3.1.4.bb b/meta/recipes-support/mpfr/mpfr_3.1.5.bb
similarity index 75%
rename from meta/recipes-support/mpfr/mpfr_3.1.4.bb
rename to meta/recipes-support/mpfr/mpfr_3.1.5.bb
index 230a862..2d59c4a 100644
--- a/meta/recipes-support/mpfr/mpfr_3.1.4.bb
+++ b/meta/recipes-support/mpfr/mpfr_3.1.5.bb
@@ -8,8 +8,8 @@ DEPENDS = "gmp"
SRC_URI = "http://www.mpfr.org/mpfr-${PV}/mpfr-${PV}.tar.xz \
file://long-long-thumb.patch \
"
-SRC_URI[md5sum] = "064b2c18185038e404a401b830d59be8"
-SRC_URI[sha256sum] = "761413b16d749c53e2bfd2b1dfaa3b027b0e793e404b90b5fbaeef60af6517f5"
+SRC_URI[md5sum] = "c4ac246cf9795a4491e7766002cd528f"
+SRC_URI[sha256sum] = "015fde82b3979fbe5f83501986d328331ba8ddf008c1ff3da3c238f49ca062bc"
UPSTREAM_CHECK_URI = "http://www.mpfr.org/mpfr-current/"
--
2.7.4
^ permalink raw reply related
* Re: [PATCH 3/4] kern-tools: fix processing for no branch meta-data
From: Bruce Ashfield @ 2016-12-08 3:23 UTC (permalink / raw)
To: Trevor Woerner; +Cc: Patches and discussions about the oe-core layer
In-Reply-To: <CAHUNapQxmOANi1FinaTiXH+J2VdyvH4g5y2zRJydBso6epf00A@mail.gmail.com>
On 2016-12-07 6:50 PM, Trevor Woerner wrote:
> On Wed, Dec 7, 2016 at 1:05 PM, Trevor Woerner <twoerner@gmail.com> wrote:
>> On Wed, Dec 7, 2016 at 11:18 AM, Bruce Ashfield
>> <bruce.ashfield@windriver.com> wrote:
>>> With the attached patch, I see nothing else that is named in /tmp/
>>>
>>> If you have the cycles, can you give it a try and let me know ?
>>
>> Yes, I'm giving it a whirl right now. Thanks!
>
> That patch looks good, how soon can it land? ;-)
For my part, I'll send it first thing tomorrow along with some version
bumps to the kernel.
>
> I'm sure there's still something in the build that is creating
> temporary files in /tmp. I'm not sure which process is doing it, I
> have no reason to suspect it's the kernel tools (in fact I think it
> happens too early in the build to be the kernel tools), and the tmp
> files that are created are named with temporary names (e.g.
> /tmp/tmp.2wavbhTlDU) so they shouldn't interfere with multiple users
> building on the same machine. Each build appears to create two such
> temp files that aren't cleaned up at the end of the build. Not a big
> deal. I don't think it's something new that was introduced recently
> (but I'd have to do more investigation to verify).
I noticed one mktemp file leaking when I was fixing the bug at hand
today. I made a note to loop back and have a look for where an early
exit is skipping clean up.
If it is the tools, I'll fix it along with the patch I did today.
Bruce
>
^ permalink raw reply
* [PATCH] slang: 2.3.0 -> 2.3.1
From: Huang Qiyu @ 2016-12-08 10:09 UTC (permalink / raw)
To: openembedded-core
1)Upgrade slang from 2.3.0 to 2.3.1.
2)Delete one patch, since it is integrated upstream.
0001-Fix-error-conflicting-types-for-posix_close.patch
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
---
meta/recipes-extended/slang/{slang_2.3.0.bb => slang_2.3.1.bb} | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
rename meta/recipes-extended/slang/{slang_2.3.0.bb => slang_2.3.1.bb} (90%)
diff --git a/meta/recipes-extended/slang/slang_2.3.0.bb b/meta/recipes-extended/slang/slang_2.3.1.bb
similarity index 90%
rename from meta/recipes-extended/slang/slang_2.3.0.bb
rename to meta/recipes-extended/slang/slang_2.3.1.bb
index d5967d2..7bf3af6 100644
--- a/meta/recipes-extended/slang/slang_2.3.0.bb
+++ b/meta/recipes-extended/slang/slang_2.3.1.bb
@@ -19,11 +19,11 @@ SRC_URI = "http://www.jedsoft.org/releases/${BPN}/${BP}.tar.bz2 \
file://rpathfix.patch \
file://fix-check-pcre.patch \
file://slang-fix-the-iconv-existence-checking.patch \
- file://0001-Fix-error-conflicting-types-for-posix_close.patch \
file://no-x.patch \
"
-SRC_URI[md5sum] = "3bcc790460d52db1316c20395b7ac2f1"
-SRC_URI[sha256sum] = "f95224060f45e0d8212a5039b339afa5f1a94a1bb0298e796104e5b12e926129"
+
+SRC_URI[md5sum] = "bd46d1dc17a50c72004ad842829d7b1f"
+SRC_URI[sha256sum] = "a810d5da7b0c0c8c335393c6b4f12884be6fa7696d9ca9521ef21316a4e00f9d"
UPSTREAM_CHECK_URI = "http://www.jedsoft.org/releases/slang/"
PREMIRRORS_append = "\n http://www.jedsoft.org/releases/slang/.* http://www.jedsoft.org/releases/slang/old/ \n"
--
2.7.4
^ permalink raw reply related
* [PATCH v2] xkeyboard-config: 2.18 -> 2.19
From: Zheng Ruoqin @ 2016-12-08 1:25 UTC (permalink / raw)
To: openembedded-core
Upgrade xkeyboard-config from 2.18 to 2.19
Signed-off-by: zhengruoqin <zhengrq.fnst@cn.fujitsu.com>
---
.../xorg-lib/{xkeyboard-config_2.18.bb => xkeyboard-config_2.19.bb} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename meta/recipes-graphics/xorg-lib/{xkeyboard-config_2.18.bb => xkeyboard-config_2.19.bb} (88%)
diff --git a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.18.bb b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.19.bb
similarity index 88%
rename from meta/recipes-graphics/xorg-lib/xkeyboard-config_2.18.bb
rename to meta/recipes-graphics/xorg-lib/xkeyboard-config_2.19.bb
index 79fcbd8..d24d93f 100644
--- a/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.18.bb
+++ b/meta/recipes-graphics/xorg-lib/xkeyboard-config_2.19.bb
@@ -13,8 +13,8 @@ LICENSE = "MIT & MIT-style"
LIC_FILES_CHKSUM = "file://COPYING;md5=0e7f21ca7db975c63467d2e7624a12f9"
SRC_URI = "${XORG_MIRROR}/individual/data/xkeyboard-config/${BPN}-${PV}.tar.bz2"
-SRC_URI[md5sum] = "c28cf45616bfec276879360bc36c6b27"
-SRC_URI[sha256sum] = "c41d917d6c8a59feb7ccbda51c40a6ada824fdd1e9684b52dd48c9530617ddd0"
+SRC_URI[md5sum] = "88cbf55f2f32b80ba9bb872889daf7ff"
+SRC_URI[sha256sum] = "83dfd186b9eb9ced69e01d8d8e2f15b6a79b2e30124874ef086f2d3048f45827"
SECTION = "x11/libs"
DEPENDS = "intltool-native virtual/gettext util-macros libxslt-native"
--
2.7.4
^ permalink raw reply related
* [PATCH] libnotify : 0.7.6 -> 0.7.7
From: Huang Qiyu @ 2016-12-08 9:22 UTC (permalink / raw)
To: openembedded-core
Upgrade libnotify from 0.7.6 to 0.7.7.
Signed-off-by: Huang Qiyu <huangqy.fnst@cn.fujitsu.com>
---
.../libnotify/{libnotify_0.7.6.bb => libnotify_0.7.7.bb} | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
rename meta/recipes-gnome/libnotify/{libnotify_0.7.6.bb => libnotify_0.7.7.bb} (79%)
diff --git a/meta/recipes-gnome/libnotify/libnotify_0.7.6.bb b/meta/recipes-gnome/libnotify/libnotify_0.7.7.bb
similarity index 79%
rename from meta/recipes-gnome/libnotify/libnotify_0.7.6.bb
rename to meta/recipes-gnome/libnotify/libnotify_0.7.7.bb
index ce8e5ae..2ab2f1f 100644
--- a/meta/recipes-gnome/libnotify/libnotify_0.7.6.bb
+++ b/meta/recipes-gnome/libnotify/libnotify_0.7.7.bb
@@ -9,8 +9,8 @@ inherit gnomebase gtk-doc distro_features_check gobject-introspection
# depends on gtk+3
ANY_OF_DISTRO_FEATURES = "${GTK3DISTROFEATURES}"
-SRC_URI[archive.md5sum] = "a4997019d08f46f3bf57b78e6f795a59"
-SRC_URI[archive.sha256sum] = "0ef61ca400d30e28217979bfa0e73a7406b19c32dd76150654ec5b2bdf47d837"
+SRC_URI[archive.md5sum] = "e9d911f6a22435e0b922f2fe71212b59"
+SRC_URI[archive.sha256sum] = "9cb4ce315b2655860c524d46b56010874214ec27e854086c1a1d0260137efc04"
# there were times, we had two versions of libnotify (oe-core libnotify:0.6.x /
# meta-gnome libnotify3: 0.7.x)
--
2.7.4
^ permalink raw reply related
* Re: [PATCH 3/4] kern-tools: fix processing for no branch meta-data
From: Trevor Woerner @ 2016-12-07 23:50 UTC (permalink / raw)
To: Bruce Ashfield; +Cc: Patches and discussions about the oe-core layer
In-Reply-To: <CAHUNapSr5a2cuKN1xiK=2K0S+zkwMA7J0ALfe1hUZAVgXv2Fpw@mail.gmail.com>
On Wed, Dec 7, 2016 at 1:05 PM, Trevor Woerner <twoerner@gmail.com> wrote:
> On Wed, Dec 7, 2016 at 11:18 AM, Bruce Ashfield
> <bruce.ashfield@windriver.com> wrote:
>> With the attached patch, I see nothing else that is named in /tmp/
>>
>> If you have the cycles, can you give it a try and let me know ?
>
> Yes, I'm giving it a whirl right now. Thanks!
That patch looks good, how soon can it land? ;-)
I'm sure there's still something in the build that is creating
temporary files in /tmp. I'm not sure which process is doing it, I
have no reason to suspect it's the kernel tools (in fact I think it
happens too early in the build to be the kernel tools), and the tmp
files that are created are named with temporary names (e.g.
/tmp/tmp.2wavbhTlDU) so they shouldn't interfere with multiple users
building on the same machine. Each build appears to create two such
temp files that aren't cleaned up at the end of the build. Not a big
deal. I don't think it's something new that was introduced recently
(but I'd have to do more investigation to verify).
^ permalink raw reply
* Re: [PATCH 0/4] Load devtool and reciptool plugins in a well-defined manner
From: Paul Eggleton @ 2016-12-07 21:16 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <3d0139cbc58340fea6f0ea733004c06a@XBOX01.axis.com>
On Tue, 06 Dec 2016 07:37:16 Ola x Nilsson wrote:
> Ping?
I guess Ross / Richard were waiting for my ack - sorry about that.
Acked-by: Paul Eggleton <paul.eggleton@linux.intel.com>
Cheers,
Paul
--
Paul Eggleton
Intel Open Source Technology Centre
^ permalink raw reply
* [PATCHv2 32/32] oeqa: Fix files handling on runtime tests.
From: Aníbal Limón @ 2016-12-07 20:32 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481142664.git.anibal.limon@linux.intel.com>
Common files was move to oeqa/files from oeqa/runtime/files
because the same files are used across Runtime,SDK,eSDK tests.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/classes/testexport.bbclass | 5 +++++
meta/lib/oeqa/oetest.py | 1 +
meta/lib/oeqa/runtime/gcc.py | 4 ++--
meta/lib/oeqa/runtime/perl.py | 2 +-
meta/lib/oeqa/runtime/python.py | 2 +-
5 files changed, 10 insertions(+), 4 deletions(-)
diff --git a/meta/classes/testexport.bbclass b/meta/classes/testexport.bbclass
index 5147020..a3ccd63 100644
--- a/meta/classes/testexport.bbclass
+++ b/meta/classes/testexport.bbclass
@@ -87,6 +87,7 @@ def exportTests(d,tc):
# - the contents of oeqa/utils and oeqa/runtime/files
# - oeqa/oetest.py and oeqa/runexport.py (this will get copied to exportpath not exportpath/oeqa)
# - __init__.py files
+ bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/files"))
bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/runtime/files"))
bb.utils.mkdirhier(os.path.join(exportpath, "oeqa/utils"))
# copy test modules, this should cover tests in other layers too
@@ -124,6 +125,10 @@ def exportTests(d,tc):
for f in files:
if f.endswith(".py"):
shutil.copy2(os.path.join(root, f), os.path.join(exportpath, "oeqa/utils"))
+ # copy oeqa/files/*
+ for root, dirs, files in os.walk(os.path.join(oeqadir, "files")):
+ for f in files:
+ shutil.copy2(os.path.join(root, f), os.path.join(exportpath, "oeqa/files"))
# copy oeqa/runtime/files/*
for root, dirs, files in os.walk(os.path.join(oeqadir, "runtime/files")):
for f in files:
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index f9e9025..48bcafc 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -201,6 +201,7 @@ class TestContext(object):
self.testsrequired = self._get_test_suites_required()
self.filesdir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "runtime/files")
+ self.corefilesdir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files")
self.imagefeatures = d.getVar("IMAGE_FEATURES", True).split()
self.distrofeatures = d.getVar("DISTRO_FEATURES", True).split()
diff --git a/meta/lib/oeqa/runtime/gcc.py b/meta/lib/oeqa/runtime/gcc.py
index d90cd17..6edb89f 100644
--- a/meta/lib/oeqa/runtime/gcc.py
+++ b/meta/lib/oeqa/runtime/gcc.py
@@ -12,9 +12,9 @@ class GccCompileTest(oeRuntimeTest):
@classmethod
def setUpClass(self):
- oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "test.c"), "/tmp/test.c")
+ oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.corefilesdir, "test.c"), "/tmp/test.c")
oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "testmakefile"), "/tmp/testmakefile")
- oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "test.cpp"), "/tmp/test.cpp")
+ oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.corefilesdir, "test.cpp"), "/tmp/test.cpp")
@testcase(203)
def test_gcc_compile(self):
diff --git a/meta/lib/oeqa/runtime/perl.py b/meta/lib/oeqa/runtime/perl.py
index e044d0a..6bf98f1 100644
--- a/meta/lib/oeqa/runtime/perl.py
+++ b/meta/lib/oeqa/runtime/perl.py
@@ -12,7 +12,7 @@ class PerlTest(oeRuntimeTest):
@classmethod
def setUpClass(self):
- oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "test.pl"), "/tmp/test.pl")
+ oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.corefilesdir, "test.pl"), "/tmp/test.pl")
@testcase(1141)
def test_perl_exists(self):
diff --git a/meta/lib/oeqa/runtime/python.py b/meta/lib/oeqa/runtime/python.py
index 29a231c..93e822c 100644
--- a/meta/lib/oeqa/runtime/python.py
+++ b/meta/lib/oeqa/runtime/python.py
@@ -12,7 +12,7 @@ class PythonTest(oeRuntimeTest):
@classmethod
def setUpClass(self):
- oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.filesdir, "test.py"), "/tmp/test.py")
+ oeRuntimeTest.tc.target.copy_to(os.path.join(oeRuntimeTest.tc.corefilesdir, "test.py"), "/tmp/test.py")
@testcase(1145)
def test_python_exists(self):
--
2.1.4
^ permalink raw reply related
* [PATCHv2 31/32] oeqa/runtime: Fix TargetBuildProject instances
From: Aníbal Limón @ 2016-12-07 20:32 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481142664.git.anibal.limon@linux.intel.com>
TargetBuildProject was refactored to avoid bitbake dependency so
the instance don't allow to pass data store anymore.
classes/testimage: Export proxies before run tests
The TargetBuildProject based tests download archives from network.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/classes/testimage.bbclass | 4 ++++
meta/lib/oeqa/runtime/buildcvs.py | 9 +++++----
meta/lib/oeqa/runtime/buildgalculator.py | 8 +++++---
meta/lib/oeqa/runtime/buildiptables.py | 8 +++++---
4 files changed, 19 insertions(+), 10 deletions(-)
diff --git a/meta/classes/testimage.bbclass b/meta/classes/testimage.bbclass
index 6b6781d..89ed003 100644
--- a/meta/classes/testimage.bbclass
+++ b/meta/classes/testimage.bbclass
@@ -129,11 +129,15 @@ def testimage_main(d):
from oeqa.oetest import ImageTestContext
from oeqa.targetcontrol import get_target_controller
from oeqa.utils.dump import get_host_dumper
+ from bb.utils import export_proxies
pn = d.getVar("PN", True)
bb.utils.mkdirhier(d.getVar("TEST_LOG_DIR", True))
test_create_extract_dirs(d)
+ # runtime use network for download projects for build
+ export_proxies(d)
+
# we need the host dumper in test context
host_dumper = get_host_dumper(d)
diff --git a/meta/lib/oeqa/runtime/buildcvs.py b/meta/lib/oeqa/runtime/buildcvs.py
index fe6cbfb..a5ca3a5 100644
--- a/meta/lib/oeqa/runtime/buildcvs.py
+++ b/meta/lib/oeqa/runtime/buildcvs.py
@@ -1,6 +1,6 @@
from oeqa.oetest import oeRuntimeTest, skipModule
from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import TargetBuildProject
+from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
def setUpModule():
if not oeRuntimeTest.hasFeature("tools-sdk"):
@@ -10,9 +10,10 @@ class BuildCvsTest(oeRuntimeTest):
@classmethod
def setUpClass(self):
- self.project = TargetBuildProject(oeRuntimeTest.tc.target, oeRuntimeTest.tc.d,
- "http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2")
- self.project.download_archive()
+ dl_dir = oeRuntimeTest.tc.d.getVar('DL_DIR', True)
+ self.project = TargetBuildProject(oeRuntimeTest.tc.target,
+ "http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2",
+ dl_dir=dl_dir)
@testcase(205)
@skipUnlessPassed("test_ssh")
diff --git a/meta/lib/oeqa/runtime/buildgalculator.py b/meta/lib/oeqa/runtime/buildgalculator.py
index 220101d..20f0a79 100644
--- a/meta/lib/oeqa/runtime/buildgalculator.py
+++ b/meta/lib/oeqa/runtime/buildgalculator.py
@@ -1,6 +1,6 @@
from oeqa.oetest import oeRuntimeTest, skipModule
from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import TargetBuildProject
+from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
def setUpModule():
if not oeRuntimeTest.hasFeature("tools-sdk"):
@@ -10,9 +10,11 @@ class GalculatorTest(oeRuntimeTest):
@testcase(1526)
@skipUnlessPassed("test_ssh")
def test_galculator(self):
+ dl_dir = oeRuntimeTest.tc.d.getVar('DL_DIR', True)
try:
- project = TargetBuildProject(oeRuntimeTest.tc.target, oeRuntimeTest.tc.d,
- "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2")
+ project = TargetBuildProject(oeRuntimeTest.tc.target,
+ "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2",
+ dl_dir=dl_dir)
project.download_archive()
self.assertEqual(project.run_configure(), 0,
diff --git a/meta/lib/oeqa/runtime/buildiptables.py b/meta/lib/oeqa/runtime/buildiptables.py
index bc75d0a..a0e82f0 100644
--- a/meta/lib/oeqa/runtime/buildiptables.py
+++ b/meta/lib/oeqa/runtime/buildiptables.py
@@ -1,6 +1,6 @@
from oeqa.oetest import oeRuntimeTest, skipModule
from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import TargetBuildProject
+from oeqa.runtime.utils.targetbuildproject import TargetBuildProject
def setUpModule():
if not oeRuntimeTest.hasFeature("tools-sdk"):
@@ -10,8 +10,10 @@ class BuildIptablesTest(oeRuntimeTest):
@classmethod
def setUpClass(self):
- self.project = TargetBuildProject(oeRuntimeTest.tc.target, oeRuntimeTest.tc.d,
- "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2")
+ dl_dir = oeRuntimeTest.tc.d.getVar('DL_DIR', True)
+ self.project = TargetBuildProject(oeRuntimeTest.tc.target,
+ "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2",
+ dl_dir=dl_dir)
self.project.download_archive()
@testcase(206)
--
2.1.4
^ permalink raw reply related
* [PATCHv2 30/32] oeqa/sdkext/cases: Migrate test case to new OEQA framework
From: Aníbal Limón @ 2016-12-07 20:32 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481142664.git.anibal.limon@linux.intel.com>
Summary,
- Changes base case class to OESDKExtTest.
- Changes decorator classes to new ones.
- Chnages variable names sdktestdir -> sdk_dir.
- Added missing license to MIT.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/lib/oeqa/sdk/cases/buildgalculator.py | 2 +-
meta/lib/oeqa/sdk/cases/gcc.py | 2 +-
meta/lib/oeqa/sdkext/cases/devtool.py | 49 ++++++++++++++++--------------
meta/lib/oeqa/sdkext/cases/sdk_update.py | 17 ++++++-----
4 files changed, 38 insertions(+), 32 deletions(-)
diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
index bdc8b6a..b9b24ee 100644
--- a/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -10,7 +10,7 @@ class GalculatorTest(OESDKTestCase):
def setUpClass(self):
if not (self.tc.hasTargetPackage("gtk+3") or\
self.tc.hasTargetPackage("libgtk-3.0")):
- raise unittest.SkipTest("%s class: SDK don't support gtk+3" % self.__name__)
+ raise unittest.SkipTest("%s class: SDK don't support gtk+3" % self.__class__.__name__)
def test_galculator(self):
dl_dir = self.td.get('DL_DIR', None)
diff --git a/meta/lib/oeqa/sdk/cases/gcc.py b/meta/lib/oeqa/sdk/cases/gcc.py
index e06af4c..36725e3 100644
--- a/meta/lib/oeqa/sdk/cases/gcc.py
+++ b/meta/lib/oeqa/sdk/cases/gcc.py
@@ -20,7 +20,7 @@ class GccCompileTest(OESDKTestCase):
machine = self.td.get("MACHINE")
if not self.tc.hasHostPackage("packagegroup-cross-canadian-%s" % machine):
raise unittest.SkipTest("%s class: SDK doesn't contain a cross-canadian toolchain",
- self.__name__)
+ self.__class__.__name__)
def test_gcc_compile(self):
self._run('$CC %s/test.c -o %s/test -lm' % (self.tc.sdk_dir, self.tc.sdk_dir))
diff --git a/meta/lib/oeqa/sdkext/cases/devtool.py b/meta/lib/oeqa/sdkext/cases/devtool.py
index 65f41f6..da0050c 100644
--- a/meta/lib/oeqa/sdkext/cases/devtool.py
+++ b/meta/lib/oeqa/sdkext/cases/devtool.py
@@ -1,18 +1,22 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
import shutil
import subprocess
-import urllib.request
-from oeqa.oetest import oeSDKExtTest
-from oeqa.utils.decorators import *
-class DevtoolTest(oeSDKExtTest):
+from oeqa.sdkext.case import OESDKExtTestCase
+from oeqa.core.decorator.depends import OETestDepends
+from oeqa.core.decorator.oeid import OETestID
+
+class DevtoolTest(OESDKExtTestCase):
@classmethod
def setUpClass(self):
- self.myapp_src = os.path.join(self.tc.sdkextfilesdir, "myapp")
- self.myapp_dst = os.path.join(self.tc.sdktestdir, "myapp")
+ self.myapp_src = os.path.join(self.tc.esdk_files_dir, "myapp")
+ self.myapp_dst = os.path.join(self.tc.sdk_dir, "myapp")
shutil.copytree(self.myapp_src, self.myapp_dst)
- self.myapp_cmake_src = os.path.join(self.tc.sdkextfilesdir, "myapp_cmake")
- self.myapp_cmake_dst = os.path.join(self.tc.sdktestdir, "myapp_cmake")
+ self.myapp_cmake_src = os.path.join(self.tc.esdk_files_dir, "myapp_cmake")
+ self.myapp_cmake_dst = os.path.join(self.tc.sdk_dir, "myapp_cmake")
shutil.copytree(self.myapp_cmake_src, self.myapp_cmake_dst)
def _test_devtool_build(self, directory):
@@ -37,31 +41,31 @@ class DevtoolTest(oeSDKExtTest):
def test_devtool_location(self):
output = self._run('which devtool')
- self.assertEqual(output.startswith(self.tc.sdktestdir), True, \
+ self.assertEqual(output.startswith(self.tc.sdk_dir), True, \
msg="Seems that devtool isn't the eSDK one: %s" % output)
- @skipUnlessPassed('test_devtool_location')
+ @OETestDepends(['test_devtool_location'])
def test_devtool_add_reset(self):
self._run('devtool add myapp %s' % self.myapp_dst)
self._run('devtool reset myapp')
- @testcase(1473)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1473)
+ @OETestDepends(['test_devtool_location'])
def test_devtool_build_make(self):
self._test_devtool_build(self.myapp_dst)
- @testcase(1474)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1474)
+ @OETestDepends(['test_devtool_location'])
def test_devtool_build_esdk_package(self):
self._test_devtool_build_package(self.myapp_dst)
- @testcase(1479)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1479)
+ @OETestDepends(['test_devtool_location'])
def test_devtool_build_cmake(self):
self._test_devtool_build(self.myapp_cmake_dst)
- @testcase(1482)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1482)
+ @OETestDepends(['test_devtool_location'])
def test_extend_autotools_recipe_creation(self):
req = 'https://github.com/rdfa/librdfa'
recipe = "bbexample"
@@ -74,8 +78,8 @@ class DevtoolTest(oeSDKExtTest):
raise e
self._run('devtool reset %s' % recipe)
- @testcase(1484)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1484)
+ @OETestDepends(['test_devtool_location'])
def test_devtool_kernelmodule(self):
docfile = 'https://github.com/umlaeute/v4l2loopback.git'
recipe = 'v4l2loopback-driver'
@@ -88,8 +92,8 @@ class DevtoolTest(oeSDKExtTest):
raise e
self._run('devtool reset %s' % recipe)
- @testcase(1478)
- @skipUnlessPassed('test_devtool_location')
+ @OETestID(1478)
+ @OETestDepends(['test_devtool_location'])
def test_recipes_for_nodejs(self):
package_nodejs = "npm://registry.npmjs.org;name=winston;version=2.2.0"
self._run('devtool add %s ' % package_nodejs)
@@ -101,7 +105,6 @@ class DevtoolTest(oeSDKExtTest):
raise e
self._run('devtool reset %s '% package_nodejs)
-
@classmethod
def tearDownClass(self):
shutil.rmtree(self.myapp_dst)
diff --git a/meta/lib/oeqa/sdkext/cases/sdk_update.py b/meta/lib/oeqa/sdkext/cases/sdk_update.py
index 2ade839..2f8598b 100644
--- a/meta/lib/oeqa/sdkext/cases/sdk_update.py
+++ b/meta/lib/oeqa/sdkext/cases/sdk_update.py
@@ -1,23 +1,26 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
import os
import shutil
import subprocess
-from oeqa.oetest import oeSDKExtTest
+from oeqa.sdkext.case import OESDKExtTestCase
from oeqa.utils.httpserver import HTTPService
-class SdkUpdateTest(oeSDKExtTest):
-
+class SdkUpdateTest(OESDKExtTestCase):
@classmethod
def setUpClass(self):
- self.publish_dir = os.path.join(self.tc.sdktestdir, 'esdk_publish')
+ self.publish_dir = os.path.join(self.tc.sdk_dir, 'esdk_publish')
if os.path.exists(self.publish_dir):
shutil.rmtree(self.publish_dir)
os.mkdir(self.publish_dir)
- tcname_new = self.tc.d.expand(
- "${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}-new.sh")
+ base_tcname = "%s/%s" % (self.td.get("SDK_DEPLOY", ''),
+ self.td.get("TOOLCHAINEXT_OUTPUTNAME", ''))
+ tcname_new = "%s-new.sh" % base_tcname
if not os.path.exists(tcname_new):
- tcname_new = self.tc.tcname
+ tcname_new = "%s.sh" % base_tcname
cmd = 'oe-publish-sdk %s %s' % (tcname_new, self.publish_dir)
subprocess.check_output(cmd, shell=True)
--
2.1.4
^ permalink raw reply related
* [PATCHv2 29/32] classes/testsdk: Migrate to use the new OESDKExtTestContext
From: Aníbal Limón @ 2016-12-07 20:32 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481142664.git.anibal.limon@linux.intel.com>
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/classes/testsdk.bbclass | 10 +++++-----
1 file changed, 5 insertions(+), 5 deletions(-)
diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index 24529ca..1d6547a 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -100,7 +100,7 @@ def testsdkext_main(d):
from bb.utils import export_proxies
from oeqa.utils import avoid_paths_in_environ
- from oeqa.sdk.context import OESDKExtTestContext, OESDKExtTestContextExecutor
+ from oeqa.sdkext.context import OESDKExtTestContext, OESDKExtTestContextExecutor
pn = d.getVar("PN", True)
logger = logging.getLogger("BitBake")
@@ -119,13 +119,13 @@ def testsdkext_main(d):
bb.fatal("The toolchain ext %s is not built. Build it before running the" \
" tests: 'bitbake <image> -c populate_sdk_ext' ." % tcname)
- tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.testdata.json")
+ tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.testdata.json")
test_data = json.load(open(tdname, "r"))
target_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
- d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"))
+ d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.target.manifest"))
host_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
- d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"))
+ d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.host.manifest"))
sdk_dir = d.expand("${WORKDIR}/testsdkext/")
bb.utils.remove(sdk_dir, True)
@@ -134,7 +134,7 @@ def testsdkext_main(d):
subprocess.check_output("%s -y -d %s" % (tcname, sdk_dir), shell=True)
except subprocess.CalledProcessError as e:
msg = "Couldn't install the extensible SDK:\n%s" % e.output.decode("utf-8")
- logfn = os.path.join(sdkdir, 'preparing_build_system.log')
+ logfn = os.path.join(sdk_dir, 'preparing_build_system.log')
if os.path.exists(logfn):
msg += '\n\nContents of preparing_build_system.log:\n'
with open(logfn, 'r') as f:
--
2.1.4
^ permalink raw reply related
* [PATCHv2 28/32] oeqa/sdkext: Adds case and context modules.
From: Aníbal Limón @ 2016-12-07 20:32 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481142664.git.anibal.limon@linux.intel.com>
The extensible sdk context and case modules extends the sdk ones,
this means that the tests from sdk are run also the sdkext tests.
Enables support in context for use oe-test esdk command for run
the test suites, the same options of sdk are required for run esdk tests.
Removes old related to case and context inside oetest.py.
[YOCTO #10599]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/classes/testsdk.bbclass | 99 +++++++++++++++++++----------------------
meta/lib/oeqa/oetest.py | 40 -----------------
meta/lib/oeqa/sdkext/case.py | 21 +++++++++
meta/lib/oeqa/sdkext/context.py | 21 +++++++++
4 files changed, 88 insertions(+), 93 deletions(-)
create mode 100644 meta/lib/oeqa/sdkext/case.py
create mode 100644 meta/lib/oeqa/sdkext/context.py
diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index 4c4df10..24529ca 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -16,37 +16,6 @@
TESTSDKLOCK = "${TMPDIR}/testsdk.lock"
-def run_test_context(CTestContext, d, testdir, tcname, pn, *args):
- import glob
- import time
-
- targets = glob.glob(d.expand(testdir + "/tc/environment-setup-*"))
- for sdkenv in targets:
- bb.plain("Testing %s" % sdkenv)
- tc = CTestContext(d, testdir, sdkenv, tcname, args)
-
- # this is a dummy load of tests
- # we are doing that to find compile errors in the tests themselves
- # before booting the image
- try:
- tc.loadTests()
- except Exception as e:
- import traceback
- bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
-
- starttime = time.time()
- result = tc.runTests()
- stoptime = time.time()
- if result.wasSuccessful():
- bb.plain("%s SDK(%s):%s - Ran %d test%s in %.3fs" % (pn, os.path.basename(tcname), os.path.basename(sdkenv),result.testsRun, result.testsRun != 1 and "s" or "", stoptime - starttime))
- msg = "%s - OK - All required tests passed" % pn
- skipped = len(result.skipped)
- if skipped:
- msg += " (skipped=%d)" % skipped
- bb.plain(msg)
- else:
- bb.fatal("%s - FAILED - check the task log and the commands log" % pn)
-
def testsdk_main(d):
import os
import subprocess
@@ -121,16 +90,20 @@ addtask testsdk
do_testsdk[nostamp] = "1"
do_testsdk[lockfiles] += "${TESTSDKLOCK}"
-TEST_LOG_SDKEXT_DIR ?= "${WORKDIR}/testsdkext"
TESTSDKEXTLOCK = "${TMPDIR}/testsdkext.lock"
def testsdkext_main(d):
import os
- import oeqa.sdkext
+ import json
import subprocess
+ import logging
+
from bb.utils import export_proxies
- from oeqa.oetest import SDKTestContext, SDKExtTestContext
from oeqa.utils import avoid_paths_in_environ
+ from oeqa.sdk.context import OESDKExtTestContext, OESDKExtTestContextExecutor
+
+ pn = d.getVar("PN", True)
+ logger = logging.getLogger("BitBake")
# extensible sdk use network
export_proxies(d)
@@ -141,20 +114,24 @@ def testsdkext_main(d):
d.getVar('BASE_WORKDIR', True)]
os.environ['PATH'] = avoid_paths_in_environ(paths_to_avoid)
- pn = d.getVar("PN", True)
- bb.utils.mkdirhier(d.getVar("TEST_LOG_SDKEXT_DIR", True))
-
tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAINEXT_OUTPUTNAME}.sh")
if not os.path.exists(tcname):
bb.fatal("The toolchain ext %s is not built. Build it before running the" \
" tests: 'bitbake <image> -c populate_sdk_ext' ." % tcname)
- testdir = d.expand("${WORKDIR}/testsdkext/")
- bb.utils.remove(testdir, True)
- bb.utils.mkdirhier(testdir)
- sdkdir = os.path.join(testdir, 'tc')
+ tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.testdata.json")
+ test_data = json.load(open(tdname, "r"))
+
+ target_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
+ d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"))
+ host_pkg_manifest = OESDKExtTestContextExecutor._load_manifest(
+ d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.host.manifest"))
+
+ sdk_dir = d.expand("${WORKDIR}/testsdkext/")
+ bb.utils.remove(sdk_dir, True)
+ bb.utils.mkdirhier(sdk_dir)
try:
- subprocess.check_output("%s -y -d %s" % (tcname, sdkdir), shell=True)
+ subprocess.check_output("%s -y -d %s" % (tcname, sdk_dir), shell=True)
except subprocess.CalledProcessError as e:
msg = "Couldn't install the extensible SDK:\n%s" % e.output.decode("utf-8")
logfn = os.path.join(sdkdir, 'preparing_build_system.log')
@@ -165,19 +142,35 @@ def testsdkext_main(d):
msg += line
bb.fatal(msg)
- try:
- bb.plain("Running SDK Compatibility tests ...")
- run_test_context(SDKExtTestContext, d, testdir, tcname, pn, True)
- finally:
- pass
+ fail = False
+ sdk_envs = OESDKExtTestContextExecutor._get_sdk_environs(sdk_dir)
+ for s in sdk_envs:
+ bb.plain("Extensible SDK testing environment: %s" % s)
- try:
- bb.plain("Running Extensible SDK tests ...")
- run_test_context(SDKExtTestContext, d, testdir, tcname, pn)
- finally:
- pass
+ sdk_env = sdk_envs[s]
+ tc = OESDKExtTestContext(td=test_data, logger=logger, sdk_dir=sdk_dir,
+ sdk_env=sdk_env, target_pkg_manifest=target_pkg_manifest,
+ host_pkg_manifest=host_pkg_manifest)
- bb.utils.remove(testdir, True)
+ try:
+ tc.loadTests(OESDKExtTestContextExecutor.default_cases)
+ except Exception as e:
+ import traceback
+ bb.fatal("Loading tests failed:\n%s" % traceback.format_exc())
+
+ result = tc.runTests()
+
+ component = "%s %s" % (pn, OESDKExtTestContextExecutor.name)
+ context_msg = "%s:%s" % (os.path.basename(tcname), os.path.basename(sdk_env))
+
+ tc.logSummary(result, component, context_msg)
+ tc.logDetails()
+
+ if not result.wasSuccessful():
+ fail = True
+
+ if fail:
+ bb.fatal("%s - FAILED - check the task log and the commands log" % pn)
testsdkext_main[vardepsexclude] =+ "BB_ORIGENV"
diff --git a/meta/lib/oeqa/oetest.py b/meta/lib/oeqa/oetest.py
index 4a98b0f1..f9e9025 100644
--- a/meta/lib/oeqa/oetest.py
+++ b/meta/lib/oeqa/oetest.py
@@ -27,7 +27,6 @@ try:
except ImportError:
pass
from oeqa.utils.decorators import LogResults, gettag, getResults
-from oeqa.utils import avoid_paths_in_environ
logger = logging.getLogger("BitBake")
@@ -145,18 +144,6 @@ class OETestCalledProcessError(subprocess.CalledProcessError):
subprocess.CalledProcessError = OETestCalledProcessError
-class oeSDKExtTest(oeSDKTest):
- def _run(self, cmd):
- # extensible sdk shows a warning if found bitbake in the path
- # because can cause contamination, i.e. use devtool from
- # poky/scripts instead of eSDK one.
- env = os.environ.copy()
- paths_to_avoid = ['bitbake/bin', 'poky/scripts']
- env['PATH'] = avoid_paths_in_environ(paths_to_avoid)
-
- return subprocess.check_output(". %s > /dev/null;"\
- " %s;" % (self.tc.sdkenv, cmd), stderr=subprocess.STDOUT, shell=True, env=env).decode("utf-8")
-
def getmodule(pos=2):
# stack returns a list of tuples containg frame information
# First element of the list the is current frame, caller is 1
@@ -642,30 +629,3 @@ class ExportTestContext(RuntimeTestContext):
extracted_dir = self.d.getVar("TEST_EXPORT_EXTRACTED_DIR", True)
pkg_dir = os.path.join(export_dir, extracted_dir)
super(ExportTestContext, self).install_uninstall_packages(test_id, pkg_dir, install)
-
-class SDKExtTestContext(SDKTestContext):
- def __init__(self, d, sdktestdir, sdkenv, tcname, *args):
- self.target_manifest = d.getVar("SDK_EXT_TARGET_MANIFEST", True)
- self.host_manifest = d.getVar("SDK_EXT_HOST_MANIFEST", True)
- if args:
- self.cm = args[0] # Compatibility mode for run SDK tests
- else:
- self.cm = False
-
- super(SDKExtTestContext, self).__init__(d, sdktestdir, sdkenv, tcname)
-
- self.sdkextfilesdir = os.path.join(os.path.dirname(os.path.abspath(
- oeqa.sdkext.__file__)), "files")
-
- def _get_test_namespace(self):
- if self.cm:
- return "sdk"
- else:
- return "sdkext"
-
- def _get_test_suites(self):
- return (self.d.getVar("TEST_SUITES_SDK_EXT", True) or "auto").split()
-
- def _get_test_suites_required(self):
- return [t for t in (self.d.getVar("TEST_SUITES_SDK_EXT", True) or \
- "auto").split() if t != "auto"]
diff --git a/meta/lib/oeqa/sdkext/case.py b/meta/lib/oeqa/sdkext/case.py
new file mode 100644
index 0000000..6f708aa
--- /dev/null
+++ b/meta/lib/oeqa/sdkext/case.py
@@ -0,0 +1,21 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
+import os
+import subprocess
+
+from oeqa.utils import avoid_paths_in_environ
+from oeqa.sdk.case import OESDKTestCase
+
+class OESDKExtTestCase(OESDKTestCase):
+ def _run(self, cmd):
+ # extensible sdk shows a warning if found bitbake in the path
+ # because can cause contamination, i.e. use devtool from
+ # poky/scripts instead of eSDK one.
+ env = os.environ.copy()
+ paths_to_avoid = ['bitbake/bin', 'poky/scripts']
+ env['PATH'] = avoid_paths_in_environ(paths_to_avoid)
+
+ return subprocess.check_output(". %s > /dev/null;"\
+ " %s;" % (self.tc.sdk_env, cmd), stderr=subprocess.STDOUT,
+ shell=True, env=env).decode("utf-8")
diff --git a/meta/lib/oeqa/sdkext/context.py b/meta/lib/oeqa/sdkext/context.py
new file mode 100644
index 0000000..8dbcd80
--- /dev/null
+++ b/meta/lib/oeqa/sdkext/context.py
@@ -0,0 +1,21 @@
+# Copyright (C) 2016 Intel Corporation
+# Released under the MIT license (see COPYING.MIT)
+
+import os
+from oeqa.sdk.context import OESDKTestContext, OESDKTestContextExecutor
+
+class OESDKExtTestContext(OESDKTestContext):
+ esdk_files_dir = os.path.join(os.path.dirname(os.path.abspath(__file__)), "files")
+
+class OESDKExtTestContextExecutor(OESDKTestContextExecutor):
+ _context_class = OESDKExtTestContext
+
+ name = 'esdk'
+ help = 'esdk test component'
+ description = 'executes esdk tests'
+
+ default_cases = [OESDKTestContextExecutor.default_cases[0],
+ os.path.join(os.path.abspath(os.path.dirname(__file__)), 'cases')]
+ default_test_data = None
+
+_executor_class = OESDKExtTestContextExecutor
--
2.1.4
^ permalink raw reply related
* [PATCHv2 27/32] oeqa/sdkext: Move test cases inside cases directory
From: Aníbal Limón @ 2016-12-07 20:32 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481142664.git.anibal.limon@linux.intel.com>
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]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/lib/oeqa/sdkext/__init__.py | 3 ---
meta/lib/oeqa/sdkext/{ => cases}/devtool.py | 0
meta/lib/oeqa/sdkext/{ => cases}/sdk_update.py | 0
3 files changed, 3 deletions(-)
rename meta/lib/oeqa/sdkext/{ => cases}/devtool.py (100%)
rename meta/lib/oeqa/sdkext/{ => cases}/sdk_update.py (100%)
diff --git a/meta/lib/oeqa/sdkext/__init__.py b/meta/lib/oeqa/sdkext/__init__.py
index 4cf3fa7..e69de29 100644
--- a/meta/lib/oeqa/sdkext/__init__.py
+++ b/meta/lib/oeqa/sdkext/__init__.py
@@ -1,3 +0,0 @@
-# Enable other layers to have tests in the same named directory
-from pkgutil import extend_path
-__path__ = extend_path(__path__, __name__)
diff --git a/meta/lib/oeqa/sdkext/devtool.py b/meta/lib/oeqa/sdkext/cases/devtool.py
similarity index 100%
rename from meta/lib/oeqa/sdkext/devtool.py
rename to meta/lib/oeqa/sdkext/cases/devtool.py
diff --git a/meta/lib/oeqa/sdkext/sdk_update.py b/meta/lib/oeqa/sdkext/cases/sdk_update.py
similarity index 100%
rename from meta/lib/oeqa/sdkext/sdk_update.py
rename to meta/lib/oeqa/sdkext/cases/sdk_update.py
--
2.1.4
^ permalink raw reply related
* [PATCHv2 26/32] classes/testsdk: Remove the need of TEST_LOG_DIR variable
From: Aníbal Limón @ 2016-12-07 20:32 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481142664.git.anibal.limon@linux.intel.com>
The TEST_LOG_DIR was used for store sdk_target_log this log
contains the output of the run of build commands now that information
could be found also on log.do_testsdk under WORKDIR.
The log will continue to store into SDK_DIR instead of TEST_LOG_DIR.
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
---
meta/classes/testsdk.bbclass | 6 ------
meta/lib/oeqa/sdk/cases/buildcvs.py | 4 ++--
meta/lib/oeqa/sdk/cases/buildgalculator.py | 4 ++--
meta/lib/oeqa/sdk/cases/buildiptables.py | 4 ++--
4 files changed, 6 insertions(+), 12 deletions(-)
diff --git a/meta/classes/testsdk.bbclass b/meta/classes/testsdk.bbclass
index 959fb38..4c4df10 100644
--- a/meta/classes/testsdk.bbclass
+++ b/meta/classes/testsdk.bbclass
@@ -14,7 +14,6 @@
#
# where "<image-name>" is an image like core-image-sato.
-TEST_LOG_DIR ?= "${WORKDIR}/testimage"
TESTSDKLOCK = "${TMPDIR}/testsdk.lock"
def run_test_context(CTestContext, d, testdir, tcname, pn, *args):
@@ -64,17 +63,12 @@ def testsdk_main(d):
# sdk use network for download projects for build
export_proxies(d)
- test_log_dir = d.getVar("TEST_LOG_DIR", True)
-
- bb.utils.mkdirhier(test_log_dir)
-
tcname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.sh")
if not os.path.exists(tcname):
bb.fatal("The toolchain %s is not built. Build it before running the tests: 'bitbake <image> -c populate_sdk' ." % tcname)
tdname = d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.testdata.json")
test_data = json.load(open(tdname, "r"))
- test_data['TEST_LOG_DIR'] = test_log_dir
target_pkg_manifest = OESDKTestContextExecutor._load_manifest(
d.expand("${SDK_DEPLOY}/${TOOLCHAIN_OUTPUTNAME}.target.manifest"))
diff --git a/meta/lib/oeqa/sdk/cases/buildcvs.py b/meta/lib/oeqa/sdk/cases/buildcvs.py
index ee7fb73..6222a8e 100644
--- a/meta/lib/oeqa/sdk/cases/buildcvs.py
+++ b/meta/lib/oeqa/sdk/cases/buildcvs.py
@@ -2,7 +2,7 @@ from oeqa.sdk.case import OESDKTestCase
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
class BuildCvsTest(OESDKTestCase):
- td_vars = ['TEST_LOG_DIR', 'DATETIME']
+ td_vars = ['DATETIME']
@classmethod
def setUpClass(self):
@@ -10,7 +10,7 @@ class BuildCvsTest(OESDKTestCase):
self.project = SDKBuildProject(self.tc.sdk_dir + "/cvs/", self.tc.sdk_env,
"http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2",
- self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
+ self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
self.project.download_archive()
def test_cvs(self):
diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
index d2c1189..bdc8b6a 100644
--- a/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -4,7 +4,7 @@ from oeqa.sdk.case import OESDKTestCase
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
class GalculatorTest(OESDKTestCase):
- td_vars = ['TEST_LOG_DIR', 'DATETIME']
+ td_vars = ['DATETIME']
@classmethod
def setUpClass(self):
@@ -19,7 +19,7 @@ class GalculatorTest(OESDKTestCase):
project = SDKBuildProject(self.tc.sdk_dir + "/galculator/",
self.tc.sdk_env,
"http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2",
- self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
+ self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
project.download_archive()
diff --git a/meta/lib/oeqa/sdk/cases/buildiptables.py b/meta/lib/oeqa/sdk/cases/buildiptables.py
index a50fb5d..532b5de 100644
--- a/meta/lib/oeqa/sdk/cases/buildiptables.py
+++ b/meta/lib/oeqa/sdk/cases/buildiptables.py
@@ -2,7 +2,7 @@ from oeqa.sdk.case import OESDKTestCase
from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
class BuildIptablesTest(OESDKTestCase):
- td_vars = ['TEST_LOG_DIR', 'DATETIME']
+ td_vars = ['DATETIME']
@classmethod
def setUpClass(self):
@@ -10,7 +10,7 @@ class BuildIptablesTest(OESDKTestCase):
self.project = SDKBuildProject(self.tc.sdk_dir + "/iptables/", self.tc.sdk_env,
"http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2",
- self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
+ self.tc.sdk_dir, self.td['DATETIME'], dl_dir=dl_dir)
self.project.download_archive()
def test_iptables(self):
--
2.1.4
^ permalink raw reply related
* [PATCHv2 25/32] oeqa/sdk/cases: Migrate tests to the new OEQA framework
From: Aníbal Limón @ 2016-12-07 20:32 UTC (permalink / raw)
To: openembedded-core
In-Reply-To: <cover.1481142664.git.anibal.limon@linux.intel.com>
Summary of the changes:
- Remove auto extend_path using pkgutil at __init__, is not needed.
- Change base class to OESDKTestCase.
- Add td_vars attr to set dependencies of certain variables in test
data.
- Change skips from module level to class level because Test context
(tc)
now isn't at module level.
- Variable names changes to be consistent (i.e. sdktestdir ->
sdk_dir).
[YOCTO #10599]
- Don't use bb.utils functions use instead remove_safe and shutil
for copy files.
- SDKBuildProject pass test data variables instead of call getVar
inside.
[YOCTO #10231]
Signed-off-by: Aníbal Limón <anibal.limon@linux.intel.com>
Signed-off-by: Mariano Lopez <mariano.lopez@linux.intel.com>
---
meta/lib/oeqa/sdk/cases/__init__.py | 3 ---
meta/lib/oeqa/sdk/cases/buildcvs.py | 15 ++++++-----
meta/lib/oeqa/sdk/cases/buildgalculator.py | 28 ++++++++++++--------
meta/lib/oeqa/sdk/cases/buildiptables.py | 16 +++++++-----
meta/lib/oeqa/sdk/cases/gcc.py | 41 +++++++++++++++++-------------
meta/lib/oeqa/sdk/cases/perl.py | 25 +++++++++---------
meta/lib/oeqa/sdk/cases/python.py | 25 +++++++++---------
7 files changed, 84 insertions(+), 69 deletions(-)
delete mode 100644 meta/lib/oeqa/sdk/cases/__init__.py
diff --git a/meta/lib/oeqa/sdk/cases/__init__.py b/meta/lib/oeqa/sdk/cases/__init__.py
deleted file mode 100644
index 4cf3fa7..0000000
--- a/meta/lib/oeqa/sdk/cases/__init__.py
+++ /dev/null
@@ -1,3 +0,0 @@
-# Enable other layers to have tests in the same named directory
-from pkgutil import extend_path
-__path__ = extend_path(__path__, __name__)
diff --git a/meta/lib/oeqa/sdk/cases/buildcvs.py b/meta/lib/oeqa/sdk/cases/buildcvs.py
index c7146fa..ee7fb73 100644
--- a/meta/lib/oeqa/sdk/cases/buildcvs.py
+++ b/meta/lib/oeqa/sdk/cases/buildcvs.py
@@ -1,13 +1,16 @@
-from oeqa.oetest import oeSDKTest, skipModule
-from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import SDKBuildProject
+from oeqa.sdk.case import OESDKTestCase
+from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
-class BuildCvsTest(oeSDKTest):
+class BuildCvsTest(OESDKTestCase):
+ td_vars = ['TEST_LOG_DIR', 'DATETIME']
@classmethod
def setUpClass(self):
- self.project = SDKBuildProject(oeSDKTest.tc.sdktestdir + "/cvs/", oeSDKTest.tc.sdkenv, oeSDKTest.tc.d,
- "http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2")
+ dl_dir = self.td.get('DL_DIR', None)
+
+ self.project = SDKBuildProject(self.tc.sdk_dir + "/cvs/", self.tc.sdk_env,
+ "http://ftp.gnu.org/non-gnu/cvs/source/feature/1.12.13/cvs-1.12.13.tar.bz2",
+ self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
self.project.download_archive()
def test_cvs(self):
diff --git a/meta/lib/oeqa/sdk/cases/buildgalculator.py b/meta/lib/oeqa/sdk/cases/buildgalculator.py
index dc2fa9c..d2c1189 100644
--- a/meta/lib/oeqa/sdk/cases/buildgalculator.py
+++ b/meta/lib/oeqa/sdk/cases/buildgalculator.py
@@ -1,17 +1,25 @@
-from oeqa.oetest import oeSDKTest, skipModule
-from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import SDKBuildProject
+import unittest
-def setUpModule():
- if not (oeSDKTest.hasPackage("gtk+3") or oeSDKTest.hasPackage("libgtk-3.0")):
- skipModule("Image doesn't have gtk+3 in manifest")
+from oeqa.sdk.case import OESDKTestCase
+from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
+
+class GalculatorTest(OESDKTestCase):
+ td_vars = ['TEST_LOG_DIR', 'DATETIME']
+
+ @classmethod
+ def setUpClass(self):
+ if not (self.tc.hasTargetPackage("gtk+3") or\
+ self.tc.hasTargetPackage("libgtk-3.0")):
+ raise unittest.SkipTest("%s class: SDK don't support gtk+3" % self.__name__)
-class GalculatorTest(oeSDKTest):
def test_galculator(self):
+ dl_dir = self.td.get('DL_DIR', None)
+ project = None
try:
- project = SDKBuildProject(oeSDKTest.tc.sdktestdir + "/galculator/",
- oeSDKTest.tc.sdkenv, oeSDKTest.tc.d,
- "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2")
+ project = SDKBuildProject(self.tc.sdk_dir + "/galculator/",
+ self.tc.sdk_env,
+ "http://galculator.mnim.org/downloads/galculator-2.1.4.tar.bz2",
+ self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
project.download_archive()
diff --git a/meta/lib/oeqa/sdk/cases/buildiptables.py b/meta/lib/oeqa/sdk/cases/buildiptables.py
index f0cb8a4..a50fb5d 100644
--- a/meta/lib/oeqa/sdk/cases/buildiptables.py
+++ b/meta/lib/oeqa/sdk/cases/buildiptables.py
@@ -1,14 +1,16 @@
-from oeqa.oetest import oeSDKTest
-from oeqa.utils.decorators import *
-from oeqa.utils.targetbuild import SDKBuildProject
+from oeqa.sdk.case import OESDKTestCase
+from oeqa.sdk.utils.sdkbuildproject import SDKBuildProject
-
-class BuildIptablesTest(oeSDKTest):
+class BuildIptablesTest(OESDKTestCase):
+ td_vars = ['TEST_LOG_DIR', 'DATETIME']
@classmethod
def setUpClass(self):
- self.project = SDKBuildProject(oeSDKTest.tc.sdktestdir + "/iptables/", oeSDKTest.tc.sdkenv, oeSDKTest.tc.d,
- "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2")
+ dl_dir = self.td.get('DL_DIR', None)
+
+ self.project = SDKBuildProject(self.tc.sdk_dir + "/iptables/", self.tc.sdk_env,
+ "http://downloads.yoctoproject.org/mirror/sources/iptables-1.4.13.tar.bz2",
+ self.td['TEST_LOG_DIR'], self.td['DATETIME'], dl_dir=dl_dir)
self.project.download_archive()
def test_iptables(self):
diff --git a/meta/lib/oeqa/sdk/cases/gcc.py b/meta/lib/oeqa/sdk/cases/gcc.py
index 8395b9b..e06af4c 100644
--- a/meta/lib/oeqa/sdk/cases/gcc.py
+++ b/meta/lib/oeqa/sdk/cases/gcc.py
@@ -1,36 +1,43 @@
-import unittest
import os
import shutil
-from oeqa.oetest import oeSDKTest, skipModule
-from oeqa.utils.decorators import *
-
-def setUpModule():
- machine = oeSDKTest.tc.d.getVar("MACHINE", True)
- if not oeSDKTest.hasHostPackage("packagegroup-cross-canadian-" + machine):
- skipModule("SDK doesn't contain a cross-canadian toolchain")
+import unittest
+from oeqa.core.utils.path import remove_safe
+from oeqa.sdk.case import OESDKTestCase
-class GccCompileTest(oeSDKTest):
+class GccCompileTest(OESDKTestCase):
+ td_vars = ['MACHINE']
@classmethod
def setUpClass(self):
- for f in ['test.c', 'test.cpp', 'testsdkmakefile']:
- shutil.copyfile(os.path.join(self.tc.filesdir, f), self.tc.sdktestdir + f)
+ files = {'test.c' : self.tc.files_dir, 'test.cpp' : self.tc.files_dir,
+ 'testsdkmakefile' : self.tc.sdk_files_dir}
+ for f in files:
+ shutil.copyfile(os.path.join(files[f], f),
+ os.path.join(self.tc.sdk_dir, f))
+
+ def setUp(self):
+ machine = self.td.get("MACHINE")
+ if not self.tc.hasHostPackage("packagegroup-cross-canadian-%s" % machine):
+ raise unittest.SkipTest("%s class: SDK doesn't contain a cross-canadian toolchain",
+ self.__name__)
def test_gcc_compile(self):
- self._run('$CC %s/test.c -o %s/test -lm' % (self.tc.sdktestdir, self.tc.sdktestdir))
+ self._run('$CC %s/test.c -o %s/test -lm' % (self.tc.sdk_dir, self.tc.sdk_dir))
def test_gpp_compile(self):
- self._run('$CXX %s/test.c -o %s/test -lm' % (self.tc.sdktestdir, self.tc.sdktestdir))
+ self._run('$CXX %s/test.c -o %s/test -lm' % (self.tc.sdk_dir, self.tc.sdk_dir))
def test_gpp2_compile(self):
- self._run('$CXX %s/test.cpp -o %s/test -lm' % (self.tc.sdktestdir, self.tc.sdktestdir))
+ self._run('$CXX %s/test.cpp -o %s/test -lm' % (self.tc.sdk_dir, self.tc.sdk_dir))
def test_make(self):
- self._run('cd %s; make -f testsdkmakefile' % self.tc.sdktestdir)
+ self._run('cd %s; make -f testsdkmakefile' % self.tc.sdk_dir)
@classmethod
def tearDownClass(self):
- files = [self.tc.sdktestdir + f for f in ['test.c', 'test.cpp', 'test.o', 'test', 'testsdkmakefile']]
+ files = [os.path.join(self.tc.sdk_dir, f) \
+ for f in ['test.c', 'test.cpp', 'test.o', 'test',
+ 'testsdkmakefile']]
for f in files:
- bb.utils.remove(f)
+ remove_safe(f)
diff --git a/meta/lib/oeqa/sdk/cases/perl.py b/meta/lib/oeqa/sdk/cases/perl.py
index 45f422e..e1bded2 100644
--- a/meta/lib/oeqa/sdk/cases/perl.py
+++ b/meta/lib/oeqa/sdk/cases/perl.py
@@ -1,28 +1,27 @@
-import unittest
import os
import shutil
-from oeqa.oetest import oeSDKTest, skipModule
-from oeqa.utils.decorators import *
-
-def setUpModule():
- if not oeSDKTest.hasHostPackage("nativesdk-perl"):
- skipModule("No perl package in the SDK")
-
+import unittest
-class PerlTest(oeSDKTest):
+from oeqa.core.utils.path import remove_safe
+from oeqa.sdk.case import OESDKTestCase
+class PerlTest(OESDKTestCase):
@classmethod
def setUpClass(self):
+ if not self.tc.hasHostPackage("nativesdk-perl"):
+ raise unittest.SkipTest("No perl package in the SDK")
+
for f in ['test.pl']:
- shutil.copyfile(os.path.join(self.tc.filesdir, f), self.tc.sdktestdir + f)
- self.testfile = self.tc.sdktestdir + "test.pl"
+ shutil.copyfile(os.path.join(self.tc.files_dir, f),
+ os.path.join(self.tc.sdk_dir, f))
+ self.testfile = os.path.join(self.tc.sdk_dir, "test.pl")
def test_perl_exists(self):
self._run('which perl')
def test_perl_works(self):
- self._run('perl %s/test.pl' % self.tc.sdktestdir)
+ self._run('perl %s' % self.testfile)
@classmethod
def tearDownClass(self):
- bb.utils.remove("%s/test.pl" % self.tc.sdktestdir)
+ remove_safe(self.testfile)
diff --git a/meta/lib/oeqa/sdk/cases/python.py b/meta/lib/oeqa/sdk/cases/python.py
index 896fab4..94a296f 100644
--- a/meta/lib/oeqa/sdk/cases/python.py
+++ b/meta/lib/oeqa/sdk/cases/python.py
@@ -1,26 +1,25 @@
-import unittest
import os
import shutil
-from oeqa.oetest import oeSDKTest, skipModule
-from oeqa.utils.decorators import *
-
-def setUpModule():
- if not oeSDKTest.hasHostPackage("nativesdk-python"):
- skipModule("No python package in the SDK")
-
+import unittest
-class PythonTest(oeSDKTest):
+from oeqa.core.utils.path import remove_safe
+from oeqa.sdk.case import OESDKTestCase
+class PythonTest(OESDKTestCase):
@classmethod
def setUpClass(self):
+ if not self.tc.hasHostPackage("nativesdk-python"):
+ raise unittest.SkipTest("No python package in the SDK")
+
for f in ['test.py']:
- shutil.copyfile(os.path.join(self.tc.filesdir, f), self.tc.sdktestdir + f)
+ shutil.copyfile(os.path.join(self.tc.files_dir, f),
+ os.path.join(self.tc.sdk_dir, f))
def test_python_exists(self):
self._run('which python')
def test_python_stdout(self):
- output = self._run('python %s/test.py' % self.tc.sdktestdir)
+ output = self._run('python %s/test.py' % self.tc.sdk_dir)
self.assertEqual(output.strip(), "the value of a is 0.01", msg="Incorrect output: %s" % output)
def test_python_testfile(self):
@@ -28,5 +27,5 @@ class PythonTest(oeSDKTest):
@classmethod
def tearDownClass(self):
- bb.utils.remove("%s/test.py" % self.tc.sdktestdir)
- bb.utils.remove("/tmp/testfile.python")
+ remove_safe("%s/test.py" % self.tc.sdk_dir)
+ remove_safe("/tmp/testfile.python")
--
2.1.4
^ permalink raw reply related
page: next (older) | prev (newer) | latest
- recent:[subjects (threaded)|topics (new)|topics (active)]
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox