test coverage is far too low
Bug #1237509 reported by
Charles Kerr
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Indicator Date and Time |
Fix Released
|
Medium
|
Charles Kerr | ||
indicator-datetime (Ubuntu) |
Fix Released
|
Undecided
|
Unassigned |
Bug Description
Improving test coverage is an ongoing goal across lots of our codebases, but the ratio of features to tests in datetime is just insane.
I'm adding the alarm features right now on a tight schedule and it would take me days to add tests for this code because there's absolutely no framework in tests/ for unit testing features in datetime, much less features whose states change over time.
So, adding this ticket as a line in the sand to remind myself to improve this in the 14.04 cycle.
Related branches
lp:~charlesk/indicator-datetime/make-timezones-and-clock-mockable
- PS Jenkins bot (community): Approve (continuous-integration)
- Ted Gould (community): Approve
-
Diff: 1362 lines (+751/-231)9 files modifiedsrc/Makefile.am (+4/-2)
src/clock-live.c (+281/-0)
src/clock-live.h (+73/-0)
src/clock.c (+110/-0)
src/clock.h (+76/-0)
src/main.c (+9/-34)
src/service.c (+191/-190)
src/service.h (+7/-3)
src/timezone.h (+0/-2)
lp:~charlesk/indicator-datetime/cmakeify
- Ted Gould (community): Approve
- PS Jenkins bot (community): Approve (continuous-integration)
-
Diff: 1504 lines (+567/-540)33 files modifiedCMakeLists.txt (+103/-0)
INSTALL (+75/-0)
Makefile.am (+0/-39)
Makefile.am.coverage (+0/-48)
autogen.sh (+0/-11)
cmake/FindIntltool.cmake (+23/-0)
cmake/GCov.cmake (+50/-0)
cmake/GdbusCodegen.cmake (+36/-0)
cmake/Translations.cmake (+41/-0)
cmake/UseGSettings.cmake (+23/-0)
configure.ac (+0/-192)
data/CMakeLists.txt (+66/-0)
data/Makefile.am (+0/-45)
data/indicator-datetime.service.in (+1/-1)
debian/control (+4/-3)
debian/indicator-datetime.install (+1/-1)
debian/rules (+2/-8)
panel/CMakeLists.txt (+25/-0)
panel/datetime-prefs-locations.c (+13/-7)
panel/datetime-prefs.c (+25/-15)
po/CMakeLists.txt (+3/-0)
po/POTFILES.in (+2/-2)
src/CMakeLists.txt (+45/-0)
src/Makefile.am (+0/-88)
src/clock-live.c (+1/-3)
src/main.c (+0/-2)
src/planner-eds.c (+0/-2)
src/service.c (+1/-3)
src/timezone-file.c (+0/-2)
src/timezone-geoclue.c (+1/-3)
src/utils.c (+3/-7)
tests/CMakeLists.txt (+23/-0)
tests/Makefile.am (+0/-58)
lp:~charlesk/indicator-datetime/cpp
- PS Jenkins bot (community): Approve (continuous-integration)
- Pete Woods: Pending requested
-
Diff: 15815 lines (+8344/-6365)101 files modifiedCMakeLists.txt (+11/-7)
README (+53/-0)
cmake/GCov.cmake (+2/-1)
debian/control (+4/-0)
include/CMakeLists.txt (+1/-0)
include/datetime/CMakeLists.txt (+2/-0)
include/datetime/actions-live.h (+60/-0)
include/datetime/actions.h (+74/-0)
include/datetime/appointment.h (+55/-0)
include/datetime/clock-mock.h (+61/-0)
include/datetime/clock.h (+99/-0)
include/datetime/date-time.h (+68/-0)
include/datetime/dbus-shared.h (+25/-0)
include/datetime/exporter.h (+74/-0)
include/datetime/formatter.h (+138/-0)
include/datetime/locations-settings.h (+55/-0)
include/datetime/locations.h (+79/-0)
include/datetime/menu.h (+85/-0)
include/datetime/planner-eds.h (+49/-0)
include/datetime/planner.h (+76/-0)
include/datetime/settings-live.h (+70/-0)
include/datetime/settings-shared.h (+49/-0)
include/datetime/settings.h (+65/-0)
include/datetime/state.h (+75/-0)
include/datetime/timezone-file.h (+63/-0)
include/datetime/timezone-geoclue.h (+69/-0)
include/datetime/timezone.h (+45/-0)
include/datetime/timezones-live.h (+56/-0)
include/datetime/timezones.h (+59/-0)
include/datetime/utils.h (+54/-0)
panel-gnome/CMakeLists.txt (+7/-3)
panel-unity/CMakeLists.txt (+6/-3)
panel/datetime-prefs-locations.c (+14/-14)
panel/datetime-prefs.c (+29/-25)
po/POTFILES.in (+3/-3)
src/CMakeLists.txt (+23/-28)
src/actions-live.cpp (+217/-0)
src/actions.cpp (+266/-0)
src/appointment.cpp (+48/-0)
src/clock-live.c (+0/-278)
src/clock-live.cpp (+163/-0)
src/clock-live.h (+0/-73)
src/clock.c (+0/-110)
src/clock.cpp (+93/-0)
src/clock.h (+0/-76)
src/date-time.cpp (+159/-0)
src/dbus-shared.h (+0/-24)
src/exporter.cpp (+145/-0)
src/formatter-desktop.cpp (+169/-0)
src/formatter.cpp (+267/-0)
src/locations-settings.cpp (+92/-0)
src/locations.cpp (+59/-0)
src/main.c (+0/-83)
src/main.cpp (+86/-0)
src/menu.cpp (+598/-0)
src/planner-eds.c (+0/-653)
src/planner-eds.cpp (+425/-0)
src/planner-eds.h (+0/-58)
src/planner.c (+0/-281)
src/planner.h (+0/-167)
src/service.c (+0/-2432)
src/service.h (+0/-84)
src/settings-live.cpp (+257/-0)
src/settings-shared.h (+0/-50)
src/timezone-file.c (+0/-212)
src/timezone-file.cpp (+103/-0)
src/timezone-file.h (+0/-58)
src/timezone-geoclue.c (+0/-227)
src/timezone-geoclue.cpp (+250/-0)
src/timezone-geoclue.h (+0/-57)
src/timezone.c (+0/-134)
src/timezone.h (+0/-72)
src/timezones-live.cpp (+72/-0)
src/utils.c (+0/-466)
src/utils.h (+0/-66)
tests/CMakeLists.txt (+37/-9)
tests/Makefile.am.strings (+0/-38)
tests/actions-mock.h (+82/-0)
tests/geoclue-fixture.h (+150/-0)
tests/glib-fixture.h (+58/-40)
tests/planner-mock.c (+0/-178)
tests/planner-mock.h (+0/-58)
tests/state-fixture.h (+60/-0)
tests/state-mock.h (+43/-0)
tests/test-actions.cpp (+232/-0)
tests/test-clock.cpp (+140/-0)
tests/test-dbus-fixture.h (+102/-0)
tests/test-exporter.cpp (+134/-0)
tests/test-formatter.cc (+0/-98)
tests/test-formatter.cpp (+256/-0)
tests/test-indicator.cc (+0/-92)
tests/test-live-actions.cpp (+403/-0)
tests/test-locations.cpp (+169/-0)
tests/test-menus.cpp (+524/-0)
tests/test-planner.cpp (+85/-0)
tests/test-settings.cpp (+191/-0)
tests/test-timezone-file.cpp (+133/-0)
tests/test-timezone-geoclue.cpp (+48/-0)
tests/test-timezones.cpp (+124/-0)
tests/test-utils.cpp (+93/-107)
trim-lcov.py (+53/-0)
Changed in indicator-datetime: | |
status: | Fix Committed → In Progress |
Changed in indicator-datetime: | |
status: | In Progress → Fix Released |
To post a comment you must log in.
Fix committed into lp:indicator-datetime at revision 278, scheduled for release in indicator-datetime, milestone Unknown