Reporting Bugs
Report bugs related to Plinth package may be reported at its issue tracker. However, bugs related to Plinth Debian packaging must be reported on Debian BTS. See instructions on using BTS.
Report bugs related to freedombox-setup package at freedombox-setup BTS. See instructions on using BTS.
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
Tests
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.
Hardware Tests
- Machine should boot successfully.
- After a while, it should reboot itself having run first-run scripts.
- It should allow login at the console.
- 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 'FreedomBoxWAN' and the rest should be configured as 'FreedomBoxLAN<device_name>'.
All wireless devices should be configured with access point names as 'FreedomBox<device_name>'.
- Plugging in Internet connection cable into the freedomboxWAN should give Internet access. You should not be able to access Plinth from this interface.
Plugging in a cable from a machine to freedomboxLAN 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 freedomboxWAN 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 or using the allocated IP address.
- In case of beaglebone and dreamplug hardware, flash-kernel should be installed. Run dpkg -l flash-kernel.
- Examine /var/log/freedombox-setup.log and /var/log/freedombox-first-run.log and make sure there are no error or warnings in there.
Functionality
- Root login should not be possible.
- fbx should be able to login.
Login should show login greeter with FreedomBox logo. Location to the manual should be correct and should contain the manual.
Must have a README file in home directory with FreedomBox manual in it.
- fbx user should be able to sudo into root account.
Plinth should show up when visiting the URL http://freedombox.
When accessing Plinth using http://, it should redirect you to a https:// and show a certificate warning.
- Plinth first-boot wizard should show up. You should be able to set hostname and create an admin user.
- 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.
Tor should be enabled by default. 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/jwchat. Downloading packages via Tor should enabled by default and /etc/apt/sources.list should show tor+http URLs.
- Install XMPP. You should be able to login with LDAP account created in Plinth in /jwchat. You should be able to add another account as buddy and start conversation.
- Install ownCloud. Visiting /owncloud for the first time should allow to create an admin account and not ask for any other details. After login, you should be able to create accounts there and use them with desktop clients and web login.
- 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 /jwchat 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 Shaarli. Login and create a bookmark.
- 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 XMPP still works.
- Change the domainname and make sure XMPP still works.
- Check user managements works:
- Add a user and see the account works with XMPP.
- Remove the user and see that it no longer works with XMPP.
- 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.