Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: test and lint scripts #99

Merged
merged 2 commits into from
Nov 29, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 2 additions & 1 deletion .prettierignore
Original file line number Diff line number Diff line change
Expand Up @@ -6,4 +6,5 @@ node_modules
dist
build
test-ledger
clients/bolt-sdk/lib
clients/bolt-sdk/lib
cli/src/templates/**/*
2 changes: 1 addition & 1 deletion cli/src/rust_template.rs
Original file line number Diff line number Diff line change
Expand Up @@ -47,7 +47,7 @@ pub(crate) fn create_system(name: &str) -> Result<()> {
pub fn create_program(name: &str, template: ProgramTemplate) -> Result<()> {
let program_path = Path::new("programs").join(name);
let common_files = vec![
("Cargo.toml".into(), workspace_manifest().into()),
("Cargo.toml".into(), workspace_manifest()),
(program_path.join("Cargo.toml"), cargo_toml(name)),
(program_path.join("Xargo.toml"), xargo_toml().into()),
];
Expand Down
6 changes: 5 additions & 1 deletion cli/src/templates/component/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,11 @@ pub fn create_component_template_simple(name: &str, program_path: &Path) -> File
let program_name = name.to_upper_camel_case();
vec![(
program_path.join("src").join("lib.rs"),
format!(include_str!("lib.rs"), program_id=program_id, program_name=program_name)
format!(
include_str!("lib.rs"),
program_id = program_id,
program_name = program_name
),
)]
}

Expand Down
17 changes: 11 additions & 6 deletions cli/src/templates/program/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@ pub fn create_program_template_single(name: &str, program_path: &Path) -> Files
let program_name = name.to_snake_case();
vec![(
program_path.join("src").join("lib.rs"),
format!(include_str!("single.lib.rs"), program_id=program_id, program_name=program_name),
format!(
include_str!("single.lib.rs"),
program_id = program_id,
program_name = program_name
),
)]
}

Expand All @@ -19,16 +23,17 @@ pub fn create_program_template_multiple(name: &str, program_path: &Path) -> File
vec![
(
src_path.join("lib.rs"),
format!(include_str!("multiple.lib.rs"), program_id=program_id, program_name=program_name),
format!(
include_str!("multiple.lib.rs"),
program_id = program_id,
program_name = program_name
),
),
(
src_path.join("constants.rs"),
include_str!("constants.rs").into(),
),
(
src_path.join("error.rs"),
include_str!("error.rs").into(),
),
(src_path.join("error.rs"), include_str!("error.rs").into()),
(
src_path.join("instructions").join("mod.rs"),
include_str!("instructions/mod.rs").into(),
Expand Down
6 changes: 5 additions & 1 deletion cli/src/templates/system/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,10 @@ pub fn create_system_template_simple(name: &str, program_path: &Path) -> Files {
let program_name = name.to_snake_case();
vec![(
program_path.join("src").join("lib.rs"),
format!(include_str!("lib.rs"), program_id=program_id, program_name=program_name)
format!(
include_str!("lib.rs"),
program_id = program_id,
program_name = program_name
),
)]
}
27 changes: 23 additions & 4 deletions cli/src/templates/workspace/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ use heck::ToSnakeCase;
pub const ANCHOR_VERSION: &str = anchor_cli::VERSION;

pub fn workspace_manifest() -> String {
format!(include_str!("workspace.toml"), VERSION=VERSION, ANCHOR_VERSION=ANCHOR_VERSION)
format!(
include_str!("workspace.toml"),
VERSION = VERSION,
ANCHOR_VERSION = ANCHOR_VERSION
)
}

pub fn package_json(jest: bool) -> String {
Expand Down Expand Up @@ -36,13 +40,23 @@ pub fn ts_mocha(name: &str) -> String {

pub fn cargo_toml(name: &str) -> String {
let snake_case_name = name.to_snake_case();
format!(include_str!("Cargo.toml"), name=name, snake_case_name=snake_case_name, VERSION=VERSION)
format!(
include_str!("Cargo.toml"),
name = name,
snake_case_name = snake_case_name,
VERSION = VERSION
)
}

/// TODO: Remove serde dependency
pub fn cargo_toml_with_serde(name: &str) -> String {
let snake_case_name = name.to_snake_case();
format!(include_str!("Cargo.serde.toml"), name=name, snake_case_name=snake_case_name, VERSION=VERSION)
format!(
include_str!("Cargo.serde.toml"),
name = name,
snake_case_name = snake_case_name,
VERSION = VERSION
)
}

pub fn xargo_toml() -> &'static str {
Expand All @@ -59,5 +73,10 @@ pub fn prettier_ignore() -> &'static str {
pub(crate) fn types_cargo_toml() -> String {
let name = "bolt-types";
let snake_case_name = name.to_snake_case();
format!(include_str!("types.Cargo.toml"), name=name, snake_case_name=snake_case_name, VERSION=VERSION)
format!(
include_str!("types.Cargo.toml"),
name = name,
snake_case_name = snake_case_name,
VERSION = VERSION
)
}
13 changes: 13 additions & 0 deletions scripts/lint.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
set -e
SCRIPT_DIR=$(dirname "$0")
PROJECT_DIR="$SCRIPT_DIR/.."
pushd "$PROJECT_DIR"
echo "### Checking formatting..."
cargo fmt -- --check --verbose

echo "### Checking clippy..."
cargo clippy -- --deny=warnings

echo "### Checking yarn lint..."
yarn lint
popd
6 changes: 5 additions & 1 deletion scripts/test.sh
Original file line number Diff line number Diff line change
@@ -1,2 +1,6 @@
SCRIPT_DIR=$(dirname "$0")
PROJECT_DIR="$SCRIPT_DIR/.."
pushd "$PROJECT_DIR"
cp tests/keys/* target/deploy/
bolt test
bolt test
popd
2 changes: 1 addition & 1 deletion tests/bolt.ts
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,9 @@ import {
ApproveSystem,
RemoveSystem,
type Program,
anchor,
web3,
} from "../clients/bolt-sdk";
import * as anchor from "@coral-xyz/anchor";

enum Direction {
Left = "Left",
Expand Down
Loading