env HOME=$WORK/home [!device] skip fdroidcl update # we have exactly one device fdroidcl devices stdout . # We'll use a really small app, red_screen, to test interacting with a device. # Besides being tiny, it requires no permissions, is compatible with virtually # every device, and cannot hold data. So it's fine to uninstall. # ensure that the app isn't installed to begin with ! fdroidcl uninstall org.vi_server.red_screen stderr 'not installed' # missing app is not installed fdroidcl search -i -q ! stdout 'org\.vi_server\.red_screen' # missing app is not upgradable fdroidcl search -u -q ! stdout 'org\.vi_server\.red_screen' # install via csv input works as expected stdin applist.csv fdroidcl install -n stdout 'install org\.vi_server\.red_screen:1' # install version code 1 fdroidcl install org.vi_server.red_screen:1 stdout 'Downloading.*red_screen_1.apk' stdout '100%' stdout 'Installing' # app shows up as installed and upgradable fdroidcl search -i -q stdout 'org\.vi_server\.red_screen' fdroidcl search -u -q stdout 'org\.vi_server\.red_screen' fdroidcl install -u -n stdout 'install org\.vi_server\.red_screen:2' # upgrade app to version code 2 fdroidcl install org.vi_server.red_screen stdout 'Downloading.*red_screen_2.apk' stdout '100%' stdout 'Installing' # app does not show up as upgradable fdroidcl search -u -q ! stdout 'org\.vi_server\.red_screen' fdroidcl install -u -n ! stdout 'install org\.vi_server\.red_screen:2' # nothing to install or upgrade fdroidcl install org.vi_server.red_screen ! stdout 'Downloading' stdout 'is up to date' # uninstall an app that exists fdroidcl uninstall org.vi_server.red_screen -- applist.csv -- packageName,versionCode,versionName org.vi_server.red_screen,1,1.0