Skip to content

Commit

Permalink
fix: fix tests
Browse files Browse the repository at this point in the history
  • Loading branch information
edg-l committed Mar 13, 2024
1 parent 84c2274 commit b4e8957
Show file tree
Hide file tree
Showing 11 changed files with 227 additions and 99 deletions.
2 changes: 1 addition & 1 deletion .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ jobs:
uses: orhun/git-cliff-action@v3
id: git-cliff
with:
args: -vv --latest --strip header
args: -vv --current --strip header
env:
OUTPUT: CHANGES.md
- name: Release
Expand Down
52 changes: 51 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,21 @@

All notable changes to this project will be documented in this file.

## [unreleased]
## [0.0.1-alpha.15] - 2024-03-13

### 🚀 Features

- Module file declarations, fixes

### 🐛 Bug Fixes

- Fix

- Fix multi file function resolution

- Fix scope


## [0.0.1-alpha.14] - 2024-03-11

### 🐛 Bug Fixes
Expand All @@ -28,6 +37,8 @@ All notable changes to this project will be documented in this file.

- Fix span in lalrpop
- Fix on type qualifier lowering
- Fix ci2


### ⚙️ Miscellaneous Tasks

Expand Down Expand Up @@ -97,6 +108,11 @@ All notable changes to this project will be documented in this file.

- Struct support

### 🧪 Testing

- Test


## [0.0.1-alpha.7] - 2024-02-17

### 🚀 Features
Expand All @@ -114,13 +130,17 @@ All notable changes to this project will be documented in this file.
### 🐛 Bug Fixes

- Fix a miscompilation
- Fixes


## [0.0.1-alpha.5] - 2024-02-14

### 🐛 Bug Fixes

- *(linker)* Fix linker on distros like ubuntu
- *(ci)* Ci improvements
- Fix ci


## [0.0.1-alpha.4] - 2024-02-14

Expand Down Expand Up @@ -156,6 +176,11 @@ All notable changes to this project will be documented in this file.

- Compile ifs

### 🐛 Bug Fixes

- Fix


### 🎨 Styling

- Format
Expand All @@ -166,4 +191,29 @@ All notable changes to this project will be documented in this file.
- Update deps
- Update version

## [0.0.1-alpha.1] - 2024-02-09

### 🐛 Bug Fixes

- Fix double return

- Fixes

- Fix

- Fix


### 🎨 Styling

- Style


### ⚙️ Miscellaneous Tasks

- Ci

- Ci


<!-- generated by git-cliff -->
89 changes: 89 additions & 0 deletions cliff.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
# git-cliff ~ default configuration file
# https://git-cliff.org/docs/configuration
#
# Lines starting with "#" are comments.
# Configuration options are organized into tables and keys.
# See documentation for more information on available options.

[changelog]
# changelog header
header = """
# Changelog\n
All notable changes to this project will be documented in this file.\n
"""
# template for the changelog body
# https://keats.github.io/tera/docs/#introduction
body = """
{% if version %}\
## [{{ version | trim_start_matches(pat="v") }}] - {{ timestamp | date(format="%Y-%m-%d") }}
{% else %}\
## [unreleased]
{% endif %}\
{% for group, commits in commits | group_by(attribute="group") %}
### {{ group | striptags | trim | upper_first }}
{% for commit in commits %}
- {% if commit.scope %}*({{ commit.scope }})* {% endif %}\
{% if commit.breaking %}[**breaking**] {% endif %}\
{{ commit.message | upper_first }}\
{% endfor %}
{% endfor %}\n
"""
# template for the changelog footer
footer = """
<!-- generated by git-cliff -->
"""
# remove the leading and trailing s
trim = true
# postprocessors
postprocessors = [
# { pattern = '<REPO>', replace = "https://github.com/orhun/git-cliff" }, # replace repository URL
]

[git]
# parse the commits based on https://www.conventionalcommits.org
conventional_commits = true
# filter out the commits that are not conventional
filter_unconventional = false
# process each line of a commit as an individual commit
split_commits = false
# regex for preprocessing the commit messages
commit_preprocessors = [
# Replace issue numbers
#{ pattern = '\((\w+\s)?#([0-9]+)\)', replace = "([#${2}](<REPO>/issues/${2}))"},
# Check spelling of the commit with https://github.com/crate-ci/typos
# If the spelling is incorrect, it will be automatically fixed.
#{ pattern = '.*', replace_command = 'typos --write-changes -' },
]
# regex for parsing and grouping commits
commit_parsers = [
{ message = "^feat", group = "<!-- 0 -->🚀 Features" },
{ message = "^fix", group = "<!-- 1 -->🐛 Bug Fixes" },
{ message = "^doc", group = "<!-- 3 -->📚 Documentation" },
{ message = "^perf", group = "<!-- 4 -->⚡ Performance" },
{ message = "^refactor", group = "<!-- 2 -->🚜 Refactor" },
{ message = "^style", group = "<!-- 5 -->🎨 Styling" },
{ message = "^test", group = "<!-- 6 -->🧪 Testing" },
{ message = "^chore\\(release\\): prepare for", skip = true },
{ message = "^chore\\(deps.*\\)", skip = true },
{ message = "^chore\\(pr\\)", skip = true },
{ message = "^chore\\(pull\\)", skip = true },
{ message = "^chore|^ci", group = "<!-- 7 -->⚙️ Miscellaneous Tasks" },
{ body = ".*security", group = "<!-- 8 -->🛡️ Security" },
{ message = "^revert", group = "<!-- 9 -->◀️ Revert" },
]
# protect breaking changes from being skipped due to matching a skipping commit_parser
protect_breaking_commits = false
# filter out the commits that are not matched by commit parsers
filter_commits = false
# regex for matching git tags
# tag_pattern = "v[0-9].*"
# regex for skipping tags
# skip_tags = ""
# regex for ignoring tags
# ignore_tags = ""
# sort the tags topologically
topo_order = false
# sort the commits inside sections by oldest/newest order
sort_commits = "oldest"
# limit the number of commits included in the changelog.
# limit_commits = 42
47 changes: 24 additions & 23 deletions lib/edlang_driver/tests/programs.rs
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,19 @@ mod common;
#[test_case(include_str!("programs/refs.ed"), "refs", false, 2, &[] ; "refs")]
#[test_case(include_str!("programs/struct.ed"), "struct", false, 5, &[] ; "r#struct")]
#[test_case(include_str!("programs/casts.ed"), "casts", false, 2, &[] ; "casts")]
#[test_case(TEST_ADD, "TEST_ADD", false, 2, &[] ; "TEST_ADD")]
#[test_case(TEST_SUB, "TEST_SUB", false, 1, &[] ; "TEST_SUB")]
#[test_case(TEST_MUL, "TEST_MUL", false, 4, &[] ; "TEST_MUL")]
#[test_case(TEST_DIV, "TEST_DIV", false, 2, &[] ; "TEST_DIV")]
#[test_case(TEST_REM, "TEST_REM", false, 0, &[] ; "TEST_REM")]
#[test_case(TEST_IF_BOTH, "TEST_IF_BOTH", false, 1, &[] ; "TEST_IF_BOTH")]
#[test_case(TEST_IF_BOTH, "TEST_IF_BOTH", false, 2, &["a"] ; "TEST_IF_BOTH args")]
#[test_case(TEST_IF_NO_ELSE, "TEST_IF_NO_ELSE", false, 1, &[] ; "TEST_IF_NO_ELSE")]
#[test_case(TEST_IF_NO_ELSE, "TEST_IF_NO_ELSE", false, 2, &["a"] ; "TEST_IF_NO_ELSE args")]
#[test_case(TEST_ADD, "test_add", false, 2, &[] ; "test_add")]
#[test_case(TEST_SUB, "test_sub", false, 1, &[] ; "test_sub")]
#[test_case(TEST_MUL, "test_mul", false, 4, &[] ; "TEST_MUL")]
#[test_case(TEST_DIV, "test_div", false, 2, &[] ; "TEST_DIV")]
#[test_case(TEST_REM, "test_rem", false, 0, &[] ; "TEST_REM")]
#[test_case(TEST_IF_BOTH, "test_if_both", false, 1, &[] ; "test_if_both")]
#[test_case(TEST_IF_BOTH, "test_if_both", false, 2, &["a"] ; "test_if_both_args")]
#[test_case(TEST_IF_NO_ELSE, "test_if_no_else", false, 1, &[] ; "test_if_no_else")]
#[test_case(TEST_IF_NO_ELSE, "test_if_no_else", false, 2, &["a"] ; "test_if_no_else_args")]
fn example_tests(source: &str, name: &str, is_library: bool, status_code: i32, args: &[&str]) {
let program = compile_program(source, name, is_library).unwrap();

dbg!(&program);
assert!(program.binary_file.exists(), "program not compiled");
let mut result = run_program(&program.binary_file, args).unwrap();
let status = result.wait().unwrap();
Expand All @@ -35,63 +36,63 @@ fn example_tests(source: &str, name: &str, is_library: bool, status_code: i32, a
}

const TEST_ADD: &str = r#"
mod Main {
pub fn main() -> i32 {
let b: i32 = 1 + 1;
return b;
}
}
"#;
const TEST_SUB: &str = r#"
mod Main {
pub fn main() -> i32 {
let b: i32 = 2 - 1;
return b;
}
}
"#;
const TEST_MUL: &str = r#"
mod Main {
pub fn main() -> i32 {
let b: i32 = 2 * 2;
return b;
}
}
"#;
const TEST_DIV: &str = r#"
mod Main {
pub fn main() -> i32 {
let b: i32 = 4 / 2;
return b;
}
}
"#;
const TEST_REM: &str = r#"
mod Main {
pub fn main() -> i32 {
let b: i32 = 4 % 2;
return b;
}
}
"#;
const TEST_IF_BOTH: &str = r#"
mod Main {
pub fn main(argc: i32) -> i32 {
if argc == 1 {
return 1;
} else {
return 2;
}
}
}
"#;
const TEST_IF_NO_ELSE: &str = r#"
mod Main {
pub fn main(argc: i32) -> i32 {
if argc == 1 {
return 1;
}
return 2;
}
}
"#;
29 changes: 14 additions & 15 deletions lib/edlang_driver/tests/programs/basic_ifs.ed
Original file line number Diff line number Diff line change
@@ -1,19 +1,18 @@
mod Main {
fn add(a: i32, b: i32) -> i32 {
return a + b;
}

fn check(a: i32) -> i32 {
if a == 2 {
return a;
} else {
return 0;
}
}
fn add(a: i32, b: i32) -> i32 {
return a + b;
}

pub fn main() -> i32 {
let x: i32 = 2 + 3;
let y: i32 = add(x, 4);
return y;
fn check(a: i32) -> i32 {
if a == 2 {
return a;
} else {
return 0;
}
}

pub fn main() -> i32 {
let x: i32 = 2 + 3;
let y: i32 = add(x, 4);
return y;
}
11 changes: 4 additions & 7 deletions lib/edlang_driver/tests/programs/casts.ed
Original file line number Diff line number Diff line change
@@ -1,8 +1,5 @@
mod Main {

pub fn main(argc: i32, argv: *const *const u8) -> i64 {
let a: i32 = 2;
let b: i64 = a as i64;
return b;
}
pub fn main(argc: i32, argv: *const *const u8) -> i64 {
let a: i32 = 2;
let b: i64 = a as i64;
return b;
}
21 changes: 10 additions & 11 deletions lib/edlang_driver/tests/programs/factorial.ed
Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
mod Main {
pub fn main() -> i32 {
let b: i32 = factorial(4);
return b;
}

fn factorial(n: i32) -> i32 {
if n == 1 {
return n;
} else {
return n * factorial(n - 1);
}
pub fn main() -> i32 {
let b: i32 = factorial(4);
return b;
}

fn factorial(n: i32) -> i32 {
if n == 1 {
return n;
} else {
return n * factorial(n - 1);
}
}
Loading

0 comments on commit b4e8957

Please sign in to comment.