mercurial/HGTestCase.st
author Jan Vrany <jan.vrany@fit.cvut.cz>
Fri, 20 Sep 2013 01:36:27 +0100
changeset 347 fd2fd4ba9fe7
parent 335 7e19ab19148b
child 369 cc7b604a456a
permissions -rw-r--r--
Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
     1
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
     2
stx:libscm - a new source code management library for Smalltalk/X
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
     3
Copyright (C) 2012-2013 Jan Vrany
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
     4
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
     5
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
     6
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
     7
License as published by the Free Software Foundation; either
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
     8
version 2.1 of the License. 
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
     9
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    10
This library is distributed in the hope that it will be useful,
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    11
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    12
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    13
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    14
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    15
You should have received a copy of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    16
License along with this library; if not, write to the Free Software
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    17
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
    18
"
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    19
"{ Package: 'stx:libscm/mercurial' }"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    20
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    21
TestCase subclass:#HGTestCase
323
7a39e728a3ac When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 321
diff changeset
    22
	instanceVariableNames:'repositories hgScmEnabled scm scmPerPackage tryLocalSourceFirst'
100
7e2196730455 Test fixes. Added library description & copyright.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
    23
	classVariableNames:'Verbose'
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    24
	poolDictionaries:''
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    25
	category:'SCM-Mercurial-Tests'
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    26
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    27
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    28
!HGTestCase class methodsFor:'documentation'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    29
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
    30
copyright
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
    31
"
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    32
stx:libscm - a new source code management library for Smalltalk/X
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    33
Copyright (C) 2012-2013 Jan Vrany
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    34
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    35
This library is free software; you can redistribute it and/or
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    36
modify it under the terms of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    37
License as published by the Free Software Foundation; either
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    38
version 2.1 of the License. 
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
    39
335
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    40
This library is distributed in the hope that it will be useful,
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    41
but WITHOUT ANY WARRANTY; without even the implied warranty of
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    42
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    43
Lesser General Public License for more details.
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    44
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    45
You should have received a copy of the GNU Lesser General Public
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    46
License along with this library; if not, write to the Free Software
7e19ab19148b Changed license to LGPL2.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 326
diff changeset
    47
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301  USA
210
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
    48
"
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
    49
!
54a73fa50d40 Added copyright notice.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 183
diff changeset
    50
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    51
documentation
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    52
"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    53
    An anbstract base class for Mercurial tests
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    54
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    55
    [author:]
275
ad4e4540781e Fixed tests - make sure SourceCodeManager is set.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 273
diff changeset
    56
	Jan Vrany <jan.vrany@fit.cvut.cz>
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    57
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    58
    [instance variables:]
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    59
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    60
    [class variables:]
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    61
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    62
    [see also:]
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    63
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    64
"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    65
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    66
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    67
!HGTestCase class methodsFor:'accessing'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    68
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    69
resources
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    70
    ^Array with: HGRepositoriesResource
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    71
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    72
    "Created: / 19-09-2012 / 18:55:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    73
    "Modified: / 17-10-2012 / 13:01:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    74
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    75
76
f047cf2fc688 HGTests: tests for not yet supported features commented.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    76
!HGTestCase class methodsFor:'testing'!
f047cf2fc688 HGTests: tests for not yet supported features commented.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    77
f047cf2fc688 HGTests: tests for not yet supported features commented.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    78
isAbstract
f047cf2fc688 HGTests: tests for not yet supported features commented.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    79
    ^self == HGTestCase
f047cf2fc688 HGTests: tests for not yet supported features commented.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    80
f047cf2fc688 HGTests: tests for not yet supported features commented.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    81
    "Created: / 17-11-2012 / 11:00:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
f047cf2fc688 HGTests: tests for not yet supported features commented.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    82
! !
f047cf2fc688 HGTests: tests for not yet supported features commented.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 69
diff changeset
    83
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    84
!HGTestCase methodsFor:'asserting'!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    85
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    86
should: block raise: error withMessage: msg
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    87
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    88
    <resource: #skipInDebuggersWalkBack>
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    89
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    90
    ^self should: block raise: error suchThat: [:ex|
275
ad4e4540781e Fixed tests - make sure SourceCodeManager is set.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 273
diff changeset
    91
	ex description = msg
ad4e4540781e Fixed tests - make sure SourceCodeManager is set.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 273
diff changeset
    92
	].
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    93
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    94
    "Created: / 04-02-2013 / 11:13:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    95
    "Modified (format): / 04-02-2013 / 12:35:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    96
! !
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
    97
93
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    98
!HGTestCase methodsFor:'debugging'!
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
    99
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   100
dumpRepositoryLog: repo
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   101
    ^self dumpRepositoryLog: repo on: Transcript sender: thisContext sender
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   102
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   103
    "Created: / 22-11-2012 / 11:08:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   104
!
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   105
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   106
dumpRepositoryLog: repo on: stream
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   107
    self dumpRepositoryLog: repo on: stream sender: thisContext sender.
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   108
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   109
    "Created: / 22-11-2012 / 11:10:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   110
!
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   111
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   112
dumpRepositoryLog: repo on: stream sender: sender
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   113
100
7e2196730455 Test fixes. Added library description & copyright.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 93
diff changeset
   114
    Verbose == true ifFalse:[ ^ self ].
93
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   115
    stream cr.
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   116
    stream nextPutAll: '+-- hg log '; nextPutAll: repo pathName; nextPutAll:' -- '; cr.
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   117
    stream nextPutAll: '+-- sender: '; nextPutAll: sender printString ; nextPutAll:' -- '; cr.
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   118
    (OperatingSystem getFullCommandOutputFrom:'hg log ', repo pathName) do:[:line|
275
ad4e4540781e Fixed tests - make sure SourceCodeManager is set.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 273
diff changeset
   119
	stream nextPutAll:'| '; nextPutAll: line; cr.
93
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   120
    ].
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   121
    stream nextPutAll: '+------------- '; cr.
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   122
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   123
    "Created: / 22-11-2012 / 11:10:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   124
! !
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   125
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   126
!HGTestCase methodsFor:'private'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   127
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   128
performTest
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   129
93
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   130
    HGAuthorQuery answer: (testSelector , ' <', testSelector , '@', self class name, '>') do:[
347
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   131
        Class updateChangeFileQuerySignal answer: false do:[
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   132
            | savedProject |
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   133
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   134
            savedProject := Project current.
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   135
            Project current: Project new.
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   136
            [
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   137
                super performTest.
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   138
            ] ensure:[
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   139
                Project current: savedProject
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   140
            ].
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   141
        ]
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   142
    ].
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   143
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   144
    "Created: / 30-09-2012 / 10:02:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
347
fd2fd4ba9fe7 Improvement in HGTestCase. Do not update changefile and use temporary changeset when running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 335
diff changeset
   145
    "Modified: / 20-09-2013 / 01:22:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   146
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   147
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   148
!HGTestCase methodsFor:'running'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   149
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   150
setUp
275
ad4e4540781e Fixed tests - make sure SourceCodeManager is set.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 273
diff changeset
   151
    scm := false.
273
11eace2b9f54 Test fix: make sure HGSourceCodeManager is enabled before running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 223
diff changeset
   152
    hgScmEnabled := HGSourceCodeManager shownInBrowserMenus.
275
ad4e4540781e Fixed tests - make sure SourceCodeManager is set.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 273
diff changeset
   153
    scm := (Smalltalk at:#SourceCodeManager).
319
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   154
    scmPerPackage := AbstractSourceCodeManager managerPerMatchingModuleDefinitions.
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   155
    AbstractSourceCodeManager managerPerMatchingModuleDefinitions: scmPerPackage copy.
326
35f0d44ae290 Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
   156
    AbstractSourceCodeManager managerPerMatchingModuleDefinitions addFirst:
321
06405fddc70d Workaround for HGTestCase>>setUp.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 320
diff changeset
   157
        (AbstractSourceCodeManager::PackageAndManager package:'mocks:hg*' manager:HGSourceCodeManager).
319
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   158
    scm isNil ifTrue:[ Smalltalk at: #SourceCodeManager put: HGSourceCodeManager].            
323
7a39e728a3ac When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 321
diff changeset
   159
7a39e728a3ac When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 321
diff changeset
   160
    tryLocalSourceFirst := Class tryLocalSourceFirst.
7a39e728a3ac When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 321
diff changeset
   161
    Class tryLocalSourceFirst:true.
7a39e728a3ac When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 321
diff changeset
   162
7a39e728a3ac When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 321
diff changeset
   163
7a39e728a3ac When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 321
diff changeset
   164
273
11eace2b9f54 Test fix: make sure HGSourceCodeManager is enabled before running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 223
diff changeset
   165
    HGSourceCodeManager shownInBrowserMenus: true.
167
73ede479a28f Bugfix - do not cache repositories by default.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 115
diff changeset
   166
    repositories:= OrderedCollection new.
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   167
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   168
    "Created: / 19-09-2012 / 19:01:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
326
35f0d44ae290 Support for #newest symbolic revision in HGSourceCodeManager>>streamForClass:...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 323
diff changeset
   169
    "Modified: / 09-07-2013 / 15:12:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   170
!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   171
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   172
tearDown
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   173
273
11eace2b9f54 Test fix: make sure HGSourceCodeManager is enabled before running tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 223
diff changeset
   174
    HGSourceCodeManager shownInBrowserMenus: hgScmEnabled.
275
ad4e4540781e Fixed tests - make sure SourceCodeManager is set.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 273
diff changeset
   175
    Smalltalk at: #SourceCodeManager put: scm.
319
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   176
    AbstractSourceCodeManager managerPerMatchingModuleDefinitions: scmPerPackage.
323
7a39e728a3ac When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 321
diff changeset
   177
    Class tryLocalSourceFirst: tryLocalSourceFirst.
319
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   178
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   179
    HGPackageModelRegistry current flush:'mocks*'.
93
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   180
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   181
    HGRepositoriesResource current directoryForRepositories directoryContentsAsFilenames do:[:e|
319
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   182
            [
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   183
                Verbose == true ifTrue:[
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   184
                    Transcript cr; show: '+-- removing '; showCR: e pathName.
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   185
                ].
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   186
                e asFilename recursiveRemove.
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   187
            ] on: Error do:[:ex|
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   188
                "Stupid windows"
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   189
                OperatingSystem isMSWINDOWSlike ifTrue:[
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   190
                    Delay waitForSeconds: 3.
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   191
                    e asFilename recursiveRemove.
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   192
                ] ifFalse:[
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   193
                    ex pass
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   194
                ].
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   195
            ]
949e73ab2551 Fix for tests.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 306
diff changeset
   196
        ].
93
2579830f6b61 Tests fixed. Not-yet-supported tests marked as skipped.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 76
diff changeset
   197
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   198
    repositories := nil.
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   199
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   200
    "Created: / 19-09-2012 / 19:03:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   201
    "Modified: / 30-09-2012 / 05:26:48 / jv"
323
7a39e728a3ac When running tests, make sure Class>>#tryLocalSourceFirst: has defined value.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 321
diff changeset
   202
    "Modified: / 08-07-2013 / 02:19:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   203
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   204
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   205
!HGTestCase methodsFor:'utilities'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   206
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   207
repositoryNamed: nm
174
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 167
diff changeset
   208
    ^self repositoryNamed: nm unpack: true
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 167
diff changeset
   209
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 167
diff changeset
   210
    "Created: / 19-09-2012 / 19:04:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 167
diff changeset
   211
    "Modified: / 14-01-2013 / 13:20:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 167
diff changeset
   212
!
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 167
diff changeset
   213
214
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   214
repositoryNamed: nm init: init
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   215
    | dir |
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   216
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   217
    dir := HGRepositoriesResource current directoryForRepositoryNamed: nm init: init.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   218
    repositories add:  dir.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   219
    ^HGRepository on: dir.
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   220
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   221
    "Created: / 04-02-2013 / 11:04:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   222
!
175e450bb8dd Better error handling in HGCommand (part 1).
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 210
diff changeset
   223
174
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 167
diff changeset
   224
repositoryNamed: nm unpack: unpack
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   225
    | dir |
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   226
174
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 167
diff changeset
   227
    dir := HGRepositoriesResource current directoryForRepositoryNamed: nm unpack: unpack.
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   228
    repositories add:  dir.
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   229
    ^HGRepository on: dir.
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   230
174
0d293012a897 Fixed commit to freshly created repository.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 167
diff changeset
   231
    "Created: / 14-01-2013 / 13:20:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   232
! !
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   233
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   234
!HGTestCase class methodsFor:'documentation'!
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   235
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   236
version_HG
115
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   237
b1ed2d29054b version_HG changed to return string.
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 100
diff changeset
   238
    ^ '$Changeset: <not expanded> $'
69
17045d49309f Refactoring: preparation for accessing changeset contents.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   239
! !
320
71293a1b6616 Initial version of HGInstaller.st...
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 319
diff changeset
   240