Paul Beckingham
299ecad49f
Tests: Converted to Python
2015-06-27 17:13:48 -04:00
Paul Beckingham
b7ad091d00
Updated copyright to 2015
2015-01-01 00:00:41 -05:00
Paul Beckingham
5413d3172b
TW-230, TW-1329
...
- TW-230 Filter tasks on partial UUIDs (thanks to Paul Kishimoto).
- TW-1329 Short UUIDs (thanks to Benjamin Weber).
2014-07-01 23:56:53 -04:00
Paul Beckingham
f7a68df299
Unit Tests
...
- Removed obsolete tests.
2014-06-11 06:35:03 -04:00
Paul Beckingham
77d93ef631
Unit Tests
...
- Removed useless setup/teardown tests, improving the signal to noise ratio.
2014-06-01 09:43:00 -04:00
Paul Beckingham
0b160292c0
Variant
...
- Implemented partial match for strings.
2014-05-27 00:08:07 -04:00
Paul Beckingham
523dce8f32
Code Cleanup
...
- Standardized headers.
2014-02-01 14:33:37 -05:00
Paul Beckingham
8ed92ca498
Copyright
...
- Bumped copyright to 2014, ready for release.
2014-01-01 13:32:22 -05:00
Paul Beckingham
ada6e49dab
Bug #1251
...
- #1251 tests should sanitize TASKDATA and TASKRC env vars (thanks to Jakub
Wilk).
2013-09-07 13:52:16 -04:00
Paul Beckingham
8af0a7f3ba
Merge branch 'master' into 2.3.0
...
Conflicts:
AUTHORS
CMakeLists.txt
INSTALL
NEWS
cmake.h.in
doc/man/task-faq.5.in
package-config/osx/README
scripts/utils/verify_l10n
src/API.h
src/Config.cpp
src/Context.cpp
src/DOM.cpp
src/Hooks.cpp
src/TransportShell.h
src/commands/CmdDiagnostics.cpp
src/commands/CmdShell.cpp
src/commands/CmdVersion.cpp
src/en-US.h
src/shell/Readline.h
src/wcwidth6.cpp
test/CMakeLists.txt
test/color.uda.t
test/duration.t.cpp
test/hook.on-launch.t
test/template.t
test/uuid.t
2013-04-07 17:56:59 -04:00
Paul Beckingham
864b46a1b1
Unit Tests
...
- Improved two tests that always fail around summer time clock changes, by
eliminating the dependence on 86,400.
- Fixed feature.891.t tests that fail on certain fortuitous random UUID
permutations. Now hard-coded UUID.
2013-03-11 23:05:30 -04:00
Paul Beckingham
1dccd29643
Copyright 2013
...
- Updated copyright notices.
2013-03-04 17:47:12 -05:00
Paul Beckingham
b1443e831b
Unit Tests
...
- Removed mention of synch.key from all unit tests. This is an obsolete file.
2012-10-01 23:56:09 -04:00
Owen Clarke
31769a1fa4
Portability
...
- Changed the interpreter of the test files to use /usr/bin/env to find
perl in the user's path instead of hard-coding /usr/bin/perl
2012-07-30 18:49:50 +10:00
Paul Beckingham
c20c025c8e
Bug
...
- Fixed a bug that caused a commond dateformat (YDM-HN) to be misinterpreted
as a UUID. Solution is to increase minimum partial UUID length from 9 to
14.
2012-07-17 18:30:58 -04:00
Paul Beckingham
da575c4043
Unit Tests
...
- Modified testing to accomodate new split between stdout/stderr.
2012-07-03 15:43:19 -04:00
Paul Beckingham
f4bfa1b2fd
Bug #995
...
- Fixed bug #995 , which mis-parsed UUIDs in filters as other elements (thanks
to Bryce Harrington).
- Nibbler no longer permits 8-character UUID abbreviations, because too often
they resemble other forms, such as '1111111d' which looks like a duration.
- Modified unit tests accordingly.
2012-04-29 00:28:28 -04:00
Paul Beckingham
7a45db4d0f
Feature #891
...
- Added feature #891 , which allows for leftmost partial matches of UUID values.
Makes direct comparisons for full-length values, and regular expressions for
partial values. Note that there is a minimum length of 8 hex digits.
- Added safety parsing mechanism that fails a partial UUID if immediately
followed by a hex digit. This allows for numbers longer than 8 digits to not
be misinterpreted as a UUID.
- Implemented Nibbler::getPartialUUID.
- Implemented unit tests.
@@ -1145,12 +1145,23 @@ const A3 A3::sequence (const A3& input) const
for (unsigned int i = 0; i < uuids.size (); ++i)
{
- if (ids.size ())
+ if (ids.size () + i > 0)
sequenced.push_back (Arg ("or", Arg::cat_op));
- sequenced.push_back (Arg ("uuid", Arg::type_string, Arg::cat_dom));
- sequenced.push_back (Arg ("=", Arg::cat_op));
- sequenced.push_back (Arg (uuids[i], Arg::type_string, Arg::cat_literal));
+ // A full-length UUID requires a string comparison.
+ if (uuids[i].length () == 36)
+ {
+ sequenced.push_back (Arg ("uuid", Arg::type_string, Arg::cat_dom));
+ sequenced.push_back (Arg ("=", Arg::cat_op));
+ sequenced.push_back (Arg (uuids[i], Arg::type_string, Arg::cat_literal));
+ }
+ // A UUID fragment is a leftmost comparison.
+ else
+ {
+ sequenced.push_back (Arg ("uuid", Arg::type_string, Arg::cat_dom));
+ sequenced.push_back (Arg ("~", Arg::cat_op));
+ sequenced.push_back (Arg ("^" + uuids[i], Arg::type_string, Arg::cat_rx));
+ }
}
sequenced.push_back (Arg (")", Arg::cat_op));
@@ -1674,11 +1685,11 @@ bool A3::is_uuid (Nibbler& n, std::string& result)
n.save ();
result = "";
std::string uuid;
- if (n.getUUID (uuid))
+ if (n.getPartialUUID (uuid))
{
result += uuid;
while (n.skip (',') &&
- n.getUUID (uuid))
+ n.getPartialUUID (uuid))
{
result += ',' + uuid;
}
@@ -1997,13 +2008,13 @@ bool A3::extract_uuid (
Nibbler n (input);
std::string uuid;
- if (n.getUUID (uuid))
+ if (n.getPartialUUID (uuid))
{
sequence.push_back (uuid);
while (n.skip (','))
{
- if (!n.getUUID (uuid))
+ if (!n.getPartialUUID (uuid))
throw std::string (STRING_A3_UUID_AFTER_COMMA);
sequence.push_back (uuid);
2012-02-19 22:27:40 -05:00