Shippable CI – integrace s Nette Testerem

Upozornění: Tohle vlákno je hodně staré a informace nemusí být platné pro současné Nette.
Filip111
Člen | 244
+
0
-

Ahoj, nemáte někdo zkušenosti s napojením nette testeru na Shippable?
Chvíli si s tím hraju – provede se sync, natáhnou se composerem závislosti, ale při spuštění script s testy dostanu jen Permission denied.
/home/shippable/d0c50e91-b9b7-4718-86bf-466edc468c2c.sh: line 84: ./tests/run.sh: Permission denied

Soubor shippable.yml vypadá následovně:

language: php
php:
  - 5.3

before_script:
  - mkdir -p shippable/codecoverage
  - mkdir -p shippable/testresults
  - composer install

script:
  - ./tests/run.sh

Nakopnutí zpracování výsledků testů a přenesení do ./shippable/testresults by mi taky pomohlo.

Díky.

Unlink
Člen | 298
+
+2
-

Povedal by som že niečo ako:
- chmod a+x tests/run.sh

Marek Šneberger
Člen | 130
+
0
-

composer install by měl být v sekci install, ne v before_script.

Co se týče samotného spouštění testů, máme v sekci script něco jako - ./vendor/bin/tester -s -j 32 -c ./tests/php.ini-unix ./tests

llook
Člen | 407
+
+4
-

Taky si myslím, že tests/run.sh nemá práva spouštění. Tohle právo se dá verzovat v Gitu:

git update-index --chmod=+x --add tests/run.sh
git commit -m 'Added executable permition to tests/run.sh'
Filip111
Člen | 244
+
0
-

Všem díky za pomoc – dal bych si pár facek, problém byl samozřejmě s oprávněním pro spuštění.
Už jsem moc dlouho na windows, takže mě to vůbec nenapadlo. Pořád jsem hledal problém ve špatné cestě apod.

Ještě dotaz – sedí vám počet spuštěných testů ve výsledku testů?
Mám v testech celkem 18 assertů (2 soubory, celkem 5 metod s názvem test),
ve výsledcích testů ale vidím 52 passing, 11 skipped.
Zkoušel jsem jeden assert hodit do chyby, a potom vidím 51 passing, 1 failing, 11 skipped.

Netuším ale, kde se ty čísla berou. V xml generovaném nette testerem je něco jiného:

<?xml version="1.0" encoding="UTF-8"?>
<testsuites>
	<testsuite errors="0" skipped="0" tests="5" time="0.2" timestamp="2015-09-19T15:00:39">
		<testcase classname="tests/cases/ConditionTest.phpt [method=testOperators]" name="tests/cases/ConditionTest.phpt [method=testOperators]"/>
		<testcase classname="tests/cases/FilterInputTest.phpt [method=testTextConditionValue]" name="tests/cases/FilterInputTest.phpt [method=testTextConditionValue]"/>
		<testcase classname="tests/cases/FilterInputTest.phpt [method=testTextStringValue]" name="tests/cases/FilterInputTest.phpt [method=testTextStringValue]"/>
		<testcase classname="tests/cases/FilterInputTest.phpt [method=testSelectGettingContro...]" name="tests/cases/FilterInputTest.phpt [method=testSelectGettingContro...]"/>
		<testcase classname="tests/cases/FilterInputTest.phpt [method=testTextGettingControl]" name="tests/cases/FilterInputTest.phpt [method=testTextGettingControl]"/>
	</testsuite>
</testsuites>