Skip to content

Testing RetroNAS

Dan Mons edited this page Jan 30, 2024 · 5 revisions

Testing in RetroNAS

Testing in RetroNAS is a community effort, we cannot address every use case out there.

We are constantly looking at new options for functionality that can be add edto RetroNAS. When any new functionality is added we need to test it across as many use cases as possible.

WARNING

We suggest you run this on a test instance of your hardware where possible, new functionality may prove problematic while it is being tested.

Hardware

Our Supported hardware page lists the target hardware for the project but feedback on other alternate hardware will prove useful to improve the project. If you are running on alternate hardware one of the easiest ways to contribute is to test, test and test again,

If you are looking to support the project, testing is one of the most valuable ways to help.

Branches

RetroNAS is released in a dual phased rolling release where we have a testing branch and main branch. Where applicable there will also be feature branches. All of the active branches may be selected/switch too for the Update menu in the launcher.

Reporting Results

Raising a discussion for new hardware/suggestions/new concepts or an issue for problems with existing functionality on target hardware is the best way to get results logged against the project

Tools

termbin

A useful tool for reporting result termbin.com all you need is netcat and you can pipe terminal output directly to the site to share as part of you issue.

First begin by install netcat, this only has to be done once for each system you want to use termbin.com with

# apt-get install netcat

Then pipe the output (stdout) of your command to termbin on port 9999 using netcat. termbin will respond with a link if publishing of your output was successful.

root@retroNAS:/data/retronas# ls -la | nc termbin.com 9999
https://termbin.com/jyak
root@retroNAS:/data/retronas# 

One important note is to make sure there is no information (e.g. passwords) that wish to remain private in the output of your command before sending it to termbin

Visiting the returned link above shows us the output of our command in a sharable format

total 68
drwxrwxr-x 14 retronas retronas  4096 Feb 25 06:27 .
drwxrwxr-x  3 retronas retronas  4096 Feb 18 01:54 ..
drwxrwxr-x  4 retronas retronas  4096 Feb 20 21:07 3ds
drwxrwxr-x 24 retronas retronas  4096 Feb 20 21:23 bios
-rw-rw-r--  1 retronas retronas 10452 Feb 20 21:27 .cache.pygopherd.dir
drwxrwxr-x  3 retronas retronas  4096 Feb 22 22:13 device-mounts
drwxrwxr-x  3 retronas retronas  4096 Feb 20 21:12 gamecube
drwxrwxr-x  3 retronas retronas  4096 Feb 25 05:53 gog
drwxrwxr-x  3 retronas retronas  4096 Feb 24 12:42 ps3
drwxrwxr-x  2 retronas retronas  4096 Feb 21 08:20 romimport
drwxrwxr-x 24 retronas retronas  4096 Feb 20 20:54 roms
drwxrwxr-x 24 retronas retronas  4096 Feb 20 21:06 saves
drwxrwxr-x 24 retronas retronas  4096 Feb 20 14:37 savestates
drwxrwxr-x  2 retronas retronas  4096 Feb 20 14:37 wallpapers
drwxrwxr-x  2 retronas retronas  4096 Feb 25 06:27 xbox360

Requirements

Existing functionality

There is nothing in particular you need to do to test existing functionality, see Installing RetroNAS and give it a go, if you run into problems please collection some basic information and include it in your report in the appropriate forum, see Reporting Results

New functionality

when testing a new functionality you will need to be familiar some basic git usage to navigate between branches. The way git is laid out, the current project looks at a branch called 'main' we may with new functionality introduce it in an alternate branch until it is tested more thoroughly

To do this, as root change into the /opt/retronas directory (use sudo as applicable for your system)

# cd /opt/retronas

When RetroNAS installs it will clone a local (called working) copy of main RetroNAS branch to your system

To see the available branches in your local copy of RetroNAS

# git branch -a

Example result

root@raspberrypi:/opt/retronas# git branch -a
* main
  remotes/origin/HEAD -> origin/main
  remotes/origin/fix-mister-paths-alt
  remotes/origin/hdparm
  remotes/origin/main
  remotes/origin/ps3netserv-perm
root@raspberrypi:/opt/retronas# 

Branches should be named as per the functionality they add or issue they resolve, once you have identified the name of the branch you wish to test you can switch to that branch, the below example we will switch to the hdparm branch

# git checkout hdparm

Example result

root@raspberrypi:/opt/retronas# git checkout hdparm
Branch 'hdparm' set up to track remote branch 'hdparm' from 'origin'.
Switched to a new branch 'hdparm'
root@raspberrypi:/opt/retronas# 

From here you can test this functionality by running retronas as normal

$ sudo /opt/retronas/retronas.sh

Once you have completed testing, compile your results and advise the project see Reporting Results

When you are ready to can return to the main branch (or any other branch) by repeating the checkout process for the main branch

# git checkout main
root@raspberrypi:/opt/retronas# git checkout main
Switched to branch 'main'
Your branch is up to date with 'origin/main'.
root@raspberrypi:/opt/retronas# 

Skipping git operations at launch

When you are developing new functionality it can be handy to skip the git operations that are coded into the launcher. This can be achieved by passing -g when running retronas.sh

# /opt/retronas/retronas.sh -g

Home

Getting started:

Contributing

Multi-system protocols:

Specific system configurations:

Services:

Tools:

Physical Media:

On-Device Management:

Advanced storage options:

  • BtrFS RAID, Snapshots, Compression, Deduplication
  • FAT Advanced guide to using FAT loopback mounts for EtherDFS
  • TBA
    • SMR Shingled Magnetic Recording hard drives (TBA)
    • NTFS Advanced guide for NTFS formatted disks
    • SMB Loopback Mounting an existing SMB NAS
    • NFS Loopback Mounting an existing NFS NAS
    • MDRAID (TBA)
    • LVM (TBA)
    • iSCSI Configuring iSCSI

Other:

Clone this wiki locally