152419Sjulian# SPDX-License-Identifier: GPL-2.0+
252419Sjulian# Copyright 2022 Google LLC
352419Sjulian#
452419Sjulian"""Bintool used for testing
552419Sjulian
652419SjulianThis is not a real bintool, just one used for testing"""
752419Sjulian
852419Sjulianfrom binman import bintool
952419Sjulian
1052419Sjulian# pylint: disable=C0103
1152419Sjulianclass Bintool_testing(bintool.Bintool):
1252419Sjulian    """Bintool used for testing"""
1352419Sjulian    def __init__(self, name):
1452419Sjulian        super().__init__(name, 'testing')
1552419Sjulian        self.present = False
1652419Sjulian        self.install = False
1752419Sjulian        self.disable = False
1852419Sjulian
1952419Sjulian    def is_present(self):
2052419Sjulian        if self.present is None:
2152419Sjulian            return super().is_present()
2252419Sjulian        return self.present
2352419Sjulian
2452419Sjulian    def version(self):
2552419Sjulian        return '123'
2652419Sjulian
2752419Sjulian    def fetch(self, method):
2852419Sjulian        if self.disable:
2952419Sjulian            return super().fetch(method)
3052419Sjulian        if method == bintool.FETCH_BIN:
3152419Sjulian            if self.install:
3252419Sjulian                return self.apt_install('package')
3352419Sjulian            return self.fetch_from_drive('junk')
3452419Sjulian        if method == bintool.FETCH_BUILD:
3552419Sjulian            return self.build_from_git('url', 'target', 'pathname')
3652419Sjulian        return None
3752419Sjulian