Report bugs related to freedom-maker package may be reported at its issue tracker.
If you are unsure which package a bug belongs to or if you unsure whether something is a bug or if you are unsure about the process of reporting a bug, simple send an email to the mailing list or ask someone on the #freedombox IRC channel
This section describes a basic set of tests that need to run on various images of FreedomBox for a release.
It is probably not necessary to test all functionality on all the hardware. We can focus on testing hardware specific features on each hardware devices and test the remaining functionality on one or two hardware images.
Install on Debian
Take a fresh minimal Debian installation and install FreedomBox on it. It should install without errors.
- Then follow all the tests below.
- Machine should boot successfully.
- It should allow login at the console if password has been set on the image with password setting tool.
- Network interfaces should have been configured properly. Use 'nmcli device' and 'nmcli connection' to see a list of connections.
- All ethernet devices should be configured.
One ethernet device should be configured as 'FreedomBox WAN' and the rest should be configured as 'FreedomBox LAN <device_name>'.
All wireless devices should be configured with access point names as 'FreedomBox <device_name>'.
Plugging in Internet connection cable into the FreedomBox WAN should give Internet access. You should not be able to access Plinth from this interface.
Plugging in a cable from a machine to FreedomBox LAN interface should allocate you DHCP address with proper DNS entries and give you Internet access. You should be able to access Plinth from there with http://freedombox or using the allocated IP address.
In case of single ethernet interface, only FreedomBox WAN should be configured and connecting that interface to your network should give you Internet access. You should be able to access Plinth from there with http://freedombox.local or using the allocated IP address.
- In case of ARM-based hardware, flash-kernel should be installed. Run dpkg -l flash-kernel.
Examine sudo journalctl -u plinth and make sure there are no error or warnings in there.
- Root login should not be possible.
- fbx should not be able to login. If password for fbx user has been set using the password-in-image tool, the fbx user should be able to login with that password.
If logged in as above, it should show login greeter with FreedomBox logo. Location to the manual should be correct and should contain the manual.
- fbx user should be able to sudo into root account.
- Plinth first-boot wizard should show up. You should be able to create an admin user and see the current network status as diagram.
- When you set your language as one of the supported languages in your browser's preference, the interface should appear in that language. Check all the UI strings for correctness.
- Basic LDAP should be configured. After running Plinth first-boot, run 'sudo lsldap' and you should see entries for 'dc=thisbox', 'ou=users,dc=thisbox', 'ou=groups,dc=thisbox' and for the user you have create in Plinth.
- First run user you have created in Plinth should be able to login to the console using the password supplied during creation.
- Another user created in Plinth without 'admin' group should not be able to login into the console.
Install Tor. You be able to use freedombox:9050 as SOCKS proxy for a browser and be able to browse. Enabling hidden service should allow you to expose services on Tor network. Using Tor browser bundle visit your <your_hidden_service>.onion/plinth/apps/jsxc/jsxc/. Downloading packages via Tor should enabled by default and /etc/apt/sources.list should show tor+http URLs.
- Install Ejabberd. You should be able to login with LDAP account created in Plinth in /plinth/apps/jsxc/jsxc/. You should be able to add another account as buddy and start conversation.
- Install Transmission. Set administrator password and access web interface its web interface using that password. A sample torrent should get downloaded into /var/lib/transmission.
- Install Deluge. Set a username/password and use it login to the web interface. Download a sample torrent.
- Install Roundcube. Specify an external IMAP server and account details to login and check your email.
- Install Privoxy. You should be able to set proxy server details on your browser and browse the Internet without nasty tracking ads.
- Install Ikiwiki. Create a sample blog and wiki. Login with the admin user for it and create some web pages. Access the blog and wiki as anonymous users.
- Install Mumble. Login to it using Desktop or Android client. Text and voice chat with another user should work.
- Install Pagekite and add your Pagekite account (free one available for 1 month on pagekite.net) there. Enable HTTPS and SSH services. Check that your services such as /plinth/apps/jsxc/jsxc/ and /ikiwiki are available on your kite address.
Configure Dynamic DNS service using GnuDIP protocol and check that it works.
Configure Dynamic DNS service using update URL protocol and check that it works.
- Install Quassel. You should be able to connect to IRC networks using a desktop or mobile client.
- Set your timezone and verify that the date is correct on the console.
- Disable NTP service and make sure it is no long running.
- Change the hostname and make sure Ejabberd still works.
- Change the domainname and make sure Ejabberd still works.
- Disable service discovery service and see that avahi is not running.
- Check user managements works:
- Add a user and see the account works with Ejabberd.
- Remove the user and see that it no longer works with Ejabberd.
- Change password and see if that works.
- Users added to 'admin' group should be able to login on console. Others should not be able to login.
- Rename a user and see if that reflects.
- Enable automatic software updates see that by tomorrow all the updates have been installed.
- Goto firewall page and see that enabled services show their status properly.
- Run diagnostics and see that (almost) everything succeeds. Run diagnostic test from each module page.
- Go to networks module:
- Connect to Internet via Wifi should work.
- Configuring access point on Wifi should work.
- Adding/removing ethernet connections should work.
- Setting static IP address on connections should work.
- Connection status should be displayed properly.
- Wifi networks should show up properly.
- Configuring PPPoE should work.
- Go to the help page. All pages should work fine. Manual should contain images. /usr/share/doc/plinth should contain a PDF and html manual too.