From patchwork Fri Jun 18 00:14:26 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Goldish X-Patchwork-Id: 106776 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by demeter.kernel.org (8.14.3/8.14.3) with ESMTP id o5I0FIn1015946 for ; Fri, 18 Jun 2010 00:15:18 GMT Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1760916Ab0FRAPP (ORCPT ); Thu, 17 Jun 2010 20:15:15 -0400 Received: from mx1.redhat.com ([209.132.183.28]:60475 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1760512Ab0FRAPB (ORCPT ); Thu, 17 Jun 2010 20:15:01 -0400 Received: from int-mx03.intmail.prod.int.phx2.redhat.com (int-mx03.intmail.prod.int.phx2.redhat.com [10.5.11.16]) by mx1.redhat.com (8.13.8/8.13.8) with ESMTP id o5I0F11I004144 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=OK); Thu, 17 Jun 2010 20:15:01 -0400 Received: from ns3.rdu.redhat.com (ns3.rdu.redhat.com [10.11.255.199]) by int-mx03.intmail.prod.int.phx2.redhat.com (8.13.8/8.13.8) with ESMTP id o5I0F03Q016399; Thu, 17 Jun 2010 20:15:00 -0400 Received: from localhost.localdomain (dhcp-1-188.tlv.redhat.com [10.35.1.188]) by ns3.rdu.redhat.com (8.13.8/8.13.8) with ESMTP id o5I0EljP005733; Thu, 17 Jun 2010 20:14:59 -0400 From: Michael Goldish To: autotest@test.kernel.org, kvm@vger.kernel.org Cc: Michael Goldish Subject: [KVM-AUTOTEST PATCH 09/18] KVM test: kvm_utils.py: add a primitive logging mechanism for kvm_subprocess Date: Fri, 18 Jun 2010 03:14:26 +0300 Message-Id: <1276820075-31310-9-git-send-email-mgoldish@redhat.com> In-Reply-To: <1276820075-31310-8-git-send-email-mgoldish@redhat.com> References: <1276820075-31310-1-git-send-email-mgoldish@redhat.com> <1276820075-31310-2-git-send-email-mgoldish@redhat.com> <1276820075-31310-3-git-send-email-mgoldish@redhat.com> <1276820075-31310-4-git-send-email-mgoldish@redhat.com> <1276820075-31310-5-git-send-email-mgoldish@redhat.com> <1276820075-31310-6-git-send-email-mgoldish@redhat.com> <1276820075-31310-7-git-send-email-mgoldish@redhat.com> <1276820075-31310-8-git-send-email-mgoldish@redhat.com> X-Scanned-By: MIMEDefang 2.67 on 10.5.11.16 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter.kernel.org [140.211.167.41]); Fri, 18 Jun 2010 00:15:19 +0000 (UTC) diff --git a/client/tests/kvm/kvm_utils.py b/client/tests/kvm/kvm_utils.py index 1399892..8569ac3 100644 --- a/client/tests/kvm/kvm_utils.py +++ b/client/tests/kvm/kvm_utils.py @@ -732,6 +732,43 @@ def find_free_ports(start_port, end_port, count): return ports +# An easy way to log lines to files when the logging system can't be used + +_open_log_files = {} +_log_file_dir = "/tmp" + + +def log_line(filename, line): + """ + Write a line to a file. '\n' is appended to the line. + + @param filename: Path of file to write to, either absolute or relative to + the dir set by set_log_file_dir(). + @param line: Line to write. + """ + global _open_log_files, _log_file_dir + if filename not in _open_log_files: + path = get_path(_log_file_dir, filename) + try: + os.makedirs(os.path.dirname(path)) + except OSError: + pass + _open_log_files[filename] = open(path, "w") + timestr = time.strftime("%Y-%m-%d %H:%M:%S") + _open_log_files[filename].write("%s: %s\n" % (timestr, line)) + _open_log_files[filename].flush() + + +def set_log_file_dir(dir): + """ + Set the base directory for log files created by log_line(). + + @param dir: Directory for log files. + """ + global _log_file_dir + _log_file_dir = dir + + # The following are miscellaneous utility functions. def get_path(base_path, user_path):