atp 0.1.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 31ba0f5ad78ad309c007c6051c63abc61869d515
4
+ data.tar.gz: 1506ab571ab5b6e8fe5c992bb95e81a7d866c8a7
5
+ SHA512:
6
+ metadata.gz: 457369eaa2650117fd6477073cf192368c7041782001852498119363e5940cd4048923b93194d072400dc4430f4f05eb5b67f40da5115994c7e57e495c971a5b
7
+ data.tar.gz: 28f04f8b24bb72b32b0816d97833dfeb70809562967f7b13f1cfb096c0e9dd0b2affa38f7f0e4ad43f64a4a95c66ccfa8c1c363fbff0eb2560ff68c1d139c19d
@@ -0,0 +1,102 @@
1
+ require 'origen'
2
+ class ATPApplication < Origen::Application
3
+
4
+ # See http://origen-sdk.org/origen/latest/api/Origen/Application/Configuration.html
5
+ # for a full list of the configuration options available
6
+
7
+ # These attributes should never be changed, the duplication here will be resolved in future
8
+ # by condensing these attributes that do similar things
9
+ self.name = "atp"
10
+ self.namespace = "ATP"
11
+ config.name = "atp"
12
+ config.initials = "ATP"
13
+ config.rc_url = "ssh://git@github.com:ginty/atp.git"
14
+ config.release_externally = true
15
+
16
+ # To enable deployment of your documentation to a web server (via the 'origen web'
17
+ # command) fill in these attributes.
18
+ config.web_directory = "/proj/.web_origen/html/atp"
19
+ config.web_domain = "http://origen-sdk.org/atp"
20
+
21
+ # When false Origen will be less strict about checking for some common coding errors,
22
+ # it is recommended that you leave this to true for better feedback and easier debug.
23
+ # This will be the default setting in Origen v3.
24
+ config.strict_errors = true
25
+
26
+ # See: http://origen-sdk.org/origen/latest/guides/utilities/lint/
27
+ config.lint_test = {
28
+ # Require the lint tests to pass before allowing a release to proceed
29
+ run_on_tag: true,
30
+ # Auto correct violations where possible whenever 'origen lint' is run
31
+ auto_correct: true,
32
+ # Limit the testing for large legacy applications
33
+ #level: :easy,
34
+ # Run on these directories/files by default
35
+ #files: ["lib", "config/application.rb"],
36
+ }
37
+
38
+ config.semantically_version = true
39
+
40
+ # An example of how to set application specific LSF parameters
41
+ #config.lsf.project = "msg.te"
42
+
43
+ # An example of how to specify a prefix to add to all generated patterns
44
+ #config.pattern_prefix = "nvm"
45
+
46
+ # An example of how to add header comments to all generated patterns
47
+ #config.pattern_header do
48
+ # cc "This is a pattern created by the example origen application"
49
+ #end
50
+
51
+ # By default all generated output will end up in ./output.
52
+ # Here you can specify an alternative directory entirely, or make it dynamic such that
53
+ # the output ends up in a setup specific directory.
54
+ #config.output_directory do
55
+ # "#{Origen.root}/output/#{$dut.class}"
56
+ #end
57
+
58
+ # Similarly for the reference files, generally you want to setup the reference directory
59
+ # structure to mirror that of your output directory structure.
60
+ #config.reference_directory do
61
+ # "#{Origen.root}/.ref/#{$dut.class}"
62
+ #end
63
+
64
+ # This will automatically deploy your documentation after every tag
65
+ def after_release_email(tag, note, type, selector, options)
66
+ command = "origen web compile --remote --api"
67
+ Dir.chdir Origen.root do
68
+ system command
69
+ end
70
+ end
71
+
72
+ # Ensure that all tests pass before allowing a release to continue
73
+ #def validate_release
74
+ # if !system("origen specs") || !system("origen examples")
75
+ # puts "Sorry but you can't release with failing tests, please fix them and try again."
76
+ # exit 1
77
+ # else
78
+ # puts "All tests passing, proceeding with release process!"
79
+ # end
80
+ #end
81
+
82
+ # To enabled source-less pattern generation create a class (for example PatternDispatcher)
83
+ # to generate the pattern. This should return false if the requested pattern has been
84
+ # dispatched, otherwise Origen will proceed with looking up a pattern source as normal.
85
+ #def before_pattern_lookup(requested_pattern)
86
+ # PatternDispatcher.new.dispatch_or_return(requested_pattern)
87
+ #end
88
+
89
+ # If you use pattern iterators you may come across the case where you request a pattern
90
+ # like this:
91
+ # origen g example_pat_b0.atp
92
+ #
93
+ # However it cannot be found by Origen since the pattern name is actually example_pat_bx.atp
94
+ # In the case where the pattern cannot be found Origen will pass the name to this translator
95
+ # if it exists, and here you can make any substitutions to help Origen find the file you
96
+ # want. In this example any instances of _b\d, where \d means a number, are replaced by
97
+ # _bx.
98
+ #config.pattern_name_translator do |name|
99
+ # name.gsub(/_b\d/, "_bx")
100
+ #end
101
+
102
+ end
@@ -0,0 +1,76 @@
1
+ # This file should be used to extend the origen command line tool with tasks
2
+ # specific to your application.
3
+ # The comments below should help to get started and you can also refer to
4
+ # lib/origen/commands.rb in your Origen core workspace for more examples and
5
+ # inspiration.
6
+ #
7
+ # Also see the official docs on adding commands:
8
+ # http://origen.freescale.net/origen/latest/guides/custom/commands/
9
+
10
+ # Map any command aliases here, for example to allow 'origen ex' to refer to a
11
+ # command called execute you would add a reference as shown below:
12
+ aliases ={
13
+ # "ex" => "execute",
14
+ }
15
+
16
+ # The requested command is passed in here as @command, this checks it against
17
+ # the above alias table and should not be removed.
18
+ @command = aliases[@command] || @command
19
+
20
+ # Now branch to the specific task code
21
+ case @command
22
+
23
+ # Here is an example of how to implement a command, the logic can go straight
24
+ # in here or you can require an external file if preferred.
25
+ when "my_command"
26
+ puts "Doing something..."
27
+ require "commands/my_command" # Would load file lib/commands/my_command.rb
28
+ # You must always exit upon successfully capturing a command to prevent
29
+ # control flowing back to Origen
30
+ exit 0
31
+
32
+ ## Example of how to make a command to run unit tests, this simply invokes RSpec on
33
+ ## the spec directory
34
+ #when "specs"
35
+ # ARGV.unshift "spec"
36
+ # require "rspec"
37
+ # require "rspec/autorun"
38
+ # exit 0 # This will never be hit on a fail, RSpec will automatically exit 1
39
+
40
+ ## Example of how to make a command to run diff-based tests
41
+ #when "examples"
42
+ # Origen.load_application
43
+ # status = 0
44
+ #
45
+ # # Compiler tests
46
+ # ARGV = %w(templates/example.txt.erb -t debug -r approved)
47
+ # load "origen/commands/compile.rb"
48
+ # # Pattern generator tests
49
+ # #ARGV = %w(some_pattern -t debug -r approved)
50
+ # #load "#{Origen.top}/lib/origen/commands/generate.rb"
51
+ #
52
+ # if Origen.app.stats.changed_files == 0 &&
53
+ # Origen.app.stats.new_files == 0 &&
54
+ # Origen.app.stats.changed_patterns == 0 &&
55
+ # Origen.app.stats.new_patterns == 0
56
+ #
57
+ # Origen.app.stats.report_pass
58
+ # else
59
+ # Origen.app.stats.report_fail
60
+ # status = 1
61
+ # end
62
+ # puts
63
+ # exit status # Exit with a 1 on the event of a failure per std unix result codes
64
+
65
+ # Always leave an else clause to allow control to fall back through to the
66
+ # Origen command handler.
67
+ else
68
+ # You probably want to also add the your commands to the help shown via
69
+ # origen -h, you can do this be assigning the required text to @application_commands
70
+ # before handing control back to Origen. Un-comment the example below to get started.
71
+ # @application_commands = <<-EOT
72
+ # specs Run the specs (tests), -c will enable coverage
73
+ # examples Run the examples (tests), -c will enable coverage
74
+ # EOT
75
+
76
+ end
@@ -0,0 +1,12 @@
1
+ # This file is similar to environment.rb and will be loaded
2
+ # automatically at the start of each invocation of Origen.
3
+ #
4
+ # However the major difference is that it will not be loaded
5
+ # if the application is imported by a 3rd party app - in that
6
+ # case only environment.rb is loaded.
7
+ #
8
+ # Therefore this file should be used to load anything you need
9
+ # to setup a development environment for this app, normally
10
+ # this would be used to load some dummy classes to instantiate
11
+ # your objects so that they can be tested and/or interacted with
12
+ # in the console.
@@ -0,0 +1,4 @@
1
+ # This file will be loaded by Origen to boot your application, just leave it as
2
+ # is and modify lib/atp.rb to load the additional resources that your
3
+ # application requires
4
+ require "atp"
data/config/users.rb ADDED
@@ -0,0 +1,29 @@
1
+ # This file defines the users associated with your project, it is basically the
2
+ # mailing list for release notes.
3
+ #
4
+ # You can split your users into "admin" and "user" groups, the main difference
5
+ # between the two is that admin users will get all tag emails, users will get
6
+ # emails on external/official releases only.
7
+ #
8
+ # Users are also prohibited from running the "origen rc tag" command, but this is
9
+ # really just to prevent a casual user from executing it inadvertently and is
10
+ # not intended to be a serious security gate.
11
+ module Origen
12
+ module Users
13
+ def users
14
+ @users ||= [
15
+
16
+ # Admins - Notified on every tag
17
+ User.new("stephen", "stephen", :admin),
18
+
19
+ # Users - Notified on official release tags only
20
+ #User.new("Stephen McGinty", "r49409"),
21
+ # The r-number attribute can be anything that can be prefixed to an
22
+ # @freescale.com email address, so you can add mailing list references
23
+ # as well like this:
24
+ #User.new("Origen Users", "origen"), # The Origen mailing list
25
+
26
+ ]
27
+ end
28
+ end
29
+ end
data/config/version.rb ADDED
@@ -0,0 +1,8 @@
1
+ module ATP
2
+ MAJOR = 0
3
+ MINOR = 1
4
+ BUGFIX = 0
5
+ DEV = nil
6
+
7
+ VERSION = [MAJOR, MINOR, BUGFIX].join(".") + (DEV ? ".pre#{DEV}" : '')
8
+ end
@@ -0,0 +1,12 @@
1
+ module ATP
2
+ class TopLevel
3
+ # A simple method to get you going, to see this in action run a console session like this:
4
+ #
5
+ # origen i
6
+ #
7
+ # > $dut.hi
8
+ def hi
9
+ puts "Hello master!"
10
+ end
11
+ end
12
+ end
data/lib/atp.rb ADDED
@@ -0,0 +1,15 @@
1
+ require 'origen'
2
+ require_relative '../config/application.rb'
3
+ module ATP
4
+
5
+ # Load all files in the lib directory via a wildcard, if your project becomes
6
+ # large or load order dependencies start to creep in then you may need to
7
+ # start taking control of this manually as described above.
8
+ # Note that there is no problem from requiring a file twice (Ruby will ignore
9
+ # the second require), so if you have a file that must be required up front
10
+ # you can do that one manually and the let the wildcard take care of the rest.
11
+ Dir.glob("#{File.dirname(__FILE__)}/**/*.rb").sort.each do |file|
12
+ require file
13
+ end
14
+
15
+ end
@@ -0,0 +1,6 @@
1
+ # You can define any Rake tasks to support your application here (or in any file
2
+ # ending in .rake in this directory).
3
+ #
4
+ # Rake (Ruby Make) is very useful for creating build scripts, see this short video
5
+ # for a quick introduction:
6
+ # http://railscasts.com/episodes/66-custom-rake-tasks
@@ -0,0 +1,11 @@
1
+ % render "layouts/basic.html", tab: :archive do
2
+
3
+ ## Archive
4
+
5
+ Documentation from previous releases is available via the links below:
6
+
7
+ % Origen.app.versions.reverse_each do |version|
8
+ * [<%= version %>](<%= Origen.app.config.web_domain %>/<%= version.gsub(".", "_") %>)
9
+ % end
10
+
11
+ % end
@@ -0,0 +1,36 @@
1
+ % render "layouts/basic.html", tab: :contact do
2
+
3
+ ## Contact Us
4
+
5
+ The following engineers can be contacted about this application:
6
+
7
+ % Origen.app.developers.each do |user|
8
+ * [<%= user.name %>](http://freeshare.freescale.net:2222/my/Person.aspx?accountname=fsl\<%= user.r_number %>)
9
+ % end
10
+
11
+ %# An example of how to manually write a more detailed contact page:
12
+ %#Please use PDM For any bug reports or change/feature requests:
13
+ %#
14
+ %#* [C90TFS_NVM_tester on PDM](http://designpdm.freescale.net/Agile/PLMServlet?fromPCClient=true&module=PartFamilyHandler&requestUrl=module%3DPartFamilyHandler%26opcode%3DdisplayObject%26classid%3D2000004409%26objid%3D17718323%26tabid%3D2%26)
15
+ %#
16
+ %#For test related issues you can contact:
17
+ %#
18
+ %#* [Stephen McGinty](http://freeshare.freescale.net:2222/my/Person.aspx?accountname=fsl\r49409)
19
+ %#* [Thao Huynh](http://freeshare.freescale.net:2222/my/Person.aspx?accountname=fsl\R6AANF)
20
+ %#
21
+ %#For product/yield issues contact:
22
+ %#
23
+ %#* [Andrew Hardell](http://freeshare.freescale.net:2222/my/Person.aspx?accountname=fsl\R12635)
24
+ %#* [Eddie Lepore](http://freeshare.freescale.net:2222/my/Person.aspx?accountname=fsl\B06626)
25
+ %#
26
+ %#The manager of this project is:
27
+ %#
28
+ %#* [Wendy Malloch](http://freeshare.freescale.net:2222/my/Person.aspx?accountname=fsl\TTZ231)
29
+ %#
30
+ %#
31
+ %#Finally if you are not sure who to contact, or if your question may have device/reliability
32
+ %#implications, then you can use the Split Gate Flash Test and Reliability mailing list:
33
+ %#
34
+ %#* [Email SGFTANDR](mailto:SGFTANDR@freescale.com)
35
+
36
+ % end
@@ -0,0 +1,60 @@
1
+ % render "layouts/basic.html" do
2
+
3
+ %# HTML tags can be embedded in mark down files if you want to do specific custom
4
+ %# formatting like this, but in most cases that is not required.
5
+ <h1><%= Origen.app.namespace %> <span style="font-size: 14px">(<%= Origen.app.version %>)</span></h1>
6
+
7
+ ### Purpose
8
+
9
+ This plugin provides...
10
+
11
+ ### How To Import
12
+
13
+ ##### To use in an application:
14
+
15
+ Add the following to your application's <code>Gemfile</code>:
16
+
17
+ ~~~ruby
18
+ gem '<%= Origen.app.name %>', '<%= Origen.app.version %>'
19
+ ~~~
20
+
21
+ ##### To use in a plugin:
22
+
23
+ Add the following to your plugin's gemspec:
24
+
25
+ ~~~ruby
26
+ spec.add_runtime_dependency '<%= Origen.app.name %>', '~> <%= Origen.app.version.major %>', '>= <%= Origen.app.version %>'
27
+ ~~~
28
+
29
+ and require the gem in your code:
30
+
31
+ ~~~ruby
32
+ require '<%= Origen.app.name %>'
33
+ ~~~
34
+
35
+
36
+ ### How To Use
37
+
38
+ Give some quick start description here on how to use your plugin, providing
39
+ links to the API documents where necessary for further details.
40
+
41
+ Here is an example integration:
42
+
43
+ ~~~ruby
44
+ # Include some code examples here
45
+ ~~~
46
+
47
+ ### How To Setup a Development Environment
48
+
49
+ ~~~text
50
+ mkdir <%= Origen.app.name %>
51
+ cd <%= Origen.app.name %>
52
+ dssc setvault <%= Origen.app.config.vault %> .
53
+ dssc pop -rec -get .
54
+ ~~~
55
+
56
+ Follow the instructions here if you want to make a 3rd party app
57
+ workspace use your development copy of the <%= Origen.app.name %> plugin:
58
+ [Setting up a Plugin Development Environment](http://origen.freescale.net/origen/latest/guides/libraries/environment)
59
+
60
+ % end
@@ -0,0 +1,14 @@
1
+ ---
2
+ layout: bootstrap
3
+ title: <%= options[:title] || Origen.app.namespace %>
4
+ ---
5
+ <%= render "templates/web/partials/navbar.html", tab: options[:tab] %>
6
+
7
+ <div class="row">
8
+ %# The markdown attribute is important if you are going to include content written
9
+ %# in markdown, without this is will be included verbatim
10
+ <div class="span12" markdown="1">
11
+ <%= yield %>
12
+
13
+ </div>
14
+ </div>
@@ -0,0 +1,22 @@
1
+ <div class="navbar navbar-inverse navbar-fixed-top">
2
+ <div class="navbar-inner">
3
+ <div class="container">
4
+ <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
5
+ <span class="icon-bar"></span>
6
+ <span class="icon-bar"></span>
7
+ <span class="icon-bar"></span>
8
+ </a>
9
+ <a class="brand" href="<%= path "/" %>">Home</a>
10
+ <div class="nav-collapse collapse">
11
+ <ul class="nav">
12
+ <li class="<%= options[:tab] == :api ? 'active' : '' %>"><a href="<%= path "/api/" %>">API</a></li>
13
+ <li class="<%= options[:tab] == :coverage ? 'active' : '' %>"><a href="<%= path "/coverage" %>">Coverage</a></li>
14
+ <li class="<%= options[:tab] == :archive ? 'active' : '' %>"><a href="<%= path "/archive" %>">Archive</a></li>
15
+ <li class="<%= options[:tab] == :release ? 'active' : '' %>"><a href="<%= path "/release_notes" %>">Release Notes</a></li>
16
+ <li class="<%= options[:tab] == :contact ? 'active' : '' %>"><a href="<%= path "/contact" %>">Contact</a></li>
17
+ </ul>
18
+ <%= import "origen/web/logo.html" %>
19
+ </div><!--/.nav-collapse -->
20
+ </div>
21
+ </div>
22
+ </div>
@@ -0,0 +1,5 @@
1
+ % render "layouts/basic.html", tab: :release do
2
+
3
+ <%= render "#{Origen.root}/doc/history" %>
4
+
5
+ % end
metadata ADDED
@@ -0,0 +1,73 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: atp
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.1.0
5
+ platform: ruby
6
+ authors:
7
+ - Stephen McGinty
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2015-07-07 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: origen
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ">="
18
+ - !ruby/object:Gem::Version
19
+ version: 0.0.6
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ">="
25
+ - !ruby/object:Gem::Version
26
+ version: 0.0.6
27
+ description:
28
+ email:
29
+ - stephen.f.mcginty@gmail.com
30
+ executables: []
31
+ extensions: []
32
+ extra_rdoc_files: []
33
+ files:
34
+ - config/application.rb
35
+ - config/commands.rb
36
+ - config/development.rb
37
+ - config/environment.rb
38
+ - config/users.rb
39
+ - config/version.rb
40
+ - lib/atp.rb
41
+ - lib/atp/top_level.rb
42
+ - lib/tasks/atp.rake
43
+ - templates/web/archive.md.erb
44
+ - templates/web/contact.md.erb
45
+ - templates/web/index.md.erb
46
+ - templates/web/layouts/_basic.html.erb
47
+ - templates/web/partials/_navbar.html.erb
48
+ - templates/web/release_notes.md.erb
49
+ homepage: http://origen.freescale.net/atp
50
+ licenses: []
51
+ metadata: {}
52
+ post_install_message:
53
+ rdoc_options: []
54
+ require_paths:
55
+ - lib
56
+ required_ruby_version: !ruby/object:Gem::Requirement
57
+ requirements:
58
+ - - ">="
59
+ - !ruby/object:Gem::Version
60
+ version: 1.9.3
61
+ required_rubygems_version: !ruby/object:Gem::Requirement
62
+ requirements:
63
+ - - ">="
64
+ - !ruby/object:Gem::Version
65
+ version: 1.8.11
66
+ requirements: []
67
+ rubyforge_project:
68
+ rubygems_version: 2.4.8
69
+ signing_key:
70
+ specification_version: 4
71
+ summary: An abstract test program model for Origen
72
+ test_files: []
73
+ has_rdoc: