xref: /aosp_15_r20/external/toolchain-utils/binary_search_tool/test/common.py (revision 760c253c1ed00ce9abd48f8546f08516e57485fe)
1*760c253cSXin Li#!/usr/bin/env python3
2*760c253cSXin Li# -*- coding: utf-8 -*-
3*760c253cSXin Li# Copyright 2020 The ChromiumOS Authors
4*760c253cSXin Li# Use of this source code is governed by a BSD-style license that can be
5*760c253cSXin Li# found in the LICENSE file.
6*760c253cSXin Li
7*760c253cSXin Li"""Common utility functions."""
8*760c253cSXin Li
9*760c253cSXin LiDEFAULT_OBJECT_NUMBER = 1238
10*760c253cSXin LiDEFAULT_BAD_OBJECT_NUMBER = 23
11*760c253cSXin LiOBJECTS_FILE = "objects.txt"
12*760c253cSXin LiWORKING_SET_FILE = "working_set.txt"
13*760c253cSXin Li
14*760c253cSXin Li
15*760c253cSXin Lidef ReadWorkingSet():
16*760c253cSXin Li    working_set = []
17*760c253cSXin Li    with open(WORKING_SET_FILE, "r", encoding="utf-8") as f:
18*760c253cSXin Li        for l in f:
19*760c253cSXin Li            working_set.append(int(l))
20*760c253cSXin Li    return working_set
21*760c253cSXin Li
22*760c253cSXin Li
23*760c253cSXin Lidef WriteWorkingSet(working_set):
24*760c253cSXin Li    with open(WORKING_SET_FILE, "w", encoding="utf-8") as f:
25*760c253cSXin Li        for o in working_set:
26*760c253cSXin Li            f.write("{0}\n".format(o))
27*760c253cSXin Li
28*760c253cSXin Li
29*760c253cSXin Lidef ReadObjectsFile():
30*760c253cSXin Li    objects_file = []
31*760c253cSXin Li    with open(OBJECTS_FILE, "r", encoding="utf-8") as f:
32*760c253cSXin Li        for l in f:
33*760c253cSXin Li            objects_file.append(int(l))
34*760c253cSXin Li    return objects_file
35*760c253cSXin Li
36*760c253cSXin Li
37*760c253cSXin Lidef ReadObjectIndex(filename):
38*760c253cSXin Li    object_index = []
39*760c253cSXin Li    with open(filename, "r", encoding="utf-8") as f:
40*760c253cSXin Li        for o in f:
41*760c253cSXin Li            object_index.append(int(o))
42*760c253cSXin Li    return object_index
43