Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create new test suite #335

Closed
martinkg opened this issue May 5, 2017 · 3 comments
Closed

Create new test suite #335

martinkg opened this issue May 5, 2017 · 3 comments
Labels
type: quality Improves quality of the app or the user experience.
Milestone

Comments

@martinkg
Copy link

martinkg commented May 5, 2017

The first attempt of a test suite was abandoned years ago and "tests" code that no longer exists. Let's create new one.

Original report:


i tried to run the test suite via rpm spec file:
https://martinkg.fedorapeople.org/Packages/nuvolaplayer/nuvolaplayer.spec

made some modifications

sed -i "s|diorite-testgen|diorite-testgen-0.3|g" tests/Makefile
sed -i "s|dioriteglib-0.1|dioriteglib-0.3|g" tests/Makefile
sed -i "s|javascriptcoregtk-3.0|javascriptcoregtk-4.0|g" tests/Makefile
sed -i "s|webkit2gtk-3.0|webkit2gtk-4.0|g" tests/Makefile

but this fails with:

+ pushd tests
~/rpmbuild/BUILD/nuvolaplayer-3.1.3/tests ~/rpmbuild/BUILD/nuvolaplayer-3.1.3
+ make all
mkdir -p ../build/tests/run
diorite-testgen-0.3  -o ../build/tests/run/testcase.vala webappregistrytest.vala BindingsTest.vala
usage: diorite-testgen-0.3 [-h] [-i INPUT] [-o OUTPUT]

if i run make all in the source folder i get this:

[martin@fc25 tests]$ make all
valac -C -d ../build/tests -b . --thread -v \
--library=testcase -H ../build/tests/testcase.h  \
--target-glib=2.32  --vapidir ../build/tests --vapidir ../build --vapidir ../vapi --pkg=glib-2.0 --pkg=dioriteglib-0.3 --pkg=gtk+-3.0 --pkg=javascriptcoregtk-4.0 --pkg=webkit2gtk-4.0 --pkg nuvolaplayer3-runner --pkg nuvolaplayer3-base webappregistrytest.vala BindingsTest.vala
Loaded package `../vapi/glib-2.0.vapi'
Loaded package `../vapi/gobject-2.0.vapi'
Loaded package `/usr/share/vala/vapi/dioriteglib-0.3.vapi'
Loaded package `../vapi/posix.vapi'
Loaded package `../vapi/gio-2.0.vapi'
Loaded package `../vapi/gio-unix-2.0.vapi'
Loaded package `../vapi/gtk+-3.0.vapi'
Loaded package `/usr/share/vala-0.34/vapi/atk.vapi'
Loaded package `/usr/share/vala-0.34/vapi/cairo.vapi'
Loaded package `../vapi/gdk-pixbuf-2.0.vapi'
Loaded package `../vapi/gdk-3.0.vapi'
Loaded package `/usr/share/vala-0.34/vapi/pango.vapi'
Loaded package `/usr/share/vala-0.34/vapi/pangocairo.vapi'
Loaded package `/usr/share/vala-0.34/vapi/x11.vapi'
Loaded package `../vapi/javascriptcoregtk-4.0.vapi'
Loaded package `../vapi/webkit2gtk-4.0.vapi'
Loaded package `../vapi/libsoup-2.4.vapi'
error: Package `nuvolaplayer3-runner' not found in specified Vala API directories or GObject-Introspection GIR directories
error: Package `nuvolaplayer3-base' not found in specified Vala API directories or GObject-Introspection GIR directories
Compilation failed: 2 error(s), 0 warning(s)
Makefile:59: recipe for target '../build/tests/webappregistrytest.c' failed
make: *** [../build/tests/webappregistrytest.c] Error 1

the tests were not modified in past 3 years, so they might not be in good shape... will you change that?

@jiri-janousek jiri-janousek changed the title test suite runs not on fedora Crete new test suite May 5, 2017
@jiri-janousek
Copy link
Member

Well, the old test suite "tests" code that no longer exists. I could create new one during ongoing modernization.

@jiri-janousek jiri-janousek added this to the May 2017 milestone May 5, 2017
@jiri-janousek jiri-janousek added the type: quality Improves quality of the app or the user experience. label May 5, 2017
jiri-janousek added a commit that referenced this issue May 6, 2017
No longer functional.

Issue: #335

Signed-off-by: Jiří Janoušek <[email protected]>
@jiri-janousek
Copy link
Member

Old tests have been removed.

@jiri-janousek jiri-janousek modified the milestones: 4.0, May 2017 May 6, 2017
@jiri-janousek jiri-janousek changed the title Crete new test suite Craete new test suite May 6, 2017
@jiri-janousek jiri-janousek changed the title Craete new test suite Create new test suite May 7, 2017
jiri-janousek added a commit that referenced this issue May 16, 2017
  * build/run-nuvolaplayer3-tests
  * WebAppTest is the first test
  * Issue: #335

Signed-off-by: Jiří Janoušek <[email protected]>
@jiri-janousek
Copy link
Member

Nuvola has the first test on a new test suite. It is built by default and can be executed as build/run-nuvolaplayer3-tests with a proper LD_LIBRARY_PATH. More tests will come as the modernization proceeds further.

jiri-janousek added a commit that referenced this issue May 27, 2017
New Features:

  * Tray icon feature can now use AppIndicator library instead of
    obsolete X11 tray icons. Although app indicators are mostly known
    from Ubuntu's Unity desktop, they also work in elementaryOS and
    GNOME Shell (with
    [AppIndicator extension](https://extensions.gnome.org/extension/615/appindicator-support))
    and provide superior user experience. Issue: #45
  * Users can easily clear cookies, cache and temporary files, IndexedDB
    and WebSQL databases and local storage from the Preferences dialog
    → tab Website Data. Issue: #331

Enhancements:

  * Versioning scheme was changed to be more compact, e.g. 4.4.1 instead
    of 3.1.4-1.gabcd. Nuvola 4.0 was re-targeted as Nuvola 5.0.
  * Nuvola can do its own user agent quirks (i.e. to disguise itself as
    a different web browser) in order to work around web pages that
    doesn't work with the WebKit's user agent string.
    Issue: #336
  * Flatpak builds use the latest stable WebKitGTK+ 2.16.3 bringing
    fixes for three security vulnerabilities as well as several crashes
    and rendering issues.

Web App Scripts:

  * Google Play Music script uses own user agent quirks to work around
    the malfunctioning Google sign-in web page.
    Issue: #336

Bug fixes:

  * The build script now raises error if it is ran with Python < 3.4.
  * Fixed a bug when the menus of tray icons and dock items were not
    updated.
  * Nuvola now aborts when required data files are not found (e.g. in
    incomplete installation) rather they running with errors in the
    background.
  * Obsolete test suite has been removed. A new one will be created
    during ongoing modernization. Issue: #335
  * Broken -L/--log-file options were removed.
    Issue: #338
  * Various fixes of HTTP Remote Control feature.

Under the Hood:

  * Nuvola's filesystem namespace was changed from `nuvolaplayer3` to
   `nuvolaruntime`. The data dir is installed at
    PREFIX/share/nuvolaruntime, libraries were renamed to
    `libnuvolaruntime-*.so` and binaries to `nuvola(ctl)`.
    Users' configuration, data and cache is migrated automatically.
  * Nuvola's git repository was moved to
    https://github.com/tiliado/nuvolaruntime.
  * WebKitGTK+ >= 2.16.0 is required as all new API is now used
    unconditionally to make maintenance easier.
  * Added optional dependency on appindicator3-0.1 >= 0.4.
    Use `./waf configure --noappindicator` to disable
    this dependency and related functionality (Tray icon feature).
  * Nuvola no longer bundles Engine.io-client JavaScript library
    but expects version 3.1.0 of it located at the
    JSDIR/engine.io-client/engine.io.js (JSDIR is DATADIR/javascript
    unless changed with --jsdir).
    Issue: #341
  * Nuvola no longer supports web app scripts without a desktop file.
  * Test suite was reintroduced (build/run-nuvolaruntime-tests).
    Issue: #335
  * A lot of refactoring and removal of obsolete code and other
    improvements.

Signed-off-by: Jiří Janoušek <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type: quality Improves quality of the app or the user experience.
Projects
None yet
Development

No branches or pull requests

2 participants