Commit Graph

298 Commits

Author SHA1 Message Date
Daniel Silverstone
45097c7f39 monkeyfarmer: Probably make handling of monkey more robust
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-03 12:31:22 +01:00
Daniel Silverstone
ad67eeff4b monkeyfarmer: Be a little more verbose when exiting
In an effort to try and determine why we sometimes get unexpected
exits, print the line queue during the handling of process exit.

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 17:40:15 +01:00
Daniel Silverstone
5c9d54d05b Monkey: Properly support reload in farmer and driver
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-08-02 12:24:14 +01:00
Vincent Sanders
f46b77160a ensure monkey farmer copes with recv returnint EAGAIN 2019-07-06 10:08:10 +01:00
Vincent Sanders
ccf336bb4a make monkey driver and farmer python files pylint and pep8 clean 2019-07-04 22:44:58 +01:00
Vincent Sanders
e01bbee405 fix monkey testing setting of options to add necessary prefix 2019-07-02 11:29:54 +01:00
Vincent Sanders
4368c4c042 attempt to make monkeyfarmer process exit detection more reliable 2019-06-27 13:16:51 +01:00
Daniel Silverstone
e14a6598be monkey_driver.py: Allow for no wrapper to be passed
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-15 21:24:35 +01:00
Daniel Silverstone
1d5a024a68 Sleepy JS test, handy to alt+f4 during load to check shutdown
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-15 21:09:49 +01:00
Daniel Silverstone
5c0eee43e2 Monkey: Support a -w argument to the monkey_driver.py
In order to better support valgrind and friends, add -w to
the monkey driver.  You can use it as:

monkey_driver.py ...normalargs... -w 'valgrind -v --track-origins=yes'

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-15 20:01:08 +01:00
Vincent Sanders
1951c0f809 allow repeat loops to specify values and navigation to use them 2019-06-12 23:55:54 +01:00
Vincent Sanders
c90bd806a6 make the timer-start and timer-restart action name the timer in the same way 2019-06-12 22:59:40 +01:00
Vincent Sanders
c74c8332ac allow monkey tests to stop navigation 2019-06-06 17:17:27 +01:00
Vincent Sanders
4be18fcf47 detect monkey exit rather than waiting forever for a defunct process 2019-06-06 17:17:27 +01:00
Vincent Sanders
f2000ae60e improve stdout print formatting 2019-06-06 17:17:27 +01:00
Vincent Sanders
27ee92c872 extend the monkey test tooling to cope with ssl certificate windows 2019-06-05 20:58:40 +01:00
Daniel Silverstone
41608a73c0 monkey-see-monkey-do: Also restore stdout/stderr when success
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-06-04 21:50:43 +01:00
Vincent Sanders
19de453ad5 Fix dump choices test data to align with altered logging levels 2019-05-31 18:56:14 +01:00
Vincent Sanders
295617b451 Fix test target use of logging config defines 2019-05-31 18:44:04 +01:00
Vincent Sanders
12bba5a1cc fix block conditional checks to be orred instead of anded 2019-05-20 10:07:53 +01:00
Vincent Sanders
ea9bc4e2be allow block to use elapsed timer as a condition 2019-05-18 23:45:52 +01:00
Vincent Sanders
5bd54f4c0c allow render checks to be empty 2019-05-18 22:39:15 +01:00
Daniel Silverstone
1736bdcfee Add js-exec to monkey_driver, add a test, etc.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 19:20:18 +01:00
Daniel Silverstone
183f9ed8bc Example script console log test, needs genericising on path
Currently this has to have a full-path to the inserted-script test

Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 11:02:36 +01:00
Daniel Silverstone
4db81370f3 Support logging in monkey_driver.py
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 11:02:36 +01:00
Daniel Silverstone
6bbb672c57 Monkeyfarmer: Support logging
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-06 11:02:36 +01:00
Daniel Silverstone
8dc7869937 Use console formatting to prove it out
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-05 22:17:10 +01:00
Daniel Silverstone
19b45fb494 Support script insertion after conversion has begun
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-04 12:18:21 +01:00
Daniel Silverstone
c17e588b66 Javascript: Support setTimeout and friends
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-05-03 11:33:07 +01:00
Michael Drake
35e9b5de6d Tests: Add simple JS test for dynamic layout. 2019-05-03 08:25:24 +01:00
Michael Drake
883b202c58 monkey driver: Print the bitmap plot-check. 2019-02-16 15:40:47 +00:00
Daniel Silverstone
5bda316fb3 Add missing call to run_test_plan 2019-02-16 15:34:22 +00:00
Michael Drake
d4b3889227 Automated testing output: Show description differently from test lines. 2019-02-16 15:21:42 +00:00
Daniel Silverstone
ceefe45205 Enable running of the tests from test.netsurf-browser.org 2019-02-16 14:57:17 +00:00
Michael Drake
1698a75282 monkey test: Rename file with an '=' character. 2019-02-16 13:25:16 +00:00
Daniel Silverstone
f33db7d442 Monkey: Support 401login in the monkey-driver et al.
Signed-off-by: Daniel Silverstone <dsilvers@digital-scurf.org>
2019-02-16 10:58:17 +00:00
Daniel Silverstone
b25c7b3d2d Add plot commands output for auth test 2019-02-16 10:23:17 +00:00
Michael Drake
c1e1df42e2 Test: Fix simultanious-fetches.yaml to not look like a YAML alias. 2018-11-04 14:46:46 +00:00
Michael Drake
9a90babfa1 Test: Monkey driver: Fix blocking for *all* windows. 2018-11-04 14:45:46 +00:00
Michael Drake
d676c7e5b6 Test: Monkey driver: Implement sleep-ms and repeat actions. 2018-11-04 14:34:31 +00:00
Michael Drake
eb87192ddc Test: Monkey driver: Split out conds_met function. 2018-11-04 13:13:23 +00:00
Michael Drake
e12e50efaa Test: Monkey driver: Timers can live outside launches. 2018-11-04 13:10:27 +00:00
Michael Drake
3ea6fadac2 Test: Monkey driver: Improve navigate step logging. 2018-11-04 11:07:36 +00:00
Michael Drake
54be19e6c8 Test: Monkey driver: Add support for timer actions. 2018-11-04 10:57:57 +00:00
Daniel Silverstone
46b6b7c9b4 Final tweaks, support LOGIN in monkeyfarmer 2018-11-04 10:35:22 +00:00
Daniel Silverstone
b34a52e4b9 More monkey stuff 2018-11-03 17:14:43 +00:00
Michael Drake
7cc1f1bfc0 Monkey tests: Add more example test plans. 2018-11-03 16:49:58 +00:00
Michael Drake
90e4976800 Monkey driver: Initial loader for monkey test plans. 2018-11-03 16:35:22 +00:00
Vincent Sanders
9100fcb409 improve nsurl query handling.
Alter the handling of query values within nsurl to be like fragments.

This ensures callers never have to care about the query punctuation,
e.g. the question mark

This also means the strings generated will no longer have trailing
question marks which now conforms to behaviour in whatwg url spec
on url serializing in section 4.5
2018-09-26 17:21:33 +01:00
Vincent Sanders
c3d3023e4a stop overriding non test warning flags 2018-09-07 14:25:41 +01:00
Daniel Silverstone
3d20a3974c Support ASAN and UBSAN in Makefiles 2018-07-28 11:17:07 +01:00
John-Mark Bell
86ac9f1331 Update urldb test data for format 107 2018-04-22 14:22:21 +00:00
Vincent Sanders
1255ee3af4 fix hashtable test build 2018-04-22 15:20:26 +01:00
Vincent Sanders
5c20642b7e make tests build again 2018-04-22 15:13:25 +01:00
Vincent Sanders
4cea5a853b remove test for removed API 2017-09-11 10:35:38 +01:00
Daniel Silverstone
1eb19587bf Fix up tests with nslog changes 2017-09-09 10:59:28 +01:00
Vincent Sanders
75018632a9 Use coccinelle to change logging macro calls in c files
for F in $(git ls-files '*.c');do spatch --sp-file foo.cocci --in-place ${F};done

@@ expression E; @@
-LOG(E);
+NSLOG(netsurf, INFO, E);
@@ expression E, E1; @@
-LOG(E, E1);
+NSLOG(netsurf, INFO, E, E1);
@@ expression E, E1, E2; @@
-LOG(E, E1, E2);
+NSLOG(netsurf, INFO, E, E1, E2);
@@ expression E, E1, E2, E3; @@
-LOG(E, E1, E2, E3);
+NSLOG(netsurf, INFO, E, E1, E2, E3);
@@ expression E, E1, E2, E3, E4; @@
-LOG(E, E1, E2, E3, E4);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4);
@@ expression E, E1, E2, E3, E4, E5; @@
-LOG(E, E1, E2, E3, E4, E5);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5);
@@ expression E, E1, E2, E3, E4, E5, E6; @@
-LOG(E, E1, E2, E3, E4, E5, E6);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6);
@@ expression E, E1, E2, E3, E4, E5, E6, E7; @@
-LOG(E, E1, E2, E3, E4, E5, E6, E7);
+NSLOG(netsurf, INFO, E, E1, E2, E3, E4, E5, E6, E7);
2017-09-06 18:45:27 +01:00
Vincent Sanders
8d9b2efc11 use nslog library for logging if available. 2017-09-03 23:40:32 +01:00
Michael Drake
cebfa6c2cc Tests: Squash warning: "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE". 2017-08-28 11:15:06 +01:00
Michael Drake
3a0e87e89f Errorcodes: Remove redundant MNG error. 2017-08-28 11:11:40 +01:00
Vincent Sanders
8bdea3cc7e fix number of corestrings to test 2017-07-26 09:32:35 +01:00
Vincent Sanders
8721279687 update cookie database tests to not use expired cookie data 2017-07-26 09:17:57 +01:00
Daniel Silverstone
e499f5c08f Support coverage flushing on assert()
When assert() is called, which is not uncommon in utility code within NetSurf,
we lose coverage data for anything done before the assert() in the test.  This
commit corrects that oversight but is at least slightly GCC specific and may
need tweaks for non-Linux platforms.

By default, 'make coverage' will enable assert coverage, and it can be disabled
with 'make coverage NOASSERTCOVERAGE=yes' if necessary.

Signed-off-by: Daniel Silverstone <dsilvers@netsurf-browser.org>
2017-03-31 18:53:52 +01:00
Michael Drake
f90559d2db Tests: Increase nsurl coverage. 2017-03-27 17:55:48 +01:00
Michael Drake
775687a79b Tests: Add nsurl insensitivity test for HTTPS scheme. 2017-03-27 16:01:47 +01:00
Michael Drake
b024c0bcb5 Tests: Add nsurl tests for unnecessary and bad escape values. 2017-03-27 15:41:24 +01:00
Michael Drake
04d74a79ae Tests: Add some more nsurl cases insensitivity tests. 2017-03-27 14:40:12 +01:00
Michael Drake
1cced51440 Tests: Add tests for file: URL credentials and host handling. 2017-03-27 12:24:37 +01:00
Michael Drake
13a2ac7c08 Tests: Add more file scheme URL parsing tests. 2017-03-27 12:15:11 +01:00
Michael Drake
0e62d45006 Tests: Fix file URL component parsing test to match corrected behaviour. 2017-03-27 12:14:04 +01:00
Vincent Sanders
c512b2f054 Add heap fault injection generator into tests
This builds a dynamic library which can cause heap allocation (malloc)
faliures after a specified number of calls. This is useful to allow
tesing of memory failure allocation paths within netsurf test suites.

An example test for core strings test has been added which
incrementaly fails alloctions allowing all error paths in
initialisation to be exercised.
2017-03-22 08:56:24 +00:00
Vincent Sanders
7706ba5beb fix mime sniff test with comment tag 2017-03-20 23:39:15 +00:00
Vincent Sanders
399d19ce25 extend mime sniff coverage with bad mp4 tests 2017-03-20 23:21:26 +00:00
Vincent Sanders
3c94073590 extend mime sniffing tests to cover rss and atom feed detection 2017-03-20 16:24:44 +00:00
Vincent Sanders
4eb7c5497e extend mime sniffing test coverage to most of current implementation 2017-03-20 15:27:08 +00:00
Vincent Sanders
e1779b426a add mime sniffing test cases for more header content types 2017-03-20 14:49:03 +00:00
Vincent Sanders
85e7bdf047 extend mime sniffing test coverage 2017-03-20 12:22:22 +00:00
Vincent Sanders
f39d78dc2e mimimal mime sniffing test 2017-03-20 00:48:11 +00:00
Vincent Sanders
eb5e5ff486 add test to messages buffer lookup api 2017-03-14 23:23:46 +00:00
Vincent Sanders
5395c2b98e free resources in messages test 2017-03-14 23:12:02 +00:00
Vincent Sanders
925c69f16a add additional string handling tests 2017-03-14 23:07:26 +00:00
Vincent Sanders
0e8ab04051 extend human readable size tests to cover buffer cycling 2017-03-14 13:49:23 +00:00
Vincent Sanders
f7c0ea5156 have more comprehensive separate test case for snstrjoin 2017-03-14 13:37:34 +00:00
Vincent Sanders
3d33157a86 add utility string handling 2017-03-14 11:59:04 +00:00
Vincent Sanders
fcc1a1e4c2 improve numerical ipv6 urldb prefix search test coverage 2017-03-13 23:52:56 +00:00
Vincent Sanders
2406acfeb3 fix urldb numerical v6 address handling 2017-03-13 23:44:06 +00:00
Vincent Sanders
089179a5b1 iterate urldb v6 numerical adresses as well as ipv4 2017-03-13 22:23:50 +00:00
Vincent Sanders
6eff2522c8 add urldb tests for content type setting 2017-03-13 22:04:38 +00:00
Vincent Sanders
d55d7f3e1e add urldb tests for urls which cannot be found 2017-03-13 21:53:42 +00:00
Vincent Sanders
ce6c0b9026 add persistance flag tests to urldb 2017-03-13 21:20:47 +00:00
Vincent Sanders
9a004753d2 extend the session addition test with all the urls from the add/set/get test 2017-03-13 20:07:56 +00:00
Vincent Sanders
44ad580a75 extend urldb tests with url creation, setting and getting operations 2017-03-13 16:44:30 +00:00
Vincent Sanders
363c32c07a extend nsurl component API test case 2017-03-10 11:36:02 +00:00
Vincent Sanders
fc1be0144c extend nsurl parent API tests 2017-03-10 11:06:51 +00:00
Vincent Sanders
510efac384 add nsurl get_utf8 test case 2017-03-10 10:22:17 +00:00
Vincent Sanders
b307fa4311 nsurl tests were not exercising unicode 2017-03-10 09:02:42 +00:00
Vincent Sanders
01d7392a6a replace tmpnam with something more suitable for the test files 2017-03-09 22:11:55 +00:00
Vincent Sanders
ae8623a0a2 fix compilation warnings in urldb test 2017-03-09 13:22:37 +00:00
Vincent Sanders
5ebec85282 actually check the generated database files against reference test data 2017-03-08 22:22:54 +00:00
Vincent Sanders
0da0dcc342 remove urldb_add_host and path from public API
The urldb_add_host and urldb_add_path API were only public for the
urldb test code which was calling them incorrectly in any case as the
url bloom filters were not updated so serialising and adding data to
entries was inconsistent.

This also changes the tests to use the urldb_add_url API which is less
buggy and results in a smaller, cleaner urldb API.
2017-03-08 13:27:00 +00:00