All of lore.kernel.org
 help / color / mirror / Atom feed
From: Saul Wold <sgw@linux.intel.com>
To: Patches and discussions about the oe-core layer
	<openembedded-core@lists.openembedded.org>
Subject: Re: [PATCH 2/2] sanity: implement network connectivity test
Date: Sat, 25 Jun 2011 17:53:38 -0700	[thread overview]
Message-ID: <4E068312.5090507@linux.intel.com> (raw)
In-Reply-To: <909a6c756247a7a0f68f60a64477d4e8419ca74c.1308593086.git.josh@linux.intel.com>

On 06/20/2011 11:09 AM, Joshua Lock wrote:
> Sanity test to verify files can be fetched from the network using git, http
> and https fetchers point users at a page to help get set up in the case of a
> failure.
>
> Addresses [YOCTO #933]
>
> Signed-off-by: Joshua Lock<josh@linux.intel.com>
> ---
>   meta/classes/sanity.bbclass |   34 ++++++++++++++++++++++++++++++++++
>   1 files changed, 34 insertions(+), 0 deletions(-)
>
> diff --git a/meta/classes/sanity.bbclass b/meta/classes/sanity.bbclass
> index bffa4f5..650df5f 100644
> --- a/meta/classes/sanity.bbclass
> +++ b/meta/classes/sanity.bbclass
> @@ -35,6 +35,8 @@ def check_sanity_tmpdir_change(tmpdir, data):
>
>       # Check that TMPDIR isn't on a filesystem with limited filename length (eg. eCryptFS)
>       testmsg = check_create_long_filename(tmpdir, "TMPDIR")
> +    # Check that we can fetch from various network transports
> +    testmsg = testmsg + check_connectivity(data)
>       return testmsg
>
>   def check_sanity_version_change(data):
> @@ -75,6 +77,38 @@ def check_create_long_filename(filepath, pathname):
>               return "Failed to create a file in %s: %s" % (pathname, strerror)
>       return ""
>
> +def check_connectivity(d):
> +    # URI's to check can be set in the CONNECTIVITY_CHECK_URIS variable using
> +    # the same syntax as SRC_URI.
> +    test_uris = (bb.data.getVar('CONNECTIVITY_CHECK_URIS', d, True) or "").split()
> +    # If no URI's set, fallback to some default ones we know of
> +    if len(test_uris) == 0:
> +        test_uris = ["http://yoctoproject.org/about",
> +                     "https://eula-downloads.yoctoproject.org/crownbay/crownbay-bernard-5.0.0",
> +                     "git://git.yoctoproject.org/yocto-firewall-test;protocol=git;rev=HEAD"]
> +    retval = ""
> +
> +    # Only check connectivity if network access and this check enabled.
> +    # Because it's a fairly heavy test allow disabling of just this sanity test
> +    # by setting DISABLE_NETWORK_SANITY.
> +    network_disabled = not bb.data.getVar('BB_NO_NETWORK', d, True)
> +    check_disabled = bb.data.getVar('DISABLE_NETWORK_SANITY', d, True)
> +    if check_disabled or network_disabled:
> +        data = bb.data.createCopy(d)
> +        dldir = bb.data.expand('${TMPDIR}/sanity', data)
> +        bb.data.setVar('DL_DIR', dldir, data)
> +
> +        try:
> +            fetcher = bb.fetch2.Fetch(test_uris, data)
> +            fetcher.download()
> +	    fetcher.clean(test_uris)
> +        except Exception:
> +            retval = "Error connecting to the network to fetch, http/https and git checked.\nPlease check the wiki (https://wiki.yoctoproject.org/wiki/Connectivity\%20Troubleshooting) for more suggestions.\n"
> +        finally:
> +            # Make sure we tidy up the cruft
> +            oe.path.remove(dldir)
> +    return retval
> +
>   def check_sanity(e):
>       from bb import note, error, data, __version__
>

Josh,

When I ran this, I got the following messages about missing SRC_URI 
Checksums and then it failed to parse recipes.  When I removed this 
commit things worked normally.



Pseudo is not present but is required, building this first before the 
main build
Cloning into bare repository 
/intel/poky2/builds/pending/tmp/sanity/git2/git.yoctoproject.org.yocto-firewall-test...
  NOTE: fetch http://yoctoproject.org/about
WARNING: Missing SRC_URI checksum for 
/intel/poky2/builds/pending/tmp/sanity/about, consider adding to the recipe:
SRC_URI[md5sum] = "1ca6c9ee2ce5dc5d251e649cbd4e339f"
SRC_URI[sha256sum] = 
"24cda768cacaf6cc41ab75a46df4936f58075c4788e094c262c35d5ba69544e2"
NOTE: fetch 
https://eula-downloads.yoctoproject.org/crownbay/crownbay-bernard-5.0.0
WARNING: Missing SRC_URI checksum for 
/intel/poky2/builds/pending/tmp/sanity/crownbay-bernard-5.0.0, consider 
adding to the recipe:
SRC_URI[md5sum] = "c534ba257c640e47300572607762b22a"
SRC_URI[sha256sum] = 
"485812cf1c43381d70611e85eaf8a74982b452121bdc92accf7a62f0a2707137"
NOTE: fetch 
http://autobuilder.yoctoproject.org/sources/git2_git.yoctoproject.org.yocto-firewall-test.tar.gz
Parsing recipes...ERROR: Command execution failed: Exited with 1
NOTE: fetch 
http://autobuilder.yoctoproject.org/sources/git2_git.yoctoproject.org.yocto-firewall-test.tar.gz
WARNING: Missing SRC_URI checksum for 
/intel/poky2/builds/pending/tmp/sanity/crownbay-bernard-5.0.0, consider 
adding to the recipe:
SRC_URI[md5sum] = "c534ba257c640e47300572607762b22a"
SRC_URI[sha256sum] = 
"485812cf1c43381d70611e85eaf8a74982b452121bdc92accf7a62f0a2707137"
NOTE: fetch 
https://eula-downloads.yoctoproject.org/crownbay/crownbay-bernard-5.0.0
WARNING: Missing SRC_URI checksum for 
/intel/poky2/builds/pending/tmp/sanity/about, consider adding to the recipe:
SRC_URI[md5sum] = "1ca6c9ee2ce5dc5d251e649cbd4e339f"
SRC_URI[sha256sum] = 
"24cda768cacaf6cc41ab75a46df4936f58075c4788e094c262c35d5ba69544e2"
NOTE: fetch http://yoctoproject.org/about

Thanks
	Sau!




  reply	other threads:[~2011-06-26  0:57 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-06-20 18:09 [PATCH 0/2] sanity: implement network connectivity test v2 Joshua Lock
     [not found] ` <cover.1308593086.git.josh@linux.intel.com>
2011-06-20 18:09   ` [PATCH 1/2] sanity.bbclass: pass the data object to the less frequent test harnesses Joshua Lock
2011-06-20 18:09   ` [PATCH 2/2] sanity: implement network connectivity test Joshua Lock
2011-06-26  0:53     ` Saul Wold [this message]
2011-06-26  1:56       ` Joshua Lock
2011-06-26  2:33       ` Khem Raj
2011-06-26 17:37         ` Joshua Lock
2011-06-26 18:08           ` Khem Raj
2011-06-27 15:03             ` Joshua Lock
2011-06-28 14:13             ` Richard Purdie

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4E068312.5090507@linux.intel.com \
    --to=sgw@linux.intel.com \
    --cc=openembedded-core@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.