diff --git a/.travis.yml b/.travis.yml new file mode 100644 index 0000000..20aa269 --- /dev/null +++ b/.travis.yml @@ -0,0 +1,12 @@ +sudo: false +dist: trusty +language: php +php: + - 7 + +script: + - php run-tests.php + +notifications: + email: + - $NOTIFICATION_EMAIL diff --git a/run-tests.php b/run-tests.php new file mode 100755 index 0000000..2e50152 --- /dev/null +++ b/run-tests.php @@ -0,0 +1,65 @@ +#!/bin/env php +testDirectory($dir); +} + +$errors = $testHelper->errors; +if (count($errors) > 0) { + foreach($errors as $dir => $scriptErrors) { + print "Directory '$dir'\n"; + + foreach($scriptErrors as $error) { + print " $error\n"; + } + } + + exit(1); +} + +print "No errors were found"; + + +class TestHelper { + public $errors = array(); + + /** + * Tests the files in a directory + */ + public function testDirectory($dir) { + $errors = array(); + $jsonData = file_get_contents($dir . "/info.json"); + $data = json_decode($jsonData, true); + + if ($data["name"] == "") { + $errors[] = "No name was entered!"; + } + + if ($data["identifier"] == "") { + $errors[] = "No identifier was entered!"; + } + + if ($data["description"] == "") { + $errors[] = "No description was entered!"; + } + + $script = $data["script"]; + if ($script == "") { + $errors[] = "No script was entered!"; + } elseif (!file_exists($dir . "/" . $script)) { + $errors[] = "Script '$script' doesn't exist!"; + } + + if ($data["version"] == "") { + $errors[] = "No version was entered!"; + } + + if (count($errors) > 0) { + $this->errors[$dir] = $errors; + } + } +}