blob: b2975b49e3c7b6755619fd0dc8f650bb4ded3ac7 [file] [log] [blame]
// Copyright 2020 The Chromium OS Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef TYPECD_TEST_UTILS_H_
#define TYPECD_TEST_UTILS_H_
#include <base/files/file_path.h>
#include <memory>
#include "typecd/port.h"
namespace typecd {
// Helper function to create the sysfs entries for an alt mode, for testing
// purposes.
//
// Returns:
// True on success, False otherwise.
bool CreateFakeAltMode(const base::FilePath& mode_path,
uint16_t svid,
uint32_t vdo,
uint32_t vdo_index);
// Helper functions for USB-C cables.
void AddUnbrandedUSB2Cable(Port& port);
void AddNekteckUSB2PassiveCable(Port& port);
void AddHongjuUSB3p1Gen1Cable(Port& port);
void AddHPUSB3p2Gen1Cable(Port& port);
void AddAnkerUSB3p2Gen2Cable(Port& port);
void AddCableMatters20GbpsCable(Port& port);
void AddUnbrandedTBT3Cable(Port& port);
void AddBelkinTBT3PassiveCable(Port& port);
void AddBelkinTBT3ActiveCable(Port& port);
void AddAppleTBT3ProCable(Port& port);
void AddCalDigitTBT4Cable(Port& port);
void AddCableMattersTBT4LRDCable(Port& port);
void AddStartech40GbpsCable(Port& port);
// Helper functions for USB-C partners.
void AddCableMattersDock(Port& port);
void AddDellWD19TBDock(Port& port);
void AddStartechDock(Port& port);
void AddStartechTB3DK2DPWDock(Port& port);
void AddThinkpadTBT3Dock(Port& port);
void AddIntelUSB4GatkexCreekDock(Port& port);
void AddOWCTBT4Dock(Port& port);
void AddWimaxitDisplay(Port& port);
} // namespace typecd
#endif // TYPECD_TEST_UTILS_H_