Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
JastAdd
relational-rags
Commits
83a04e63
Commit
83a04e63
authored
Feb 25, 2019
by
Johannes Mey
Browse files
move first test to gradle
parent
f2055430
Changes
10
Hide whitespace changes
Inline
Side-by-side
build.gradle
View file @
83a04e63
...
...
@@ -22,8 +22,8 @@ dependencies {
testImplementation
'org.junit.jupiter:junit-jupiter-api:5.4.0'
testRuntimeOnly
'org.junit.jupiter:junit-jupiter-engine:5.4.0'
compile
group:
'net.sf.beaver'
,
name:
'beaver-rt'
,
version:
'0.9.11'
//
compile group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.10.0'
//
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.10.0'
compile
group:
'org.apache.logging.log4j'
,
name:
'log4j-api'
,
version:
'2.10.0'
compile
group:
'org.apache.logging.log4j'
,
name:
'log4j-core'
,
version:
'2.10.0'
}
sourceSets
{
...
...
@@ -100,5 +100,6 @@ jastadd {
test
{
outputs
.
upToDateWhen
{
false
}
useJUnitPlatform
()
}
\ No newline at end of file
src/main/resources/log4j2.xml
0 → 100644
View file @
83a04e63
<?xml version="1.0" encoding="UTF-8"?>
<Configuration
status=
"INFO"
>
<Appenders>
<Console
name=
"Console"
target=
"SYSTEM_OUT"
>
<PatternLayout
pattern=
"%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"
/>
</Console>
</Appenders>
<Loggers>
<Root
level=
"info"
>
<AppenderRef
ref=
"Console"
/>
</Root>
</Loggers>
</Configuration>
\ No newline at end of file
src/test/jastadd/errors/.gitignore
0 → 100644
View file @
83a04e63
*.out
\ No newline at end of file
tests
/errors/Errors.expected
→
src/test/jastadd
/errors/Errors.expected
View file @
83a04e63
File moved
tests
/errors/Errors.relast
→
src/test/jastadd
/errors/Errors.relast
View file @
83a04e63
File moved
tests
/errors/Inheritance.expected
→
src/test/jastadd
/errors/Inheritance.expected
View file @
83a04e63
File moved
tests
/errors/Inheritance.relast
→
src/test/jastadd
/errors/Inheritance.relast
View file @
83a04e63
File moved
src/test/java/org/jastadd/relast/tests/errors/Errors.java
0 → 100644
View file @
83a04e63
package
org.jastadd.relast.tests.errors
;
import
org.apache.logging.log4j.LogManager
;
import
org.apache.logging.log4j.Logger
;
import
org.jastadd.relast.compiler.Compiler
;
import
org.junit.jupiter.api.Assertions
;
import
org.junit.jupiter.api.Test
;
import
java.io.File
;
import
java.io.IOException
;
import
java.nio.charset.Charset
;
import
java.nio.file.Files
;
import
java.nio.file.Paths
;
public
class
Errors
{
private
static
final
Logger
logger
=
LogManager
.
getLogger
(
Errors
.
class
);
static
String
readFile
(
String
path
,
Charset
encoding
)
throws
IOException
{
byte
[]
encoded
=
Files
.
readAllBytes
(
Paths
.
get
(
path
));
return
new
String
(
encoded
,
encoding
);
}
static
int
exec
(
Class
klass
,
String
[]
args
,
File
err
)
throws
IOException
,
InterruptedException
{
String
javaHome
=
System
.
getProperty
(
"java.home"
);
String
javaBin
=
javaHome
+
File
.
separator
+
"bin"
+
File
.
separator
+
"java"
;
String
classpath
=
System
.
getProperty
(
"java.class.path"
);
String
className
=
klass
.
getName
();
String
[]
newArgs
=
new
String
[
args
.
length
+
4
];
newArgs
[
0
]
=
javaBin
;
newArgs
[
1
]
=
"-cp"
;
newArgs
[
2
]
=
classpath
;
newArgs
[
3
]
=
className
;
System
.
arraycopy
(
args
,
0
,
newArgs
,
4
,
args
.
length
);
ProcessBuilder
builder
=
new
ProcessBuilder
(
newArgs
);
builder
.
redirectError
(
err
);
Process
process
=
builder
.
start
();
process
.
waitFor
();
return
process
.
exitValue
();
}
@Test
void
test1
()
throws
IOException
{
String
inFile
=
"./src/test/jastadd/errors/Errors.relast"
;
String
outFile
=
"./src/test/jastadd/errors/Errors.out"
;
String
expectedFile
=
"./src/test/jastadd/errors/Errors.expected"
;
try
{
System
.
out
.
println
(
System
.
getProperty
(
"user.dir"
));
int
returnValue
=
exec
(
Compiler
.
class
,
new
String
[]{
inFile
},
new
File
(
outFile
));
Assertions
.
assertEquals
(
1
,
returnValue
,
"Relast did not return with value 1"
);
}
catch
(
IOException
|
InterruptedException
e
)
{
e
.
printStackTrace
();
}
String
out
=
readFile
(
outFile
,
Charset
.
defaultCharset
());
String
expected
=
readFile
(
expectedFile
,
Charset
.
defaultCharset
());
Assertions
.
assertEquals
(
out
,
expected
);
logger
.
info
(
"'relast Errors.relast' returned \n{}"
,
out
);
}
@Test
void
test2
()
throws
IOException
{
String
inFile
=
"./src/test/jastadd/errors/Inheritance.relast"
;
String
outFile
=
"./src/test/jastadd/errors/Inheritance.out"
;
String
expectedFile
=
"./src/test/jastadd/errors/Inheritance.expected"
;
try
{
System
.
out
.
println
(
System
.
getProperty
(
"user.dir"
));
int
returnValue
=
exec
(
Compiler
.
class
,
new
String
[]{
inFile
},
new
File
(
outFile
));
Assertions
.
assertEquals
(
1
,
returnValue
,
"Relast did not return with value 1"
);
}
catch
(
IOException
|
InterruptedException
e
)
{
e
.
printStackTrace
();
}
String
out
=
readFile
(
outFile
,
Charset
.
defaultCharset
());
String
expected
=
readFile
(
expectedFile
,
Charset
.
defaultCharset
());
Assertions
.
assertEquals
(
out
,
expected
);
logger
.
info
(
"'relast Inheritance.relast' returned \n{}"
,
out
);
}
}
tests/errors/.gitignore
deleted
100644 → 0
View file @
f2055430
/*.out
tests/errors/Makefile
deleted
100644 → 0
View file @
f2055430
all
:
build-jar test
build-jar
:
(
cd
../../
&&
./gradlew jar
)
test
:
java
-jar
../../build/libs/relast.jar Errors.relast 2> Errors.out
||
true
diff Errors.out Errors.expected
java
-jar
../../build/libs/relast.jar
Inheritance.relast
2>
Inheritance.out
||
true
diff
Inheritance.out
Inheritance.expected
@echo
"#"
@echo
"# ERROR TESTS OK"
@echo
"#"
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment