1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
|
2009-07-12 Nagappan Alagappan <nagappan@gmail.com>
* ooldtp.py (component.hasstate): Fixes bug # 586655, typo
hasstate example with more one state separator '+' instead of ','.
* ldtp.py (hasstate): Fixes bug # 586655, typo hasstate example
with more one state separator '+' instead of ','.
2009-05-10 Anupa Kamath <anupakamath@gmail.com>
* ldtp.py: Added functions verifyprogressbar and verifyprogressbarvisible
2009-05-10 Nagappan Alagappan <nagappan@gmail.com>
* ldtputils.py (GtkImportThread): Added new class which helped
LDTP to work as earlier in performance. But this one broke the
wnck get window list. Need to investigate.
2009-04-26 Nagappan Alagappan <nagappan@gmail.com>
* ldtp.py (ischildindexselected, ischildindexitemselected):
Implemented new functions to operate on nautilus layered pane
widget.
* Makefile.am: Included DESTDIR, which is required for build
environment to build ldtp packages.
2009-04-25 Ara Pulido <ara@ubuntu.com>
* ooldtp.py (component.getchild): Fixed bug Bug # 547572 –
Components should be exposed in a hierarchical way.
2009-04-25 Nagappan Alagappan <nagappan@gmail.com>
* ldtputils.py: generatemouseevent was failing as the gtk events
after importing were not processed. With this fix, now the
generatemouseevent function works as expected.
* ldtp.py (ischildselected, ischilditemselected, unselectindex)
(unselectitemindex, selecteditemcount, unselectitem, selectall)
(unselectall): Implemented new functions to operate on nautilus
layered pane widget.
2009-04-09 Nagappan Alagappan <nagappan@gmail.com>
* ooldtp.py (context.getchild): Added parent argument to search
for a given child based on hierarchy, based on b.g.o bug # 547572.
* ldtp.py (getchild): Added parent argument to search for a given
child based on hierarchy, based on b.g.o bug # 547572.
2009-04-08 Nagappan Alagappan <nagappan@gmail.com>
* ldtpeditor (LdtpEditorGui.__init__): Fixes bug # 573103, thanks
to Sandro Millien <msp@lloedy.com>.
* Makefile.am: Fixes bug # 573103, thanks to Sandro Millien
<msp@lloedy.com>.
2009-04-08 Willie Walker <william.walker@sun.com>
* ldtp.py: LDTP should use LOGNAME instead of (or in addition to)
USER, fixes bug # 578609.
2009-04-08 Nagappan Alagappan <nagappan@gmail.com>
* ldtp.py (generatexml): Added delay of 1 second, as there are
lots of a11y issue in SLED11, Ubuntu 8.04.
2009-03-23 Nagappan Alagappan <nagappan@gmail.com>
* ldtputils.py (imagecapture): Checked for wnck import.
2009-03-15 Sandro Millien <msp@lloedy.com>
* ldtp.py (launchapp2): Calls launchapp internally with
appundertest as well based on the argument.
2009-03-12 Nagappan Alagappan <nagappan@gmail.com>
* ldtprunner (main): Added new function to use ldtprunner in
pythonic way apart from running it as a command line option.
2009-03-12 Ara Pulido <ara@ubuntu.com>
* ooldtp.py (component.getrole): Added new method to get the role
of given object. Fixes bug # 575120.
2009-03-02 Nagappan Alagappan <nagappan@gmail.com>
* ldtp.py (getresponse): Added 1 second delay, when we get invalid
response or timeout.
* ldtprunner: Based on tac <Junyuan.Tan at Sun.COM> suggestion, fixed
script file to use relevant path as ldtprunner XML file.
http://lists.freedesktop.org/archives/ldtp-dev/2009-February/000772.html
2009-03-01 Eitan Isaacson <eitan@ascender.com>
* ldtputils.py: Use wnck library to get the window id list, rather
than LTFX digwin.
2009-02-09 Nagappan A <nagappan@gmail.com>
* ldtp.py: Log all verification results as warnings in log file
instead of error. Also don't take screenshot, for any
verifications.
2009-02-04 Nagappan Alagappan <nagappan@gmail.com>
* ldtprunner (executescript): Now uses ldtp.logFailures, when
exception is thrown, advantage of using this is, it takes
screenshot on failure. Modified based on request from Ara Pulido
<ara@ubuntu.com>
* ldtp.py: Raise msg.Value incase of exception, instead of
converting it to a string and then raising. Which avoids adding
u'' string in the log file. Modified based on request from Ara
Pulido <ara@ubuntu.com>
(getchild): Now takes screenshot on failure.
2009-02-03 Nagappan Alagappan <nagappan@gmail.com>
* ldtputils.py: Log error reports on failure.
* ldtprunner (executescript): Work around to log the error
message, when the error is not reported by ldtp.py or ldtputils.py.
* ldtp.py: Fixed reporting of warning messages.
2009-02-02 Nagappan A <nagappan@gmail.com>
* ldtp.py: Fixed warnings reported by pychecker.
(appundertest): Added new function to find the window name first
on the given application, rather than the complete list of running
applications.
* ldtprunner (executeldtp): Added code to parse appundertest tag,
if available then call ldtp.appundertest with the given
application name.
2009-01-31 Nagappan A <nagappan@gmail.com>
* ldtp.py (startlog): Now takes screenshot folder as an argument,
to dump the screenshot incase of failure.
raise LdtpExecutionError message with the function call just
once, than repeating the same message.
* ldtprunner (executeldtp): Based on w
request, added screenshot folder to dump the screenshot instead of
dumping in the log folder.
* ooldtp.py: Fixed all the issue reported by Ara Pulido
<ara@ubuntu.com> based on pychecker output.
2009-01-29 Nagappan Alagappan <nagappan@gmail.com>
* ldtp.py (launchapp): Fixes the delay argument as reported by
Nathan Samson <nathansamson@gmail.com> bug # 19813 in bugs.fd.o.
2009-01-22 Nagappan A <nagappan@gmail.com>
* ldtputils.py (imagecapture): Take screenshot of the complete
desktop using pygtk, when possible, else use imagemagick import
utility.
* ldtpcodegen: Moved functions to methods under a class and code
restructuring
* ldtp.py (logFailures): Added new function to fix bug 567589 –
get_screenshot functionalty needed.
Log failures to log files on each failure, also take screenshot on
all failures.
(log): Log to /tmp/ldtp-$USER directory on failure, when the
logfile name doesn't exist.
2008-12-01 Nagappan A <nagappan@gmail.com>
* ldtp.py (getcursorposition): Fixed command name.
(verifyhidelist): Fixed command name.
2008-11-30 Nagappan A <nagappan@gmail.com>
* ooldtp.py (component.getobjectsize): Modified getobjsize to
getobjectsize.
* ldtp2 (ClientThread.handleClient): Set command failed by default
before handling the client request.
(ClientThread.handleRequest): Implemented getobjectlist, push
button, check box functionality.
2008-11-11 Nagappan A <nagappan@gmail.com>
* ldtp.py (getobjectsize): Renamed getobjsize to getobjectsize.
2008-11-06 Guofu Xu <Guofu.Xu@access-company.com>
* ldtp.py (launchapp): Added return values for remote execution.
2008-11-05 Nagappan A <nagappan@gmail.com>
* ldtp.py (generatexml): Print commands with name, instead of index.
2008-11-05 Guofu Xu <Guofu.Xu@access-company.com>
* ldtp.py (getfile, generatemd5, titlebarselectmenuitem): Added
new functions, specific to Access Company environment.
2008-10-29 Nagappan A <nagappan@gmail.com>
* ldtp.py: Fixed help messages.
* ldtprunner (executeldtp): Removed the required option of passing
logfilename tag.
* ldtp2: Added some initial functionality of porting LDTP to
python based.
2008-09-27 Nagappan A <nagappan@gmail.com>
* ldtp.py (guitimeout): Added _ldtpGuiTimeout global variable to
timeout the calls with LDTP engine.
(onwindowcreate): Re-designed the implementation of call, so that
we can avoid message peeking. Also create new thread / connection
for each callback registration.
(removecallback): Exit previously created thread.
2008-09-26 Nagappan A <nagappan@gmail.com>
* ldtp.py (getresponse): Removed code related to peek message.
(invokecallback): Now uses a separate connection for notification
packet.
2008-09-24 Nagappan A <nagappan@gmail.com>
* ooldtp.py (component.rightclick): Reduced number of arguments by
1.
* ldtp.py (getminvalue, getmaxvalue, getobjsize, getwindowsize):
Implemented new functions.
2008-09-12 Nagappan A <nagappan@gmail.com>
* ldtp.py (rightclick): Reduced number of arguments by 1.
2008-09-05 Shreyank Gupta <shreyankg@gmail.com>
* ldtpeditor (preferenceClicked): Code to store and retrive
store user preferences to editor.conf.
* ldtpeditor (convertClicked): Code to retrive preferenes from
editor.conf rather than the preferences widget
* editor.conf: New file that keeps track of user preferences
2008-08-27 Nagappan A <nagappan@gmail.com>
* ldtp.py (generatekeyevent): Convert the data value to string,
before generating the XML.
2008-08-17 Nagappan A <nagappan@gmail.com>
* ldtp.py (parseobjectlist): Fixes unicode encode error, required
for VMware Workstation globalization testing.
2008-08-12 Shreyank Gupta <shreyankg@gmail.com>
* ldtpeditor (LdtpEditorGui.convertClicked): Fixed the first
waittillguiexist bug for OO LDTP generation.
2008-08-13 Nagappan A <nagappan@gmail.com>
* ooldtp.py (component.gettextvalue): Fixes the bug #
547541. Thanks to Ara Pulido <ara@ubuntu.com> for reporting this
bug.
2008-08-12 Shreyank Gupta <shreyankg@gmail.com>
* ldtpeditor (LdtpEditorGui.convertClicked): Added code to
generate OO LDTP for waittillgui[not]exist functions.
2008-08-12 Nagappan A <nagappan@gmail.com>
* ldtp.py (generatexml): Initialized _argDebug with an empty
string.
2008-08-12 Shreyank Gupta <shreyankg@gmail.com>
* ldtpeditor (LdtpEditorGui): resolved ooldtp issues regarding
waittillguiexist() and Generate Data XML
2008-08-10 Shreyank Gupta <shreyankg@gmail.com>
* ldtpeditor (LdtpEditorGui): Added code to generate OO LDTP
code.
2008-08-06 Nagappan A <nagappan@gmail.com>
* ldtpcodegen (packet.sendpacket): Fixed UnicodeError exception.
2008-08-05 Shreyank Gupta <shreyankg@gmail.com>
* ldtpeditor (LdtpEditorGui): Fixed the string formatting.
2008-08-05 Nagappan A <nagappan@gmail.com>
* ldtp.py (launchapp): Thanks to Philipp Wagner
<PWAGNER@de.ibm.com> for identifying the issue. launchapp function
misses the - in atk-bridge when setting the environment variable.
2008-08-04 Nagappan A <nagappan@gmail.com>
* ldtpcodegen (packet.recvpacket): Bug reported by Philipp Wagner
<PWAGNER@de.ibm.com> on RHEL 5.x box. Thanks to Philipp. Fix for
the try / finally indentation for python version less than 2.5.
2008-07-31 Nagappan A <nagappan@gmail.com>
* ldtp.py (generatexml): Fixed generation of XML packet for
unicode strings, reported by Ara Pulido <ara@ubuntu.com>.
(parsexml): Fixed utf8 parsing bug.
2008-07-11 Shreyank Gupta <shreyankg@gmail.com>
* ldtpeditor.glade: Added dialogs necessary to implement user
defined window support.
* ldtpeditor: Added modules and Classes to implement dialogs for
user defined window support.
* appdata: new file that keeps track of the window names supported
by the application.
* Makefile.am: change to copy 'appdata' file to its specified
directory
2008-06-27 Nagappan A <nagappan@gmail.com>
* ldtpeditor: Removed copy / paste clip board code, which is by
default handled by PyGTK.
(LdtpEditorGui.playClicked): Modified app.playback to be invoked
as self.playback, which makes more sense than having app as
global.
* ldtp.py, ooldtp.py, ldtputils.py, ldtpcodegen: More of code
allignment.
2008-04-29 Nagappan A <nagappan@gmail.com>
* configure.in: Bumped version to 1.1.0.
2008-04-24 Nagappan A <nagappan@gmail.com>
* ldtputils.py (imagecapture): Don't use default resolution.
* ldtprunner: When format_exc is part of traceback library, then
use that instead of print_exc.
* ldtpeditor: When format_exc is part of traceback library, then
use that instead of print_exc.
* ldtpcodegen: When format_exc is part of traceback library, then
use that instead of print_exc.
* Makefile.am: Removed ldtprecord, command line recorder.
* ldtp.py: Let us not register our application under at-spi
application list. When format_exc is part of traceback library,
then use that instead of print_exc.
2008-03-31 Nagappan A <nagappan@gmail.com>
* ldtp.py (launchapp): Update function to take optional arguments.
2008-02-29 Nagappan A <nagappan@gmail.com>
* ldtp.py (gettabcount): Fixed return type.
(shutdown): Removed atexit callback functions.
2008-02-27 Nagappan A <nagappan@gmail.com>
* ldtpcodegen (packet): python 2.3 and 2.4 fixes for try finally
block.
* ldtp.py (gettabcount): Fixed command type passed internally
between the engine and the client.
(gettabname, menuitemenabled): Added new APIs.
2008-02-24 Nagappan A <nagappan@gmail.com>
* ldtpeditor (LdtpEditorGui.aboutClicked): Added about dialog
interface.
(LdtpEditorGui.convert_clicked): Just raise the exception in the
generated code directly.
* ldtprunner (executescript): Added one second delay between each
script in a group.
(replace_accessibility): If we are executing in a local box, then
try to enable accessibility.
* ldtputils.py (getFullPath): Moved function from ldtprunner to
this file.
2008-02-23 Nagappan A <nagappan@gmail.com>
* ldtp.py, ldtpcodegen, ldtpeditor: Updated LDTP version and
maintainer info.
* ooldtp.py: Updated list of API wrappers.
2008-02-18 Nagappan A <nagappan@gmail.com>
* ooldtp.py: Updated list of API wrappers.
* ldtp.py: Added INPUT and OUTPUT for all the API.
2008-02-11 Nagappan A <nagappan@gmail.com>
* ldtputils.py (imagecapture): Made the function to accept
optional arguments. If the output file name is not provided a temp
file, will be created and the user has to delete it. If window
name is not provided, then the complete X root window is captured.
* ldtpcodegen (packet.sendpacket): Fixed a crash, when the window
title is 'Save as...'. ... was given as an unicode data. Did a
workaround, just by capturing the exception.
(packet.recvpacket): Fixed hang, during exception, lock was not
released.
* ldtp.py (parsexml): If, the XML data transfered from server to
client is more than 512, the data part is written to a file and
the file name, with path is sent to the client. This function,
parses the new tag and reads the contents of file too.
(getchild): Added new function to get a list of childrens matchin
the component name or role name or both.
* Makefile.am: Added ooldtp.py entry.
* ooldtp.py : Added new file - Object oriented LDTP. A wrapper
over the existing LDTP architecture.
2008-01-29 Nagappan A <nagappan@gmail.com>
* ldtp.py (launchapp): Raised exception, if the application does
not exist. Back ported to work with python 2.3.
2008-01-15 Nagappan A <nagappan@gmail.com>
* ldtp.py (expandtablecell): Fixed component name argument, which
is being passed to the ldtp service.
2008-01-04 Nagappan A <nagappan@gmail.com>
* ldtprunner (executescript): Added optional tag, testcasename, if
this tag is present, then teststart, testend, pass, fail logs will
be generated. To simplify the logging functions in the LDTP test
scripts.
* ldtpeditor (convert_clicked): Removed the generation of
teststart, testend, pass, fail log functions.
* ldtpeditor.glade: Modified quit1 as quit.
* ldtp.py (releasecontext): Modified arguments as optional.
2007-12-06 Nagappan A <nagappan@gmail.com>
* ldtpcodegen: Fixed minor bug fixes in parsing the received packet.
* ldtpeditor, ldtpeditor.glade: Added new files.
* ldtputils.py: Fixed importing of statgrab library.
* ldtp.py: Moved logging related functions to ldtpcommon.py.
2007-11-09 Harishankaran K <sp2hari@gmail.com>
* ldtpeditor: Implemented the code for Play button.
2007-09-03 Nagappan A <anagappan@novell.com>
* ldtprunner, *.py, ldtpcodegen, ldtprecord: Updated all the files
for the new address in LGPL license.
2007-08-20 Nagappan A <anagappan@novell.com>
* ldtp.py (PollServer.start_polling_server): Updated the code to
call os._exit, instead of sys.exit as it was throwing an exception
when shutting down.
2007-08-14 Nagappan A <anagappan@novell.com>
* ldtp.py (log): In Solaris, the msg received with the exception
is an instance. So, we just need to interpret the instance and use
the respective string.
* ldtputils.py (waitnanoseconds): Implemented new function, which
will sleep for specified nano seconds.
2007-08-09 Nagappan A <anagappan@novell.com>
* ldtpcodegen (PollServer.handlePacket): Thread should exit
properly when stop command issued.
* ldtprecord (processDataFunction): Implemented code generation
for table cell, tree table cell, panel, right click.
* ldtp.py (setloglevel): Removed unnecessary print statements.
2007-07-27 Nagappan A <anagappan@novell.com>
* ldtp.py (log): Should handle cases, if priority is passed with
empty string or with a type other than string.
2007-06-26 Nagappan A <anagappan@novell.com>
* ldtprecord: Updated all the print statements to use " instead of '.
2007-05-16 Nagappan A <anagappan@novell.com>
* README: Added new file.
2007-05-14 Nagappan A <anagappan@novell.com>
* ldtprecord, ldtpcodegen: Added new code for recording.
* ldtplib: Created new ldtplib directory.
* ldtputils.py (pstats): Re-added the code for, capturing memory and
CPU utilization statistics for an application and its related
processes.
* ldtp.py: Removed code related to recording. Updated code to use
thread index and command index, instead of a random number
generated at run-time. Which was a perfomance issue.
(launchapp): If not a TCP environment, then launch the application
locally.
2007-03-07 Guofu Xu <Guofu.Xu@palmsource.com>
* ldtprunner (getElapsedTime): The number of hour was error when
_endTime great then 60. Bug # 415160 fixed.
2007-02-14 Nagappan A <anagappan@novell.com>
* ldtp.py (objtimeout, guitimeout): Added function to change the
default global timeout period for an object and a window.
* ldtp.py: Bumped version to 0.8.0.
2007-02-14 Guofu Xu <Guofu.Xu@palmsource.com>
* ldtprunner (executegroup): Added to track test case status, like
entering into test case, running a test case and exiting a test
case. So with this we can save and restore the status of given
test-case.
2007-01-30 Nagappan A <anagappan@novell.com>
* ldtprunner (executescript): Escape unicode message string.
* ldtp.py (guiexist): Now this function can be used to check
whether an object exist inside the given window.
2007-01-22 Nagappan A <anagappan@novell.com>
* ldtp.py (removecallback): Added new function to remove callback
functions that are registered through onwindowcreate.
2007-01-18 Nagappan A <anagappan@novell.com>
* ldtprunner (executeldtp): Log level can be set using ldtprunner
input XML file.
* ldtp.py (setloglevel): Now takes argument as string (CRITICAL,
DEBUG, INFO, WARNING) or python logging types.
(generatemouseevent): Modified the format of x and y from string
to int.
2007-01-04 Nagappan A <anagappan@novell.com>
* ldtprunner (executecategories): Added code to handle category
XML tag. Also now generates categorystart, end, status,
totaltimeinfo for a category.
(executegroup): Now generates groupstart, end, status, timeinfo
for a group.
(getElapsedTime): Modified the implementation to calculate time
[hours, minutes, seconds] and days.
* ldtp.py (LDTP_LOG_CATEGORYSTART, LDTP_LOG_CATEGORYEND)
(LDTP_LOG_CATEGORYSTATUS, LDTP_LOG_TIMEINFO)
(LDTP_LOG_TOTALTIMEINFO): Added new log levels, used by ldtprunner
as proposed by Palm Source.
2006-12-22 Nagappan A <anagappan@novell.com>
* ldtprunner (getElapsedTime): Added new function to calculate the
time elapsed.
2006-12-21 Nagappan A <anagappan@novell.com>
* ldtp.py (display): When DISPLAY is None, don't proceed further.
(TIMEINFO): Added timeinfo log, to log the elapsed time.
* ldtprunner (executegroup): Added timeinfo to calculate the time
elapsed to complete a group execution.
(executescript): Modified groupstatus / testcasestatus output
format.
2006-12-15 Nagappan A <anagappan@novell.com>
* ldtp.py (makeRecord, LdtpLogRecord, LdtpLogger): Added custom
logger functions and classes.
* ldtprunner (executegroup, executescript): Modified log argument
from warning to info.
2006-12-13 Nagappan A <anagappan@novell.com>
* ldtprunner: Fixes bug # 385416 - Need to connect remote ldtp by
ldtprunner.
2006-12-05 Prashanth Mohan <prashmohan@gmail.com>
* ldtp.py (setcursorposition): Corrected typo for command name
(getcursorposition): Corrected typo for command name
(stateenabled): Corrected typo for command name
2006-11-23 Nagappan A <anagappan@novell.com>
* ldtprunner (executecategories): Palm Source QA team suggested to
have 'category' level above group level. Also they want to have
'testcase' as tag name instead of 'group' tag.
* ldtp.py (log): Based on suggestion from Palm Source added
testcase start, stop, status.
2006-11-20 Rodney Dawes <dobey@novell.com>
* ldtp.py (class command): New class to enum the commands as integers
(generatexml): Take commandId integer argument instead of a string for
the command name, so that we can do less work in the engine
Convert the commandId to a string for writing to the XML
(class state): Enum the commands as integers instead of strings
Remove the __or__ override as python won't bitwise OR strings anyway,
and we don't need to change the behavior for integers
(other API method calls): Replace string command names with integer
enumeration values from the command class
2006-10-17 Rodney Dawes <dobey@novell.com>
* ldtp.py (press): New method so that we can press, without a full
click, on widgets. Currently only implemented for toggle buttons
(objectexist): New method to check that an object exists in the
widget hierarchy for a window
2006-10-25 Nagappan A <anagappan@novell.com>
* ldtp.py (invokemenu): Implemented new function to handle
embedded component object type
2006-10-12 Nagappan A <anagappan@novell.com>
* ldtp.py (bindtext): Set locale from client side, instead of
interpreting it from LDTP engine
(startldtplog, stopldtplog, ldtplog): Existing functions have been
renamed to new name
(startlog, stoplog, log): Now uses Python logging module
(setloglevel): Added new function to set the python logging module
log level explicitly, though the default is warning
(addlogger): User can add their own python logger by passing a
configuration file as an argument
(setlocale): Added new function to set the locale by user, though
the environment variable LANG is different
* ldtprunner: Modified command line parser to use OptionParser
python module
(executeldtp): Added a new tag to get the logger configuration
file
2006-09-28 Rodney Dawes <dobey@novell.com>
* Makefile.am: Need to pass $@ as the second argument to the compile
method in python, so that the output goes to the right place
2006-09-28 Rodney Dawes <dobey@novell.com>
* Makefile.am: Add bits to byte-compile the modules and install the
byte-compiled cache files as well
2006-09-27 Myron Walker <myron.walker@gmail.com>
* ldtp.py: Added the singleclickrow API implemented by Puneet
Mishra <punmish211@yahoo.com>.
2006-09-27 Nagappan A <anagappan@novell.com>
* ldtp.py (selectrow): Patched selectrow to take nMatches and the
default match is to find the first match (0th index).
(generatemouseevent): Added new function to generate mouse event
on the given X and Y coordinates
(generatekeyevent): Generate keyboard events on the currently
focused window.
(launchapp): Now takes the default arugment as 1, which will
enable accessibility (set accessibility environment variables)and
then start the application.
* ldtpcodegen.py (parsexml): Parses the sleep interval command
from XML and generates LDTP wait command.
(generate_python_code): Removed license.txt dependency.
* ldtprecord (parsexml): Modified the XML parsing tag from RECORD
to RESPONSE
2006-09-21 Rodney Dawes <dobey@novell.com>
* ldtp.py (remap): Update the documentation as undoremap () no longer
needs to be called after calling remap () and using the updated map
(undoremap): Add this method back in for compatibility, so that scripts
which already use it won't fail complaining that undoremap is undefined
Document undoremap as deprecated
2006-09-18 Nagappan A <anagappan@novell.com>
* ldtputils.py (execute): Throw exception if LTFX command not
found in the default executable PATH
2006-09-12 Nagappan A <anagappan@novell.com>
* ldtp.py (launchapp): launchapp can now take optional command
line argument
2006-09-11 Nagappan A <anagappan@novell.com>
* ldtp.py (launchapp): Moved launchapp from ldtputils.py to
ldtp.py
2006-08-31 Nagappan A <anagappan@novell.com>
* ldtp.py: Added functionality to ldtp to work from a remote
location. Thanks to Punit Mishra of Palm Source for providing the
patch.
2006-08-18 Nagappan A <anagappan@novell.com>
* ldtp.py (verifysetvalue): Fixed command argument
2006-08-17 Nagappan A <anagappan@novell.com>
* ldtp.py (getapplist): Implemented new function to get the list
of accessibility application window title, that are currently
opened.
2006-08-14 Harishankaran <sp2hari@gmail.com>
* ldtpcodegen.py (generatecommand): Generates dlg for font
chooser, file chooser, alert windows
2006-08-13 Nagappan A <anagappan@novell.com>
* ldtp.py: Now LdtpExecutionError will be raised with reason for
failure.
2006-08-01 Rodney Dawes <dobey@novell.com>
* Makefile.am (install-data-local): Installation will now obey
prefix path.
2006-08-01 Harishankaran <sp2hari@gmail.com>
* ldtprunner (executldtp) : Implemented check for logfile to include
~ , ., and .. in the log file path.
2006-08-01 Nagappan A <anagappan@novell.com>
* ldtp.py (generatexml, getresponse): Verbose text will be printed
on the console, iff LDTP_DEBUG environment variable is set.
* ldtputils.py (LdtpDataFileParser.setfilename): Verbose text will
be printed on the console, iff LDTP_DEBUG environment variable is
set.
2006-07-27 Prashanth Mohan <prashmohan@gmail.com>
* ldtp.py (parsexml): Fixed to encode response data as utf-8
encoding
2006-07-23 Nagappan A <nagappan@gmail.com>
* ldtputils.py (wait): Added wait function again.
2006-07-21 Nagappan A <nagappan@gmail.com>
* ldtp.py (hasstate): Implemented new function.
* ldtp.py (state): Added new class.
2006-07-07 S.Venkateswaran <wenkat.s@gmail.com>
* parsexml.py: Parser for the XML from the server to produce the
python action script
* genxml.py: Produces the data XML file for a recording
2006-07-07 S.Theyagarajan <theyaga@gmail.com>
* record.py: Client for recording.Used to pass commands to ldtp
server
2006-07-05 Prashanth Mohan <prashmohan@gmail.com>
* ldtp.py (generatexml): According to XML Specs, CDATA should not
be escaped. It was wrongly escaped earlier.
(remap): The Application Name is rundundant Input and the
application name instead of the window title was assumed to be the
pattern.
2006-06-27 Prashanth Mohan <prashmohan@gmail.com>
* ldtp.py (generatexml): XML strings sent to the server are not
escaped using the saxutils.escape function
2006-06-27 Nagappan A <nagappan@gmail.com>
* gldap.py (executegroup): Added comment, testcaseid tag to
logging based on Alex request Hao.Yu@palmsource.com
2006-06-19 Nagappan A <nagappan@gmail.com>
* ldtp.py (getresponse): Handle TypeError exception
* Makefile.am: Fixed installing to path by removing DESTDIR
2006-06-15 Nagappan A <nagappan@gmail.com>
* ldtp.py (stopscriptserver): New function implemented
2006-06-12 Nagappan A <nagappan@gmail.com>
* ldtp.py (parsexml): Fixed argument name as it was conflicting
with the xml module
2006-05-30 Nagappan A <nagappan@gmail.com>
* ldtputils.py (launchapp): Fixed issues in invoking the
application.
* ldtp.py (invokeltfxcallback): Initial ltfx callback handling
code has been implemented.
(getlabelatindex): New function has implemented.
2006-05-13 Prashanth Mohan <prashmohan@gmail.com>
* ldtp.py (gettabcount): Fixed Bug #341612
2006-05-11 Nagappan A <nagappan@gmail.com>
* ldtputils.py (launchapp): Modified os.execvp to
commands.getstatusoutput as the previous one is not working in few
distributions.
2006-05-11 Prashanth Mohan <prashmohan@gmail.com>
* ldtp.py (getcursorposition, setcursorposition): Added these
functions to close Bug #341391
2006-05-07 Prashanth Mohan <prashmohan@gmail.com>
* ldtp.py (mouseleftclick, mouserightclick, mousemove): Mouse
Registry events. Takes window name and object as argument
returning nothing.
* ldtp.py (enterstring): Keyboard registry event to enter string
2006-05-02 Nagappan A <nagappan@gmail.com>
* ldtp.py (parseobjectlist): If no elements in XML, just return
None
2006-04-26 Nagappan A <nagappan@gmail.com>
* ldtp.py (bindtext): Implemented new function
* ldtputils.py (launchapp, execute): Added new functions from
preivous releases and also all LTFX functions
2006-04-24 Nagappan A <nagappan@gmail.com>
* ldtp.py (startlog): Modified to overwrite the log file by
default
2006-04-21 Nagappan A <nagappan@gmail.com>
* ldtp.py (menucheck, menuuncheck): Added new function to check /
uncheck menu
2006-04-18 Nagappan A <nagappan@gmail.com>
* ldtp.py (reinitldtp): Implemented reinitldtp function
2006-04-17 Nagappan A <nagappan@gmail.com>
* ldtp.py (handle_client): Handle keyboard interrupts
2006-04-14 Nagappan A <nagappan@gmail.com>
* ldtp.py (invokecallback): New socket connection created when the
callback is invoked and all the send and received of the callback
functions are through the new socket fd
* ldtp.py (start_polling_server): Poll all the newly created
sockets. When handle_client returns None, polling will be quit
* ldtp.py (handle_client): Return None, when no data available
2006-04-12 Nagappan A <nagappan@gmail.com>
* ldtp.py (sendpacket, recvpacket): Implemented events lock to
avoid dead lock condtion and synchornize between threads
2006-04-10 Nagappan A <nagappan@gmail.com>
* ldtp.py (sendpacket, recvpacket): Use pool fd, for sending and
receiving data from / to ldtp engine
2006-04-03 Nagappan A <nagappan@gmail.com>
* ldtp.py (parsexml): Added LDTP_DELAY_CMD to delay each command
with the specified seconds
2006-03-29 Nagappan <nagappan@gmail.com>
* gldap.py (executescript): Pass / fail report of a group are now
logged in the XML.
2006-03-28 Nagappan <nagappan@gmail.com>
* ldtp.py (selectlabelsparentbyname): New API's implemented based
on bug # 336458.
2006-03-27 Nagappan <nagappan@gmail.com>
* ldtp.py (selecttextbyname): New API's implemented based on bug #
316044.
2006-03-16 Nagappan <nagappan@gmail.com>
* ldtp.py (PollServer.run): Handle all exception under a poll
thread
2006-03-15 Nagappan <nagappan@gmail.com>
* ldtp.py (PollServer.start_polling_server): Patch to fix
TypeError based on comment #6 in bug # 333090
* ldtp.py (generatexml, parsexml): Patch to fix bug # 333096 and
bug # 334512
* ldtp.py (getCData, parseobjectlist): New function implemented
due to above changes
* ldtp.py (getwindowlist, getobjectlist, getobjectinfo): Updated
to use parseobjectlist function
* ldtp.py (verifysettext): Patch to fix bug # 334396, Argument
variable name mismatch fix
2006-03-09 Nagappan <nagappan@gmail.com>
* ldtp.py (parsexml): Returns one more value, object handle to
data. Reason: If return value is in XML format and the respective
function needs to process it, then this object is requirement.
* ldtp.py (handle_packet): If self._peekResponsePacket is None,
then we directly checked _responseType, which is not initialized
and hit with an unbound exception. Fixed with a default value as
None to _responseType.
* ldtp.py (getwindowlist, getobjectlist, getobjectinfo,
getobjectproperty): Added new functions - Fix Bug # 333221.
* ldtp.py (start_polling_server): Fixed Bug # 333090 comment # 3.
2006-03-03 Nagappan <nagappan@gmail.com>
* ldtp.py (selectrowpartialmatch): Fixes bug # 333090
2006-02-24 Nagappan <nagappan@gmail.com>
* ldtp.py (selecttext): Added new API selecttext - bug #323445
2006-02-15 Nagappan A <nagappan@gmail.com>
* ldtp.py: Removed keyboardinterrupted function, _keyboardIntFlag,
_notificationflag variables.
2006-02-06 Veerapuram Varadhan <v.varadhan@novell.com>
* Makefile.am: Install in $DESTDIR
2006-02-06 Veerapuram Varadhan <v.varadhan@novell.com>
* Makefile.am: Initial version.
* Makefile: Removed from cvs.
2006-01-30 Nagappan A <nagappan@gmail.com>
* glday.py: Added traceback log incase of any unexpected failure
* ldtp.py: Process packet if its not equal to None to avoid an
exception
2006-01-27 Nagappan A <nagappan@gmail.com>
* gldap.py (executescript), (executeldtp): Handled
KeyboardInterrupt exception
* *.py: Updated Copyright license year
* ldtp.py: Implemented all the missing functions, Modified the
code based on Varadhan suggestion. All the packets will be peeked
from socket and if its appropriate for the current called
function, then the actual packet will be retrieved from the
socket. A new randomId logic has been introduced. Each calling
function should send a random id and should wait for the random id
in the response. Callback invocation happens in a new thread. At
any point of time, only one callback method can be invoked. Code
to handle, If ldtp server is not running, then invoke it.
2006-01-12 Nagappan A <nagappan@gmail.com>
* Updated gldap.py to new ldtp exception format
* Modified return values in functions in ldap.py
* Added setcontext, selectrow, selectrowindex functions
2005-12-06 Prasanth Mohan <prashmohan@gmail.com>
2005-12-06 Venkateswaran S <wenkat.s@gmail.com>
* Implemented initial version of new python wrapper to LDTP
|