git/GitTests.st
author convert-repo
Sat, 08 Jun 2019 03:28:26 +0000
changeset 873 e7944a5cb335
parent 481 0cfef855baa2
permissions -rw-r--r--
update tags
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     1
"{ Package: 'stx:libscm/git' }"
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     2
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     3
TestCase subclass:#GitTests
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     4
	instanceVariableNames:'repositories'
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     5
	classVariableNames:''
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     6
	poolDictionaries:''
24
bce2a03d1070 - GitIndex
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 23
diff changeset
     7
	category:'SCM-Git-Core-Tests'
12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     8
!
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
     9
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    10
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    11
!GitTests class methodsFor:'accessing'!
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    13
resources
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    14
    ^Array with: GitRepositoriesResource
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    15
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    16
    "Created: / 19-09-2012 / 18:55:52 / Jan Vrany <jan.vrany@fit.cvut.cz>"
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    17
! !
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    18
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    19
!GitTests methodsFor:'accessing'!
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    20
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    21
repositoryNamed: nm
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    22
    | dir |
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    23
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    24
    dir := GitRepositoriesResource current directoryForRepositoryNamed: nm.
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    25
    repositories add:  dir.
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    26
    ^GitRepository open: dir.
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    27
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    28
    "Created: / 19-09-2012 / 19:04:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    29
! !
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    30
20
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    31
!GitTests methodsFor:'private'!
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    32
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    33
performTest
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    34
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    35
    GitCommitterQuery answer: (GitSignature name: self class name email: (self class name , '@nowhere')) do:[
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    36
        super performTest
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    37
    ].
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    38
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    39
    "Created: / 30-09-2012 / 10:02:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    40
! !
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    41
12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    42
!GitTests methodsFor:'running'!
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    43
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    44
setUp
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    45
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    46
    repositories := OrderedCollection new.
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    47
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    48
    "Created: / 19-09-2012 / 19:01:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    49
!
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    50
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    51
tearDown
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    52
21
cc91320af6c6 - Few fixes for windows
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 20
diff changeset
    53
    repositories do:[:e|
cc91320af6c6 - Few fixes for windows
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 20
diff changeset
    54
        [
cc91320af6c6 - Few fixes for windows
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 20
diff changeset
    55
            e asFilename recursiveRemove
cc91320af6c6 - Few fixes for windows
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 20
diff changeset
    56
        ] on: Error do:[
cc91320af6c6 - Few fixes for windows
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 20
diff changeset
    57
            "Stupid windows"
cc91320af6c6 - Few fixes for windows
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 20
diff changeset
    58
        ]
cc91320af6c6 - Few fixes for windows
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 20
diff changeset
    59
    ].
12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    60
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    61
    "Created: / 19-09-2012 / 19:03:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
21
cc91320af6c6 - Few fixes for windows
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 20
diff changeset
    62
    "Modified: / 30-09-2012 / 05:26:48 / jv"
12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    63
! !
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    64
15
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    65
!GitTests methodsFor:'tests - basic workflow'!
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    66
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    67
test_01a
12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    68
15
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    69
    "Test modification of working copy and commit back"
12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    70
15
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    71
    | repo wc file1_txt |
12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    72
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    73
    repo := self repositoryNamed: 'test_repo_01'.
20
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    74
    "
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    75
    UserPreferences fileBrowserClass openOn: repo directory.    
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    76
    "
15
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    77
    wc := repo workingCopy.
20
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    78
    self assert: wc commit oid = (GitOid fromString:'541c09aa382a56ec87b813b3fb6ea84e17909889').
12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    79
15
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    80
    "Modify some file"
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    81
    file1_txt := wc / 'file1.txt'.
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    82
    self assert: file1_txt isModified not.
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    83
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    84
    (file1_txt) writingFileDo:[:s|
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    85
        s nextPutAll: 'modified from test_01a'.
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    86
    ].
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    87
    self assert: file1_txt isModified.
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    88
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    89
    wc stage.
18
d359fb6d415c - Basic simple commit works - timestamp in signatures are messed up, though.
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 15
diff changeset
    90
    wc commit: 'test_01a commit 1'.
15
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    91
20
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    92
    self assert: wc commit oid ~= (GitOid fromString:'541c09aa382a56ec87b813b3fb6ea84e17909889').
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    93
    self assert: wc commit message = 'test_01a commit 1'.
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    94
    self assert: wc commit parents size == 1.
24ae01b36807 fixes, test_01a finished & passed on linux
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 18
diff changeset
    95
    self assert: wc commit parents anElement oid = (GitOid fromString:'541c09aa382a56ec87b813b3fb6ea84e17909889').
15
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    96
40921d056f87 - GitRepository
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 12
diff changeset
    97
    "Created: / 19-09-2012 / 23:06:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    98
! !
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
    99
29
621143a76ec5 - GitTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 27
diff changeset
   100
!GitTests class methodsFor:'documentation'!
621143a76ec5 - GitTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 27
diff changeset
   101
621143a76ec5 - GitTests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents: 27
diff changeset
   102
version_SVN
481
0cfef855baa2 Initial import from upstream repository
Jan Vrany <jan.vrany@fit.cvut.cz>
parents: 29
diff changeset
   103
    ^ '$Id$'
12
59d59fc32b71 - added infrastructure for tests
vranyj1@bd9d3459-6c23-4dd9-91de-98eeebb81177
parents:
diff changeset
   104
! !