Move ino2cpp tests to the misc folder
This commit is contained in:
@@ -0,0 +1,13 @@
|
||||
# Copyright (c) 2014-present PlatformIO <contact@platformio.org>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
@@ -0,0 +1,60 @@
|
||||
#define SQR(a) \
|
||||
( a * a )
|
||||
|
||||
typedef struct Item item;
|
||||
struct Item {
|
||||
byte foo[50];
|
||||
int bar;
|
||||
void (*noob)(item*);
|
||||
};
|
||||
|
||||
// test callback
|
||||
class Foo {
|
||||
|
||||
public:
|
||||
Foo(void (*function)()) {
|
||||
#warning "Line number is 16"
|
||||
}
|
||||
|
||||
bool childFunc() {
|
||||
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
Foo foo(&fooCallback);
|
||||
|
||||
//
|
||||
|
||||
template<class T> T Add(T n1, T n2) {
|
||||
return n1 + n2;
|
||||
}
|
||||
|
||||
void setup() {
|
||||
struct Item item1;
|
||||
myFunction(&item1);
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
}
|
||||
|
||||
void myFunction(struct Item *item) {
|
||||
|
||||
}
|
||||
|
||||
#warning "Line number is 46"
|
||||
|
||||
void fooCallback(){
|
||||
|
||||
}
|
||||
|
||||
extern "C" {
|
||||
void some_extern(const char *fmt, ...);
|
||||
};
|
||||
|
||||
void some_extern(const char *fmt, ...) {
|
||||
|
||||
}
|
||||
|
||||
// юнікод
|
||||
@@ -0,0 +1,4 @@
|
||||
unsigned int barFunc () // my comment
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
@@ -0,0 +1,13 @@
|
||||
char buf[5];
|
||||
|
||||
void setup() {
|
||||
fooFunc();
|
||||
}
|
||||
|
||||
void loop() {
|
||||
|
||||
}
|
||||
|
||||
char* fooFunc() {
|
||||
return buf;
|
||||
}
|
||||
@@ -0,0 +1,79 @@
|
||||
const char headerEndP[] PROGMEM =
|
||||
"<meta name='viewport' content='width=device-width, initial-scale=1'>\
|
||||
<link rel='stylesheet' href='http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css'>\
|
||||
<script src='https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js'></script>\
|
||||
<script src='http://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/js/bootstrap.min.js'></script></head>";
|
||||
|
||||
void setup() {
|
||||
|
||||
}
|
||||
|
||||
const char javaScriptPinControlP[] PROGMEM =
|
||||
"<div id='content'></div>\
|
||||
<div id='pin1'></div>\
|
||||
<script>\
|
||||
function show()\
|
||||
{\
|
||||
$.ajax({\
|
||||
url: 'controlstatus',\
|
||||
cache: false,\
|
||||
success: function(html){\
|
||||
$('#content').html(html);\
|
||||
}\
|
||||
});\
|
||||
}\
|
||||
function Pin1()\
|
||||
{\
|
||||
$.ajax({\
|
||||
type: 'POST',\
|
||||
url: 'control',\
|
||||
data: '1=1',\
|
||||
success: function(data){\
|
||||
show();\
|
||||
}\
|
||||
});\
|
||||
}\
|
||||
function Auto1()\
|
||||
{\
|
||||
$.ajax({\
|
||||
type: 'POST',\
|
||||
url: 'control',\
|
||||
data: '1=2',\
|
||||
success: function(data){\
|
||||
show();\
|
||||
}\
|
||||
});\
|
||||
}\
|
||||
function Pin2()\
|
||||
{\
|
||||
$.ajax({\
|
||||
type: 'POST',\
|
||||
url: 'control',\
|
||||
data: '2=1',\
|
||||
success: function(data){\
|
||||
show();\
|
||||
}\
|
||||
});\
|
||||
}\
|
||||
function Auto2()\
|
||||
{\
|
||||
$.ajax({\
|
||||
type: 'POST',\
|
||||
url: 'control',\
|
||||
data: '2=2',\
|
||||
success: function(data){\
|
||||
show();\
|
||||
}\
|
||||
});\
|
||||
}\
|
||||
$(document).ready(function(){\
|
||||
show();\
|
||||
setInterval('show()',5000);\
|
||||
});\
|
||||
</script>";
|
||||
|
||||
#warning "Line 75"
|
||||
|
||||
void loop() {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,46 @@
|
||||
# Copyright (c) 2014-present PlatformIO <contact@platformio.org>
|
||||
#
|
||||
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||
# you may not use this file except in compliance with the License.
|
||||
# You may obtain a copy of the License at
|
||||
#
|
||||
# http://www.apache.org/licenses/LICENSE-2.0
|
||||
#
|
||||
# Unless required by applicable law or agreed to in writing, software
|
||||
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
# See the License for the specific language governing permissions and
|
||||
# limitations under the License.
|
||||
|
||||
from os import listdir
|
||||
from os.path import dirname, isdir, join, normpath
|
||||
|
||||
from platformio.commands.ci import cli as cmd_ci
|
||||
|
||||
EXAMPLES_DIR = normpath(join(dirname(__file__), "examples"))
|
||||
|
||||
|
||||
def pytest_generate_tests(metafunc):
|
||||
if "piotest_dir" not in metafunc.fixturenames:
|
||||
return
|
||||
test_dirs = []
|
||||
for name in listdir(EXAMPLES_DIR):
|
||||
if isdir(join(EXAMPLES_DIR, name)):
|
||||
test_dirs.append(join(EXAMPLES_DIR, name))
|
||||
test_dirs.sort()
|
||||
metafunc.parametrize("piotest_dir", test_dirs)
|
||||
|
||||
|
||||
def test_example(clirunner, validate_cliresult, piotest_dir):
|
||||
result = clirunner.invoke(cmd_ci, [piotest_dir, "-b", "uno"])
|
||||
validate_cliresult(result)
|
||||
|
||||
|
||||
def test_warning_line(clirunner, validate_cliresult):
|
||||
result = clirunner.invoke(cmd_ci, [join(EXAMPLES_DIR, "basic"), "-b", "uno"])
|
||||
validate_cliresult(result)
|
||||
assert 'basic.ino:16:14: warning: #warning "Line number is 16"' in result.output
|
||||
assert 'basic.ino:46:2: warning: #warning "Line number is 46"' in result.output
|
||||
result = clirunner.invoke(cmd_ci, [join(EXAMPLES_DIR, "strmultilines"), "-b", "uno"])
|
||||
validate_cliresult(result)
|
||||
assert 'main.ino:75:2: warning: #warning "Line 75"' in result.output
|
||||
Reference in New Issue
Block a user