~cr3/ubuntu/lucid/checkbox/0.9.2

« back to all changes in this revision

Viewing changes to scripts/meminfo_resource

  • Committer: Bazaar Package Importer
  • Author(s): Mathias Gug, Marc Tardif
  • Date: 2010-03-09 16:58:36 UTC
  • Revision ID: james.westby@ubuntu.com-20100309165836-26f22oe6ubppzx0d
Tags: 0.9
[ Marc Tardif ]
New upstream release (LP: #532882):
* Introduced job_prompt plugin to treat all jobs (suites, tests, etc.) as composites.
* Replaced the registry and resource scripts and centralized job iteration.
* Replaced dependency on dbus by using sudo/gksu/kdesudo instead.
* Replaced mktemp with mkdtemp for security purposes.
* Fixed strings in fingerprint and modem tests (LP: #457759)
* Fixed client side validation of Launchpad form (LP: #438671)
* Added device information to tags when reporting bugs with apport.
* Added shorthands for blacklist-file and whitelist-file.
* Added support for apport default configuration (LP: #465447)
* Added support for scrolled options list (LP: #411526)
* Added support for tests generated by suites to run as root.
* Added support for requirements in attachments.
* Added support for armv7l processor
* Added Autotest integration
* Added LTP integration
* Added Phoronix integration
* Added qa-regression-testing integration

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#!/usr/bin/python
 
2
#
 
3
# This file is part of Checkbox.
 
4
#
 
5
# Copyright 2009 Canonical Ltd.
 
6
#
 
7
# Checkbox is free software: you can redistribute it and/or modify
 
8
# it under the terms of the GNU General Public License as published by
 
9
# the Free Software Foundation, either version 3 of the License, or
 
10
# (at your option) any later version.
 
11
#
 
12
# Checkbox is distributed in the hope that it will be useful,
 
13
# but WITHOUT ANY WARRANTY; without even the implied warranty of
 
14
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
15
# GNU General Public License for more details.
 
16
#
 
17
# You should have received a copy of the GNU General Public License
 
18
# along with Checkbox.  If not, see <http://www.gnu.org/licenses/>.
 
19
#
 
20
import re
 
21
import sys
 
22
 
 
23
 
 
24
# Filename where meminfo is stored.
 
25
FILENAME = "/proc/meminfo"
 
26
 
 
27
 
 
28
def get_meminfo():
 
29
    key_value_pattern = re.compile(r"(?P<key>.*):\s+(?P<value>.*)")
 
30
    meminfo_map = {
 
31
        "MemTotal": "total",
 
32
        "SwapTotal": "swap"}
 
33
 
 
34
    meminfo = {}
 
35
    file = open(FILENAME, "r")
 
36
    for line in file.readlines():
 
37
        line = line.strip()
 
38
        match = key_value_pattern.match(line)
 
39
        if match:
 
40
            key = match.group("key")
 
41
            if key in meminfo_map:
 
42
                key = meminfo_map[key]
 
43
                value = match.group("value")
 
44
                (integer, factor) = value.split()
 
45
                meminfo[key] = int(integer) * 1024
 
46
 
 
47
    return meminfo
 
48
 
 
49
def main():
 
50
    meminfo = get_meminfo()
 
51
    for key, value in meminfo.iteritems():
 
52
        print "%s: %s" % (key, value)
 
53
 
 
54
    return 0
 
55
 
 
56
 
 
57
if __name__ == "__main__":
 
58
    sys.exit(main())