# Coppercomm -- One interface to unite them all

DevFeed: [Coppercomm -- One interface to unite them all](<https://devfeed.tech/articles/coppercomm-one-interface-to-unite-them-all-28867.md>)

Original publisher: [Read original article](<https://medium.com/volvo-cars-engineering/coppercomm-one-interface-to-unite-them-all-a0d7d92f3013?source=rss----4eed8113139---4>)

Author: Kenneth Karlsson

Published: 2024-05-27T06:54:56Z

Content type: tutorial

Language: en

Sources: [Volvo Cars Engineering - Medium](<https://devfeed.tech/sources/volvo-cars-engineering-medium.md>)

Topics: [interfaces](<https://devfeed.tech/topics/interfaces.md>), [Testing](<https://devfeed.tech/topics/testing.md>), [Python](<https://devfeed.tech/topics/python.md>), [Library](<https://devfeed.tech/topics/library.md>), [ssh](<https://devfeed.tech/topics/ssh.md>), [Wireless Debugging](<https://devfeed.tech/topics/wireless-debugging.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [bridge](<https://devfeed.tech/tags/bridge.md>), [communication](<https://devfeed.tech/tags/communication.md>), [interfaces](<https://devfeed.tech/tags/interfaces.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [python](<https://devfeed.tech/tags/python.md>), [ssh](<https://devfeed.tech/tags/ssh.md>), [test](<https://devfeed.tech/tags/test.md>), [testing](<https://devfeed.tech/tags/testing.md>)

## AI overview

The article introduces Coppercomm, a Python-based bridge intended to let teams share and rerun the same test cases across organizations. It maps logical or physical interfaces to communication methods such as SSH, serial, and Android Debug Bridge, hiding interface-specific details from test cases through configuration.

## Source excerpt

Coppercomm -- One interface to unite them allHow to share test cases across organizations and companiesBackgroundInterface overview Have you ever faced the challenge of reusing test cases when testing the same Device Under Test (DUT) across different organizations and companies? You are not alone. One of the main problems is the different libraries used. And it is not at all unusual for an organization to use different libraries for the same purpose. It could be that one team is not aware of the existence of a library, and decides to create a new one. Suddenly, there are two libraries doing the same thing! It's like having two different keys to the same lock. The problem grows when there is a need to share the same test cases between different companies and organizations. You might want to run a specific test case before delivering to a customer, and then after the customer has applied some changes, they might want to re-run the same test case again to make sure that it still works. You would want to run the same test case, the same way. This is where Coppercomm comes into play. It is written in Python and functions as a bridge between the host and DUT, for different types of communication interfaces, like SSH, serial, and Android Debug Bridge (ADB). This enables us to run the same test case at different departments without modifying the test case, as long as the test case is using Coppercomm and the Coppercomm library is available on the host. How Coppercomm worksCoppercomm overview Coppercomm is pretty basic. You create a configuration file that maps the different interfaces to a logical or physical interface. The configuration file is then used under the hood by Coppercomm. This hides the mapping from the user, and the test cases only need to specify what type of interface they want to use. Voilà! The host communicates with the DUT, without any specifics in the test case. Open sourcing Coppercomm"Given enough eyeballs, all bugs are shallow" - Linus Torvalds Sharin