[R/getAvailablePoints.R:3:20:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L3) *style:* **Commas should always have a space after.**
```r
test <- function(a,point,c){
                   ^
```
[R/getAvailablePoints.R:3:26:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L3) *style:* **Commas should always have a space after.**
```r
test <- function(a,point,c){
                         ^
```
[R/getAvailablePoints.R:4:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L4) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(!is.null(point)){
    ^
```
[R/getAvailablePoints.R:5:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L5) *warning:* **no visible binding for '<<-' assignment to ‘all_available_points’**
```r
    all_available_points<<-c(all_available_points,point)
    ^~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:5:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L5) *warning:* **no visible binding for global variable ‘all_available_points’**
```r
    all_available_points<<-c(all_available_points,point)
    ^~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:5:25:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L5) *style:* **Put spaces around all infix operators.**
```r
    all_available_points<<-c(all_available_points,point)
                       ~^~~~
```
[R/getAvailablePoints.R:5:51:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L5) *style:* **Commas should always have a space after.**
```r
    all_available_points<<-c(all_available_points,point)
                                                  ^
```
[R/getAvailablePoints.R:9:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L9) *style:* **Variable or function name should be snake_case.**
```r
pointsForAllTests<-function(point){
^~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:9:18:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L9) *style:* **Put spaces around all infix operators.**
```r
pointsForAllTests<-function(point){
                ~^~~
```
[R/getAvailablePoints.R:10:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L10) *warning:* **no visible binding for '<<-' assignment to ‘all_available_points’**
```r
  all_available_points<<-c(all_available_points,point)
  ^~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:10:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L10) *warning:* **no visible binding for global variable ‘all_available_points’**
```r
  all_available_points<<-c(all_available_points,point)
  ^~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:10:23:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L10) *style:* **Put spaces around all infix operators.**
```r
  all_available_points<<-c(all_available_points,point)
                     ~^~~~
```
[R/getAvailablePoints.R:10:49:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L10) *style:* **Commas should always have a space after.**
```r
  all_available_points<<-c(all_available_points,point)
                                                ^
```
[R/getAvailablePoints.R:13:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L13) *style:* **Variable or function name should be snake_case.**
```r
getAvailablePoints <-function(project_path){
^~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:13:20:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L13) *style:* **Put spaces around all infix operators.**
```r
getAvailablePoints <-function(project_path){
                   ^~~
```
[R/getAvailablePoints.R:15:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L15) *warning:* **no visible binding for '<<-' assignment to ‘all_available_points’**
```r
  all_available_points <<- c()
  ^~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:16:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/getAvailablePoints.R:16:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L16) *style:* **Variable or function name should be snake_case.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
  ^~~~~~~~~
```
[R/getAvailablePoints.R:16:31:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L16) *style:* **Put spaces around all infix operators.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
                             ~^~
```
[R/getAvailablePoints.R:18:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L18) *warning:* **no visible global function definition for ‘test_file’, Did you mean 'testFile'?**
```r
    test_file(testFile, reporter = "silent",load_helpers=FALSE)
    ^~~~~~~~~
```
[R/getAvailablePoints.R:18:45:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L18) *style:* **Commas should always have a space after.**
```r
    test_file(testFile, reporter = "silent",load_helpers=FALSE)
                                            ^
```
[R/getAvailablePoints.R:18:57:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L18) *style:* **Put spaces around all infix operators.**
```r
    test_file(testFile, reporter = "silent",load_helpers=FALSE)
                                                       ~^~
```
[R/getAvailablePoints.R:20:10:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/getAvailablePoints.R#L20) *warning:* **no visible binding for global variable ‘all_available_points’**
```r
  return(all_available_points)
         ^~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:2:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L2) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonResults <- function(testthatOutput) {
^~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:2:32:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L2) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonResults <- function(testthatOutput) {
                               ^~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:3:11:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L3) *style:* **Use <-, not =, for assignment.**
```r
  results = list()
          ^
```
[R/ResultsJsonParser.R:5:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L5) *style:* **Variable or function name should be snake_case.**
```r
    testName <- test$test
    ^~~~~~~~
```
[R/ResultsJsonParser.R:6:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L6) *style:* **Variable or function name should be snake_case.**
```r
    testPoints <- test$points
    ^~~~~~~~~~
```
[R/ResultsJsonParser.R:7:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L7) *style:* **Variable or function name should be snake_case.**
```r
    testMessage <- ""
    ^~~~~~~~~~~
```
[R/ResultsJsonParser.R:10:7:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L10) *style:* **Variable or function name should be snake_case.**
```r
      testStatus <- "pass"
      ^~~~~~~~~~
```
[R/ResultsJsonParser.R:12:7:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L12) *style:* **Variable or function name should be snake_case.**
```r
      testStatus <- "fail"
      ^~~~~~~~~~
```
[R/ResultsJsonParser.R:13:7:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L13) *style:* **Variable or function name should be snake_case.**
```r
      testMessage <- .CreateMessageForTestWithFailures(test)
      ^~~~~~~~~~~
```
[R/ResultsJsonParser.R:13:22:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L13) *warning:* **no visible global function definition for ‘.CreateMessageForTestWithFailures’**
```r
      testMessage <- .CreateMessageForTestWithFailures(test)
                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:16:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L16) *style:* **Lines should not be more than 80 characters.**
```r
    testResult <- .CreateJsonTestResult(testStatus, testName, testMessage,testPoints, "")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:16:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L16) *style:* **Variable or function name should be snake_case.**
```r
    testResult <- .CreateJsonTestResult(testStatus, testName, testMessage,testPoints, "")
    ^~~~~~~~~~
```
[R/ResultsJsonParser.R:16:19:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L16) *warning:* **no visible global function definition for ‘.CreateJsonTestResult’**
```r
    testResult <- .CreateJsonTestResult(testStatus, testName, testMessage,testPoints, "")
                  ^~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:16:75:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L16) *style:* **Commas should always have a space after.**
```r
    testResult <- .CreateJsonTestResult(testStatus, testName, testMessage,testPoints, "")
                                                                          ^
```
[R/ResultsJsonParser.R:18:29:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L18) *style:* **Put spaces around all infix operators.**
```r
    results[[length(results)+1]] <- testResult
                           ~^~
```
[R/ResultsJsonParser.R:20:10:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L20) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
  return (results)
         ^
```
[R/ResultsJsonParser.R:24:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonTestResult <- function(testStatus, testName, testMessage,
^~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:24:35:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonTestResult <- function(testStatus, testName, testMessage,
                                  ^~~~~~~~~~
```
[R/ResultsJsonParser.R:24:47:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonTestResult <- function(testStatus, testName, testMessage,
                                              ^~~~~~~~
```
[R/ResultsJsonParser.R:24:57:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.CreateJsonTestResult <- function(testStatus, testName, testMessage,
                                                        ^~~~~~~~~~~
```
[R/ResultsJsonParser.R:25:35:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L25) *style:* **Variable or function name should be snake_case.**
```r
                                  testPoints, backtrace) {
                                  ^~~~~~~~~~
```
[R/ResultsJsonParser.R:26:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L26) *style:* **Variable or function name should be snake_case.**
```r
  testResult <- list(status=unbox(testStatus),
  ^~~~~~~~~~
```
[R/ResultsJsonParser.R:26:28:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L26) *style:* **Put spaces around all infix operators.**
```r
  testResult <- list(status=unbox(testStatus),
                          ~^~
```
[R/ResultsJsonParser.R:27:26:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L27) *style:* **Put spaces around all infix operators.**
```r
                     name=unbox(format(testName)),
                        ~^~
```
[R/ResultsJsonParser.R:28:29:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L28) *style:* **Put spaces around all infix operators.**
```r
                     message=unbox(testMessage),
                           ~^~
```
[R/ResultsJsonParser.R:29:31:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L29) *style:* **Put spaces around all infix operators.**
```r
                     backtrace=unbox(backtrace),
                             ~^~
```
[R/ResultsJsonParser.R:30:28:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L30) *style:* **Put spaces around all infix operators.**
```r
                     points=testPoints)
                          ~^~
```
[R/ResultsJsonParser.R:36:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L36) *style:* **Variable or function name should be snake_case.**
```r
.MessageFromFailedResult <- function(result) {
^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:42:10:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L42) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
  return (paste(sep="", "Failed with call: ", language,"\n", result$message))
         ^
```
[R/ResultsJsonParser.R:42:20:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L42) *style:* **Put spaces around all infix operators.**
```r
  return (paste(sep="", "Failed with call: ", language,"\n", result$message))
                  ~^~
```
[R/ResultsJsonParser.R:42:56:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L42) *style:* **Commas should always have a space after.**
```r
  return (paste(sep="", "Failed with call: ", language,"\n", result$message))
                                                       ^
```
[R/ResultsJsonParser.R:45:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L45) *style:* **Variable and function names should not be longer than 30 characters.**
```r
.CreateMessageForTestWithFailures <- function(test) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:45:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L45) *style:* **Variable or function name should be snake_case.**
```r
.CreateMessageForTestWithFailures <- function(test) {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:46:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L46) *style:* **Variable or function name should be snake_case.**
```r
  testMessage <- ""
  ^~~~~~~~~~~
```
[R/ResultsJsonParser.R:49:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L49) *style:* **Lines should not be more than 80 characters.**
```r
      testMessage <- paste(sep = "", testMessage, .MessageFromFailedResult(result))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:49:7:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L49) *style:* **Variable or function name should be snake_case.**
```r
      testMessage <- paste(sep = "", testMessage, .MessageFromFailedResult(result))
      ^~~~~~~~~~~
```
[R/ResultsJsonParser.R:49:51:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L49) *warning:* **no visible global function definition for ‘.MessageFromFailedResult’**
```r
      testMessage <- paste(sep = "", testMessage, .MessageFromFailedResult(result))
                                                  ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:56:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L56) *style:* **Variable or function name should be snake_case.**
```r
.WriteJson <- function(results) {
^~~~~~~~~~
```
[R/ResultsJsonParser.R:58:20:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L58) *warning:* **no visible global function definition for ‘toJSON’**
```r
  json <- enc2utf8(toJSON(results, pretty = FALSE))
                   ^~~~~~
```
[R/ResultsJsonParser.R:59:11:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L59) *warning:* **no visible global function definition for ‘prettify’, Did you mean 'pretty'?**
```r
  json <- prettify(json)
          ^~~~~~~~
```
[R/ResultsJsonParser.R:65:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L65) *style:* **Variable or function name should be snake_case.**
```r
.PrintResultsFromJson <- function(jsonResult) {
^~~~~~~~~~~~~~~~~~~~~
```
[R/ResultsJsonParser.R:65:35:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/ResultsJsonParser.R#L65) *style:* **Variable or function name should be snake_case.**
```r
.PrintResultsFromJson <- function(jsonResult) {
                                  ^~~~~~~~~~
```
[R/RunTests.R:1:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L1) *style:* **Lines should not be more than 80 characters.**
```r
# Runs the tests from project directory and writes results JSON to the root of the project
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:8:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L8) *style:* **Variable or function name should be snake_case.**
```r
runTests <- function(projectPath, print=FALSE) {
^~~~~~~~
```
[R/RunTests.R:8:22:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L8) *style:* **Variable or function name should be snake_case.**
```r
runTests <- function(projectPath, print=FALSE) {
                     ^~~~~~~~~~~
```
[R/RunTests.R:9:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L9) *style:* **Variable or function name should be snake_case.**
```r
  tmcrTestRunnerProjectPath <- getwd()
  ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:12:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L12) *style:* **Variable or function name should be snake_case.**
```r
  testthatOutput <- .RunTestsProject(projectPath)
  ^~~~~~~~~~~~~~
```
[R/RunTests.R:12:21:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L12) *warning:* **no visible global function definition for ‘.RunTestsProject’**
```r
  testthatOutput <- .RunTestsProject(projectPath)
                    ^~~~~~~~~~~~~~~~
```
[R/RunTests.R:14:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L14) *style:* **Variable or function name should be snake_case.**
```r
  jsonResults <- .CreateJsonResults(testthatOutput)
  ^~~~~~~~~~~
```
[R/RunTests.R:14:18:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L14) *warning:* **no visible global function definition for ‘.CreateJsonResults’**
```r
  jsonResults <- .CreateJsonResults(testthatOutput)
                 ^~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:15:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L15) *warning:* **no visible global function definition for ‘.WriteJson’**
```r
  .WriteJson(jsonResults)
  ^~~~~~~~~~
```
[R/RunTests.R:18:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L18) *warning:* **no visible global function definition for ‘.PrintResultsFromJson’**
```r
    .PrintResultsFromJson(jsonResults)
    ^~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:24:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.RunTestsProject <- function(projectPath) {
^~~~~~~~~~~~~~~~
```
[R/RunTests.R:24:30:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L24) *style:* **Variable or function name should be snake_case.**
```r
.RunTestsProject <- function(projectPath) {
                             ^~~~~~~~~~~
```
[R/RunTests.R:27:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L27) *style:* **Variable or function name should be snake_case.**
```r
  testthatOutput <- list()
  ^~~~~~~~~~~~~~
```
[R/RunTests.R:30:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L30) *style:* **Lines should not be more than 80 characters.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:30:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L30) *style:* **Variable or function name should be snake_case.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
  ^~~~~~~~~
```
[R/RunTests.R:30:31:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L30) *style:* **Put spaces around all infix operators.**
```r
  testFiles <- list.files(path="tests/testthat", pattern = "test.*\\.R", full.names = T, recursive = FALSE)
                             ~^~
```
[R/RunTests.R:33:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L33) *style:* **Variable or function name should be snake_case.**
```r
    testFileOutput <- .RunTestsFile(testFile)
    ^~~~~~~~~~~~~~
```
[R/RunTests.R:33:23:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L33) *warning:* **no visible global function definition for ‘.RunTestsFile’**
```r
    testFileOutput <- .RunTestsFile(testFile)
                      ^~~~~~~~~~~~~
```
[R/RunTests.R:34:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L34) *style:* **Variable or function name should be snake_case.**
```r
    testthatOutput <- c(testthatOutput, testFileOutput)
    ^~~~~~~~~~~~~~
```
[R/RunTests.R:39:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L39) *style:* **Variable or function name should be snake_case.**
```r
.RunTestsFile <- function(filePath) {
^~~~~~~~~~~~~
```
[R/RunTests.R:39:27:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L39) *style:* **Variable or function name should be snake_case.**
```r
.RunTestsFile <- function(filePath) {
                          ^~~~~~~~
```
[R/RunTests.R:43:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L43) *style:* **Variable or function name should be snake_case.**
```r
  testFileOutput <- test_file(filePath, reporter = "silent")
  ^~~~~~~~~~~~~~
```
[R/RunTests.R:43:21:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L43) *warning:* **no visible global function definition for ‘test_file’**
```r
  testFileOutput <- test_file(filePath, reporter = "silent")
                    ^~~~~~~~~
```
[R/RunTests.R:44:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L44) *style:* **Variable or function name should be snake_case.**
```r
  testFileOutput <- .AddPointsToTestOutput(testFileOutput)
  ^~~~~~~~~~~~~~
```
[R/RunTests.R:44:21:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L44) *warning:* **no visible global function definition for ‘.AddPointsToTestOutput’**
```r
  testFileOutput <- .AddPointsToTestOutput(testFileOutput)
                    ^~~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:49:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L49) *style:* **Variable or function name should be snake_case.**
```r
.AddPointsToTestOutput <- function(testOutput) {
^~~~~~~~~~~~~~~~~~~~~~
```
[R/RunTests.R:49:36:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L49) *style:* **Variable or function name should be snake_case.**
```r
.AddPointsToTestOutput <- function(testOutput) {
                                   ^~~~~~~~~~
```
[R/RunTests.R:51:31:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L51) *warning:* **no visible global function definition for ‘.GetTestPoints’**
```r
    testOutput[[i]]$points <- .GetTestPoints(testOutput[[i]]$test)
                              ^~~~~~~~~~~~~~
```
[R/RunTests.R:56:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L56) *style:* **Variable or function name should be snake_case.**
```r
.GetTestPoints <- function(testName) {
^~~~~~~~~~~~~~
```
[R/RunTests.R:56:28:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L56) *style:* **Variable or function name should be snake_case.**
```r
.GetTestPoints <- function(testName) {
                           ^~~~~~~~
```
[R/RunTests.R:58:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L58) *style:* **Variable or function name should be snake_case.**
```r
    testPoints <- vector()
    ^~~~~~~~~~
```
[R/RunTests.R:60:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L60) *style:* **Variable or function name should be snake_case.**
```r
    testPoints <- points[[testName]]
    ^~~~~~~~~~
```
[R/RunTests.R:62:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/RunTests.R#L62) *style:* **Variable or function name should be snake_case.**
```r
  testPoints <- c(.GlobalEnv$points_for_all_tests, testPoints)
  ^~~~~~~~~~
```
[R/TestthatResultReader.R:2:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TestthatResultReader.R#L2) *style:* **Variable or function name should be snake_case.**
```r
.CheckAllTestPassed <- function(testOutput) {
^~~~~~~~~~~~~~~~~~~
```
[R/TestthatResultReader.R:2:33:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TestthatResultReader.R#L2) *style:* **Variable or function name should be snake_case.**
```r
.CheckAllTestPassed <- function(testOutput) {
                                ^~~~~~~~~~
```
[R/TestthatResultReader.R:10:10:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TestthatResultReader.R#L10) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
  return (ret)
         ^
```
[R/TestthatResultReader.R:14:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TestthatResultReader.R#L14) *style:* **Variable or function name should be snake_case.**
```r
.CheckIfTestPassed <- function(test) {
^~~~~~~~~~~~~~~~~~
```
[R/TestthatResultReader.R:22:10:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TestthatResultReader.R#L22) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
  return (ret)
         ^
```
[R/TestthatResultReader.R:26:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/R/TestthatResultReader.R#L26) *style:* **Variable or function name should be snake_case.**
```r
.CheckIfResultPassed <- function(result) {
^~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/resources/simple_all_tests_pass/R/main.R:1:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_all_tests_pass/R/main.R#L1) *style:* **Variable or function name should be snake_case.**
```r
RetTrue <- function() {
^~~~~~~
```
[tests/testthat/resources/simple_all_tests_pass/R/main.R:5:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_all_tests_pass/R/main.R#L5) *style:* **Variable or function name should be snake_case.**
```r
RetOne <- function() {
^~~~~~
```
[tests/testthat/resources/simple_all_tests_pass/R/main.R:9:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_all_tests_pass/R/main.R#L9) *style:* **Variable or function name should be snake_case.**
```r
Add <- function(a, b) {
^~~
```
[tests/testthat/resources/simple_all_tests_pass/tests/testthat/helperTMC.R:4:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_all_tests_pass/tests/testthat/helperTMC.R#L4) *style:* **Variable or function name should be snake_case.**
```r
pointsForAllTests <- function(points) {
^~~~~~~~~~~~~~~~~
```
[tests/testthat/resources/simple_all_tests_pass/tests/testthat/helperTMC.R:12:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_all_tests_pass/tests/testthat/helperTMC.R#L12) *warning:* **no visible global function definition for ‘test_that’**
```r
  test_that(desc, code)
  ^~~~~~~~~
```
[tests/testthat/resources/simple_all_tests_pass/tests/testthat/testMain.R:1:9:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_all_tests_pass/tests/testthat/testMain.R#L1) *style:* **Only use double-quotes.**
```r
library('testthat')
        ^~~~~~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/R/main.R:1:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_some_tests_fail/R/main.R#L1) *style:* **Variable or function name should be snake_case.**
```r
RetTrue <- function() {
^~~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/R/main.R:5:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_some_tests_fail/R/main.R#L5) *style:* **Variable or function name should be snake_case.**
```r
RetOne <- function() {
^~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/R/main.R:9:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_some_tests_fail/R/main.R#L9) *style:* **Variable or function name should be snake_case.**
```r
Add <- function(a, b) {
^~~
```
[tests/testthat/resources/simple_some_tests_fail/R/main.R:13:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_some_tests_fail/R/main.R#L13) *style:* **Variable or function name should be snake_case.**
```r
RetFalse <- function() {
^~~~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/tests/testthat/helperTMC.R:4:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_some_tests_fail/tests/testthat/helperTMC.R#L4) *style:* **Variable or function name should be snake_case.**
```r
pointsForAllTests <- function(points) {
^~~~~~~~~~~~~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/tests/testthat/helperTMC.R:12:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_some_tests_fail/tests/testthat/helperTMC.R#L12) *warning:* **no visible global function definition for ‘test_that’**
```r
  test_that(desc, code)
  ^~~~~~~~~
```
[tests/testthat/resources/simple_some_tests_fail/tests/testthat/testMain.R:1:9:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/resources/simple_some_tests_fail/tests/testthat/testMain.R#L1) *style:* **Only use double-quotes.**
```r
library('testthat')
        ^~~~~~~~~~
```
[tests/testthat/testRunTests.R:4:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L4) *style:* **Lines should not be more than 80 characters.**
```r
simple_all_tests_pass_project_path <- paste(sep = "", test_resources_dir, "/simple_all_tests_pass")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:4:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L4) *style:* **Variable and function names should not be longer than 30 characters.**
```r
simple_all_tests_pass_project_path <- paste(sep = "", test_resources_dir, "/simple_all_tests_pass")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:5:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
simple_some_tests_fail_project_path <- paste(sep = "", test_resources_dir, "/simple_some_tests_fail")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:5:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L5) *style:* **Variable and function names should not be longer than 30 characters.**
```r
simple_some_tests_fail_project_path <- paste(sep = "", test_resources_dir, "/simple_some_tests_fail")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:18:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L18) *style:* **Lines should not be more than 80 characters.**
```r
test_that("Tests that pass in simple_all_tests_pass all have the point for all tests", {
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:28:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L28) *style:* **Lines should not be more than 80 characters.**
```r
#It should add points to the dataframe based on which the result-file is created.
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:30:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L30) *style:* **Lines should not be more than 80 characters.**
```r
  testFileOutput <- test_file(paste(sep="", simple_all_tests_pass_project_path, "/tests/testthat/testMain.R"), reporter="silent")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:30:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L30) *style:* **Variable or function name should be snake_case.**
```r
  testFileOutput <- test_file(paste(sep="", simple_all_tests_pass_project_path, "/tests/testthat/testMain.R"), reporter="silent")
  ^~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:30:40:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L30) *style:* **Put spaces around all infix operators.**
```r
  testFileOutput <- test_file(paste(sep="", simple_all_tests_pass_project_path, "/tests/testthat/testMain.R"), reporter="silent")
                                      ~^~
```
[tests/testthat/testRunTests.R:30:120:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L30) *style:* **Put spaces around all infix operators.**
```r
  testFileOutput <- test_file(paste(sep="", simple_all_tests_pass_project_path, "/tests/testthat/testMain.R"), reporter="silent")
                                                                                ~^~
```
[tests/testthat/testRunTests.R:32:3:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L32) *style:* **Variable or function name should be snake_case.**
```r
  testFileOutput <- .AddPointsToTestOutput(testFileOutput)
  ^~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:38:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L38) *style:* **Lines should not be more than 80 characters.**
```r
  expect_true(file.exists(paste(sep="",simple_all_tests_pass_project_path, "/.results.json")))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:38:36:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L38) *style:* **Put spaces around all infix operators.**
```r
  expect_true(file.exists(paste(sep="",simple_all_tests_pass_project_path, "/.results.json")))
                                  ~^~
```
[tests/testthat/testRunTests.R:38:40:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L38) *style:* **Commas should always have a space after.**
```r
  expect_true(file.exists(paste(sep="",simple_all_tests_pass_project_path, "/.results.json")))
                                       ^
```
[tests/testthat/testRunTests.R:47:7:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L47) *style:* **Place a space before left parenthesis, except in a function call.**
```r
    if(!isTRUE(all.equal(string, pass_string))) {
      ^
```
[tests/testthat/testRunTests.R:56:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L56) *style:* **Lines should not be more than 80 characters.**
```r
  expect_true(file.exists(paste(sep="", simple_some_tests_fail_project_path, "/.results.json")))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:56:36:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L56) *style:* **Put spaces around all infix operators.**
```r
  expect_true(file.exists(paste(sep="", simple_some_tests_fail_project_path, "/.results.json")))
                                  ~^~
```
[tests/testthat/testRunTests.R:63:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L63) *style:* **Lines should not be more than 80 characters.**
```r
  expect_true(file.exists(paste(sep="", simple_some_tests_fail_project_path, "/.results.json")))
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:63:36:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L63) *style:* **Put spaces around all infix operators.**
```r
  expect_true(file.exists(paste(sep="", simple_some_tests_fail_project_path, "/.results.json")))
                                  ~^~
```
[tests/testthat/testRunTests.R:69:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L69) *style:* **Commented code should be removed.**
```r
#   runTests(simple_all_tests_pass_project_path)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:73:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L73) *style:* **Commented code should be removed.**
```r
#   string1 <- format(.PrintResult("Testi1", "!", FALSE))
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:74:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L74) *style:* **Commented code should be removed.**
```r
#   string2 <- format("Testi1: PASS")
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testRunTests.R:75:5:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testRunTests.R#L75) *style:* **Commented code should be removed.**
```r
#   expect_equal(string1, string2)
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[tests/testthat/testTestthatResultReader.R:1:1:](https://github.com/RTMC/tmc-r/blob/0a4953366fd1c538f149052093f2ef0fb50a3f88/tests/testthat/testTestthatResultReader.R#L1) *style:* **Trailing blank lines are superfluous.**
```r

^
```


**Whoops!**

There were *9 warnings* that will prevent this PR from being merged. Please take a look, and either fix, or provide a justification for why they can't be fixed.

**WARNINGS**
[`src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L8`](https://github.com/Google/WebFundamentals/blame/a87abe38f5617fe11393311d6f0f994369e1818c/src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L8) - Line must be at most 100 characters
[`src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L46`](https://github.com/Google/WebFundamentals/blame/a87abe38f5617fe11393311d6f0f994369e1818c/src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L46) - Line must be at most 100 characters
[`src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L75`](https://github.com/Google/WebFundamentals/blame/a87abe38f5617fe11393311d6f0f994369e1818c/src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L75) - Line must be at most 100 characters
[`src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L139`](https://github.com/Google/WebFundamentals/blame/a87abe38f5617fe11393311d6f0f994369e1818c/src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L139) - Line must be at most 100 characters
[`src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L166`](https://github.com/Google/WebFundamentals/blame/a87abe38f5617fe11393311d6f0f994369e1818c/src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L166) - Line must be at most 100 characters
[`src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L299`](https://github.com/Google/WebFundamentals/blame/a87abe38f5617fe11393311d6f0f994369e1818c/src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L299) - Line must be at most 100 characters
[`src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L305`](https://github.com/Google/WebFundamentals/blame/a87abe38f5617fe11393311d6f0f994369e1818c/src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L305) - Line must be at most 100 characters
[`src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L325`](https://github.com/Google/WebFundamentals/blame/a87abe38f5617fe11393311d6f0f994369e1818c/src/content/en/updates/2016/03/access-usb-devices-on-the-web.md#L325) - Line must be at most 100 characters
[`src/content/en/updates/images/2016-03-02-access-usb-devices-on-the-web/web-usb-flag.png`](https://github.com/Google/WebFundamentals/blame/a87abe38f5617fe11393311d6f0f994369e1818c/src/content/en/updates/images/2016-03-02-access-usb-devices-on-the-web/web-usb-flag.png) - Unable to read file stats: ENOENT: no such file or directory, stat 'src/content/en/updates/images/2016-03-02-access-usb-devices-on-the-web/web-usb-flag.png'


Is it necessary to these operations in the datapath? Adding an host to a pool yields a reload of all the pools and this can potentially take a long time. Note that reloadPools also uses locks...

(btw you are using 0 in place of NO_HOST_POOL_ID)


In my experience, lots of bugs rose from capturing by reference in a context you don't control the lifetime for.

In this case,

    auto getGoogle() { return download(QUrl("www.google.com")); }

will construct a temporary `QUrl` object, that is captured by reference into a promise.  Whenever the contained lambda expression is executed, it will refer to a location on the stack that now contains something completely different.


Hey @nitrag
This is king.


thx, a classical :-)


[R/Authentication.R:1:3:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L1) *style:* **Commented code should be removed.**
```r
# install.packages("rjson")
  ^~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:2:3:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L2) *style:* **Commented code should be removed.**
```r
# install.packages("httr")
  ^~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:5:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L5) *style:* **Lines should not be more than 80 characters.**
```r
# https://developer.salesforce.com/docs/atlas.en-us.api_rest.meta/api_rest/intro_understanding_username_password_oauth_flow.htm
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:7:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
  client_id <- "d56662a9898966d8275edb2e609bf1c52919ca7a4e3797bd663e40833522ab3b"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:9:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L9) *style:* **Lines should not be more than 80 characters.**
```r
  body <- paste(sep = "", "grant_type=password&client_id=", client_id, "&client_secret=", secret,"&username=",
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:9:98:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L9) *style:* **Commas should always have a space after.**
```r
  body <- paste(sep = "", "grant_type=password&client_id=", client_id, "&client_secret=", secret,"&username=",
                                                                                ^
```
[R/Authentication.R:12:10:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L12) *warning:* **no visible global function definition for ‘POST’**
```r
  req <- POST(url = "https://tmc.mooc.fi/oauth/token", body = body)
         ^~~~
```
[R/Authentication.R:14:5:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L14) *style:* **Place a space before left parenthesis, except in a function call.**
```r
  if(status_code(req)==200){
    ^
```
[R/Authentication.R:14:22:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L14) *style:* **Put spaces around all infix operators.**
```r
  if(status_code(req)==200){
                    ~^~~
```
[R/Authentication.R:16:5:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L16) *warning:* **no visible global function definition for ‘stop_for_status’**
```r
    stop_for_status(x = req, task = "Authenticate with TMC")
    ^~~~~~~~~~~~~~~
```
[R/Authentication.R:17:30:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L17) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
    token <- paste("Bearer", content(req)$access_token)
                             ^~~~~~~
```
[R/Authentication.R:21:12:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L21) *style:* **Remove spaces before the left parenthesis in a function call.**
```r
    return (content(req))
           ^
```
[R/Authentication.R:21:13:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L21) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
    return (content(req))
            ^~~~~~~
```
[R/Authentication.R:29:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L29) *style:* **Lines should not be more than 80 characters.**
```r
# Temporary testing/example function that fetches the data of a single course from TMC
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:30:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L30) *style:* **Variable or function name should be snake_case.**
```r
tempGetCourse <- function(token) {
^~~~~~~~~~~~~
```
[R/Authentication.R:33:10:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L33) *warning:* **no visible global function definition for ‘GET’, Did you mean 'T'?**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
         ^~~
```
[R/Authentication.R:33:34:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L33) *warning:* **no visible global function definition for ‘add_headers’**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
                                 ^~~~~~~~~~~
```
[R/Authentication.R:34:3:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L34) *warning:* **no visible global function definition for ‘stop_for_status’**
```r
  stop_for_status(x = req, task = "Fetching data from the TMC API")
  ^~~~~~~~~~~~~~~
```
[R/Authentication.R:35:13:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L35) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  course <- content(req)
            ^~~~~~~
```
[R/Authentication.R:41:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L41) *style:* **Variable or function name should be snake_case.**
```r
tempGetAllCourses <- function(token, org_id) {
^~~~~~~~~~~~~~~~~
```
[R/Authentication.R:42:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L42) *style:* **Lines should not be more than 80 characters.**
```r
  url <- paste("https://tmc.mooc.fi/api/v8/core/org/", org_id, "/courses", sep = "")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:43:5:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L43) *style:* **Commented code should be removed.**
```r
  # url <- "https://tmc.mooc.fi/api/v8/core/org/hy/courses"
    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/Authentication.R:46:10:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L46) *warning:* **no visible global function definition for ‘GET’, Did you mean 'T'?**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
         ^~~
```
[R/Authentication.R:46:34:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L46) *warning:* **no visible global function definition for ‘add_headers’**
```r
  req <- GET(url = url, config = add_headers(Authorization = token))
                                 ^~~~~~~~~~~
```
[R/Authentication.R:47:3:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L47) *warning:* **no visible global function definition for ‘stop_for_status’**
```r
  stop_for_status(x = req, task = "Fetching data from the TMC API")
  ^~~~~~~~~~~~~~~
```
[R/Authentication.R:48:14:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L48) *warning:* **no visible global function definition for ‘content’, Did you mean 'confint'?**
```r
  courses <- content(req)
             ^~~~~~~
```
[R/Authentication.R:54:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Authentication.R#L54) *style:* **Trailing blank lines are superfluous.**
```r

^
```
[R/Example.R:1:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/Example.R#L1) *style:* **Variable or function name should be snake_case.**
```r
returnsTrue <- function() {
^~~~~~~~~~~
```
[R/TMC_plugin.R:7:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/TMC_plugin.R#L7) *style:* **Variable or function name should be snake_case.**
```r
loginGadget <- function() {
^~~~~~~~~~~
```
[R/TMC_plugin.R:70:16:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/TMC_plugin.R#L70) *style:* **Use <-, not =, for assignment.**
```r
      response = authenticate(input$username,input$password)
               ^
```
[R/TMC_plugin.R:70:18:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/TMC_plugin.R#L70) *warning:* **no visible global function definition for ‘authenticate’**
```r
      response = authenticate(input$username,input$password)
                 ^~~~~~~~~~~~
```
[R/TMC_plugin.R:70:46:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/TMC_plugin.R#L70) *style:* **Commas should always have a space after.**
```r
      response = authenticate(input$username,input$password)
                                             ^
```
[R/TMC_plugin.R:72:17:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/TMC_plugin.R#L72) *style:* **Only use double-quotes.**
```r
      if (grepl('Bearer',response[1])) {
                ^~~~~~~~
```
[R/TMC_plugin.R:72:26:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/TMC_plugin.R#L72) *style:* **Commas should always have a space after.**
```r
      if (grepl('Bearer',response[1])) {
                         ^
```
[R/TMC_plugin.R:81:7:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/TMC_plugin.R#L81) *warning:* **no visible global function definition for ‘showDialog’**
```r
      showDialog(title = title, message = message, url = "")
      ^~~~~~~~~~
```
[R/TMC_plugin.R:84:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/TMC_plugin.R#L84) *style:* **Lines should not be more than 80 characters.**
```r
    # render*-function renders UI content and corresponds to *Output-function in UI
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
[R/TMC_plugin.R:87:12:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/TMC_plugin.R#L87) *style:* **Variable or function name should be snake_case.**
```r
    output$courseDisplay <- renderText({
           ^~~~~~~~~~~~~
```
[R/TMC_plugin.R:91:3:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/TMC_plugin.R#L91) *warning:* **no visible global function definition for ‘runGadget’**
```r
  runGadget(ui, server, viewer = dialogViewer("TMC login"))
  ^~~~~~~~~
```
[R/TMC_plugin.R:91:34:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/R/TMC_plugin.R#L91) *warning:* **no visible global function definition for ‘dialogViewer’**
```r
  runGadget(ui, server, viewer = dialogViewer("TMC login"))
                                 ^~~~~~~~~~~~
```
[tests/testthat/testAuthentication.R:7:1:](https://github.com/RTMC/tmc-r/blob/3befdd520c052b5b85fcbe08bc538158bedb7b9c/tests/testthat/testAuthentication.R#L7) *style:* **Lines should not be more than 80 characters.**
```r
  expect_is(authenticate("sddsdaddsdsdadasads", "dsdasasdsdsdasdasdasd"), "list")
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```